As with all games, and as necessary, get your storyline, characters, weapons, levels, interface, everything on paper before you start. This way if you get stuck or forget something, you can easily just check your notes to see what to do. Then you need to design the way your game is going to work, i.e. how the gun is placed, movement, collision and the like. Next you would begin designing your main code, using whatever necessary to comply with the ideas you have already written down. Then make the includes, functions, and gosubs. After you have done all this, you should have a fairly functional FPS. However, you do need worlds and models to make any game good. For worlds, look for MatEdit. For free model makers, look at a trial of Milkshape 3D or a free GMAX.
Good luck in your game.
-Vash the Stampede
Need help? Ask me via email, msn, aim, or forums and Ill see what I can do.