First Person Shooter
I wanted to start a new programming project and decided to try an FPS. Its still in the early stages of development and I'm not quite sure what to do with it (story, setting, etc..). I'd like to do something with Cold War era espionage; three-quarters role playing, one-quarter shooter, but we'll see. For now I'm focusing on learning to make OpenGL and 3D math work. At the moment, the plan is to develop for Windows only. The game is using OpenGL for the graphics API and OpenAL for audio.
AK-47 Model
This is nothing major; just figured I'd show it here. I've been using Blender for many years and needed to make a weapon for
the game. It was modelled using several reference images but mostly
this one.
Here is an image of it in-game shoulder-fired and also
sighted-in. It does kick, the bolt handle cycles, and the firing
rate is roughly accurate.
A Good Start
The base of the code came from the NeHe Tutorials and has grown to approx 3500 lines.
First, I wrote an MD3 (3D file format) loader function using
this specification. The next step was to convince my
favorite 3D modelling program, Blender, to export models as MD3 using this
MD3 Import/Export script
I found on the web. After that it was time learn some texturing (loading from TGA for now) and lighting.
From there, an epic battle was waged against transformation matrices to create the familiar mouse-look, ADSW-move FPS movement
system. Then I had to learn trigonometry again to write the collision detection code. So far, I haven't made wall-sliding
work; for now the player just stops when hitting a wall (or any object). From here, I did a little more math and made the
player able to shoot bullets (whose collision positions are used to create bullethole decals). After that, it was obvious that
those bulletholes needed some flying debris; so I added a particle system. Then to make things fancy-looking, I made everything
shaded by GLSL. At this point, it uses point per-pixel lighting and normal-mapping for that bumpy-surface look.