So the last week I have started a new project. I juggled a lot of ideas for a while: A shmup, a platformer, a metroidvania clone, a racing game. At the end, I chose to try to make an FPS game. As challenging as those games are, technically speaking, it's the genre I have the most fun with and play the most the last years. So I thought that I should try that way.
As usual, I'm making it with C++ and OpenGL. I am a bit reluctant to work with C++ and I would prefer, say, C#, but I am using too many C/C++ libraries(Newton,OpenGL,Cal3D,OpenAl,SOIL) and I wanted to avoid the headache of interfacing with them. I am making the 'engine' myself, for no other reason than that I like doing it, I learn some stuff, and that I'd like to say that I made this all on my own. Practically speaking, it's not the most wise choice. If you strictly want to make a game as fast and as well as you can, your best bet *is* an existing engine, such as UDK or Unity3D(or the newly released CryEngine3). But, as I said, I'm interested in the technical aspects, so I went with making my own engine, which of course can't possibly compare to those beasts, but at least I can boast that I made it by myself
One of the biggest obstacles have been the lack of art. Fortunately, over the past years I have piled up a good amount of texture and model art. I have bought mainly from dexsoft-games.com some very nice texture packs, sci-fi prop and machinery models, and various animated character models(including an elite trooper, a futuristic warrior-infiltrator, a mecha warrior, and a sci-fi orc enemy). I think those will suffice to make one good sized game level. After that I will probably go to the usual place, Help Wanted, and see if I can get artists to form a team, but I am adamadant this time around to complete most of the game coding before I do that. So, for the time being, I will do the level design. It won't be the best, but, given I invest some time in it, it could be enough for a showcase.
So, without further ado, a video of a very very early state of the game:
The level is something I mocked up in a few minutes, for testing purposes. Right now, not much is there: There is basic texturing and static lighting(but not dynamic), there are basic physics so you can look around, you can use your gun, and there are enemies placed in various places. The enemies can actually follow you around and even shoot, but I turned that off for this video. Next important milestone is to integrate Cal3D animation into the game. I have used that library many times so I don't expect any major problems there, I'm just worried a bit in case some models happen to not play nice with the format. But all that is mostly fixable anyway.
Finally, one other thing I'm doing is playing some new and old FPSes, and get a feeling of their level design and enemy placement, which is pretty important. I'm trying to decipher what makes a good level, and how the enemies are best placed and move, as to offer a good challenge and a good gaming experience in general. I am scanning the net for some articles on that subject too. It's not an easy one, but it is the factor that, among some others, makes or breaks the game.
So, let's see where this effort leads me...
The game looks good so far. Keep it up!