Happy new Year!
I’d like to write down what the year 2005 meant for my game and what I plan to do in the future.
After many previous attempts I started my first sensible game project in april. It never had a useful name and I published screenshots only in a forum that is inaccessible for the general public. I used C as language, SDL for window management and user input, OpenGL for graphics and FreeImage for texture loading. I choose the latter because I couldn’t get DevIL, which I initially wanted to use, to work.
The goal of that game never was fixed at all. I had some sometimes, but none of them were realistic. I abandoned the project long before I had collision detection, network, sound or even loading a level (except for the one written directly into the program), so that never was trouble at all.
I had a lot of different problems. First of all, I fought to get a Battlefield 1942 loading, then I fought to get the textures loading. The camera took a lot of work as well, but finally worked. At the same time I had to deal with details such as a load screen.
Later, I got static objects working, even with cube mapping. This took a real lot of time. Some problems I couldn’t get solved, especially displaying text and 2D interface elements (such as minimaps).
The project was abandoned at the end of july for a number of different reasons. The one that actually was relevant to game development was that using plain C was a really stupid decision. Don’t get me wrong, you can do really cool things with C and you have to use bits and pieces of C everywhere and there is great software written with C. But there are a number of areas that are really painful.
So the new game I started used Objective-C, a language on top of C, that facilitated all these things. Using Apple’s Cocoa framework, a lot of things that were very difficult in the old game posed no problems at all in the new version.
What do I need to say about the new game, it’s all here on this homepage for you to read if you want to. The most important decision right after using Objective-C was certainly to use Newton for about anything that isn’t graphics. It took me some time to figure out the basics, but it is very easy to use once you found out what you need to do. It says physics engine on the box and it is great in that respect. But it can easily be used for a lot of aspects and I did, it is used for camera handling, player movement, checkpoints and so on.
Some problems of the old game continued here. I went from QTKit (Quicktime based, easy to use, Mac only) to DevIL (even easier, but requires lots of supporting files being installed by the user, Mac, Linux and Windows) to Quicktime (awfully hard to use, I have no real clue what my code is doing now, Mac and Windows) for texture loading. I went from a camera with normal angles over to a camera with quaternions over to another one with quaternions until I ended up with the current Newton version.
By the way, the initial release was planned for the end of november, with a Windows version ready for my birthday LAN at the 4th of december. Well, it didn’t work out that way. The LAN was pushed back to the 29th (and was lots of fun then) and the release is quite far away, still today. Nobody nows, not even I, when a Windows version will be released.
If I manage to release this game, it’ll be my 2nd one at all and the first with 3D. Will I manage to? No idea, but chances are better than ever. I cannot give you a reliable time frame, it’s done when it’s done. For the release I’d need objects, textures, maps and so on. However, I suck at creating those and prefer programming. More programming isn’t bringing me nearer to the first release, but still, it’s what I’m doing right now.
My plans for the near future:
- There will be a complete railroad system, based on Newton again. The first Version will only go in a straight line, but code for more is already being written.
- I’m so gonna redo the weather system, so that the snow will finally look like it should.
And what happens in the long term?
- The whole user interface will be rewritten to use only OpenGL. This is absolutely required for a more or less painfree Windows port. This also means that the first Windows release should coincide with the second Macintosh release.
- I’ll do sound with OpenAL and complete surround support. Technic isn’t the problem here, I cannot figure out where I can get free high-quality sounds to use in my game.
- There’ll be network support, only LAN at first (so I don’t have to deal with the high latencies of Internet play). Don’t press me on this, that could take a while.
- Humans, including ragdoll physics and a first person view.
Let’s see what I’ll manage to do and what I’ll add over the course of the next year.
Happy new year!
Written on December 31st, 2005 at 05:49 pm