I promise that one day this journal will have something more entertaining than my I’m-Planning-On-Making-This-Cool-Game ramblings. In the interim, I present to you my general (and likely highly incomplete) plan of action (not including creation of art/level/music/sound assets, which will sort of happen as necessary):
- Get the graphics engine to the point where it can display a level, though without the greatest of visual quality (probably simple directional lighting, crap texturing, nothing that will make a pretty screenshot. It won’t look pretty, but it’ll work).
- Implement the driving-on-track code (i.e. keeping the vehicle on the track, bouncing/sliding against walls, controlling the vehicle)
- Implement some form of AI for the opponent cars. At this point, the game will be “playable” in a weak sense
- Begin implementation on the sound/music code. Get basic engine sounds, collisions, etc working.
- Begin to improve the graphics engine, by implementing the lightmap generator, getting new shaders written, particle systems, etc. Add some polish
- Begin work on the menuing system. Get a title screen/etc.
- Work on enemy AI. Make it drive better, make it tuneable (i.e. difficulty levels).
- If I’m going to do network code, I’ll probably want to start work on it right around here
- Start polishing the sound engine a bit (Add ability to have ambient sounds in the levels, doppler effect, all sorts of other audible cues)
- Get the graphics engine to the point that no more code changes will be necessary
- Begin fleshing out levels, start chaining them together into circuits
- More polish. Make the menus look cooler, tweak performance, all of that jazz
- At this point, the game will be highly playable, so anything past this is pure candy. HDR rendering? motion blur? If there’s time.
There are also some considerations that I will be attempting to make over the course of the whole development:
- The game needs to be, above all else, fun. If I’m not having fun playing it, then why should I even be making it?
- I am going to try my hardest to minimize load times. That is a very big priority for me. I hate waiting for games to load.
- The driving control will be simple and easy. I have a great idea for mouse-driven steering (which may or may not be original, but I haven’t seen it personally) that I prototyped a while back…It’s definitely fun, but it needs tweaking. Probably in the form of a control options screen, with a good default setting.
- The graphics code should be easily extendable. I’d like to be able to add higher-quality versions of the existing effects in the future (i.e. add some PS3.0 support for full-scale displacement mapping or such).
Hm. For the three of you out there that happen to keep tabs on this journal, if you see something (rather, fail to see something) important that I’m missing, please let me know. I’m new to this whole actually-trying-to-FINISH-a-game-in-this-lifetime thing.