SF logo

[ SourceForge.net ] [ Happy Penguin ] [ FreshMeat ]

nmaFPS - A first person shooter.


To create a simple, portable 3-D First Person Shooter game.


The Game

The aim is to shoot down as many 'drones' as you can in the arena you play in. If the number or living drones exceeds 10, you lose. The drones appear at random places at regular intervals. Colliding with a drone also ends your life.

The arena is enclosed by walls and you start at its center. You have got limited number of bullets to kill the drones. You can replenish your ammo by picking up ammo packets that appear as yellow spheres with stripes.

The bottom of the screen shows you the game statistics.


Player movement
ForwardUp arrow
BackDown arrow
LeftLeft arrow
RightRight arrow
RunLeft Shift
Fire missileSpacebar
Toggle game stats displayTab
Toggle map displaym
In-game menuEscape


The game expects a config file named .nmaFPS in the users home directory. If that file doesnt exist, it uses a system-wide config file located in '/usr/local/share/nmaFPS/conf'. Currently, the following options are supported.

Option nameDescription Allowed values
WINHEIGHTWindow heightNumeric values.
WINWIDTHWindow widthNumeric values.
FULLSCREENTo go fullscreen or not1 or 0
STARTLEVELThe level to start with. Number
TEXTUREDIRName of texture images directory String
SOUNDEnable sound.1 or 0
DIFFICULTYDifficulty setting1 : Hard, 2 : Normal, 3 : Easy

A sample config file is provided with the game.


  1. Better physics for movement.
Suggestions and ideas are welcome.


Mail bug reports here or (preferrably) use Sourceforge's bug report system. Please drop in you valuable comments after expiriencing the game.


  • Credits should go to the libSDL team for providing such a great library for game programming.
  • libgltext saved me a LOT of trouble as far as text rendering was concerned. Thanks to Ben Scott for that.
  • Erik Ljungstroem fixed some of the code to comply with C++ standards.

Author - Narendra.M.Acharya. E-Mail - ymanma@users.sourceforge.net
Website - libox.sourceforge.net