This is a learning experience.
I'm currently experimenting on a small first-person-shooter before I move onto those elements in my main title, DarkStar.
Let's cut through the crap. Here's the features I intend to include:
Key

: Planned feature

: Completed feature

: In progress

: Probable feature

Map Loading from Custom Scripting Language

Entities

Physics (to an extent)

Immersive gameplay and interesting backstory

Large range of authentic, unique weapons.

Humorous voice-overs (think Grunts from Halo.

)

Vehicles

Level editor

Explosions!

Long campaign

Multiplayer
As for vehicles, they'll just be a class that inherits from my PhysicsObject class. Don't worry, I'll find a way. xD I'm planning on doing raycast vehicles for the ones with wheels, with full, realistic suspension. I might even add cloth, if I can do it good enough.
For the custom scripting language, it's pretty simple. The structure and syntax is very simple. It's not really a scripting language, more of a data format system.
It has "blocks", groups of values enclosed by
{BLOCK_NAME}
values
{/}
The values are simple, too.
value1=42;
Here's an example I might have.
{WORLD}
player_spawn_x=0;
player_spawn_y=0;
player_spawn_z=0;
level_name=Another Stupid Example Name;
{/}
{PHYSICSOBJECT}
name=A Piece of Beef;
interactive=1; ~a comment! :D Bool values are 0 or 1.
pos_x=0;
pos_y=10; ~lol lets drop it on their head.
pos_z=0;
rot_x=0;
rot_y=0;
rot_z=0;
{/}
Kaos-Script status can be found
here.