maanantai, 8. elokuuta 2011

The road ahead

Let's face it - Outnumbered was not ready to be published when it was. Still, now that the project is out there, I might aswell make future plans public:

First milestone:
- Fully implement all HUD elements (proper score counters, health and energy bars, radar, etc)
- Implement weapons upgrade UI
- Add shields to player (the logic exists but is not in use)
- Use pre-rendered explosions instead of taking the particle system to the edge of its abilities. :)
- Modify camera control code to calculate look-ahead vector based on targeting reticle position instead of player speed.
- Tweak enemy spawn rate somewhat
- Make enemies shoot in a narrow cone instead of wherever the player is located at
- Add sounds - the sound engine project was started but didn't get very far before we had to do the beta release - the background music was hacked in. Also, some more sounds need to be created to provide a proper acoustic environment.

Second milestone:
- Add the missing post-processing pipeline (a very simple post-processing phase existed in early test builds, but was disabled because it basically just extracted bright spots from the color buffer to create bloom and lens flares and did not work on ATI - we need very standard-compliant GLSL code that interfaces with the lighting system in the graphics engine).
- Fix currently broken world-wrapping in graphics engine to provide proper support for camera zooming and rotation. The problem is known but not tracked down (it's either too obvious or too subtle to notice).
- Add main menu to the game.  The graphics for this were not complete when the game was to be released. This also includes local highscores.
- Improve skybox graphics - the skybox currently uses several very large textures, and still doesn't look quite right. Halving the texture resolution, using S3TC and adding a lightmap should bring the look of the sky up to spec. :)
- Improve enemy AI so that they don't clump together like they do now. Having several parameterised AI models to choose from would be nice.
- Add an AI supervisor, which sends enemies to the player so that there's never more than 5 seconds of dullness. It's not really good that there are places in the game where you can just sit idle for five minutes before the horde catches up to you. :)
- Add some more enemy types - variety is always good.
- Add some more spawn and destruction graphics for player and enemies.  Enemies were always supposed to enter through hyperspace vortices, but this animation didn't make it into the Assembly version.

Third milestone is still undecided but will at least involve:
- Fully switch from pre-rendered sprites to 3D models, the way the game was originally supposed to be. 3D models were not used in the Assembly version because of time constraints - the hierarchical 3D transformation code required for this functionality exists in the engine, but has not been tested and is not used because we don't have code for loading 3D models yet. This is not really as major a step as it might sound, but I'd rather concentrate on making the game work before screwing around with an unopened can of worms.
- Add tertiary weapons and superweapons for the player.
- Consider adding global highscores.


Each milestone will be posted and made downloadable on this blog. Our primary development platform is Linux, but with the Windows devbox now working (and with no deadline to generate programmer stress :)) I'll try to get Windows builds out along with the Linux builds. OSX builds are also planned (my dayjob is as an iPhone developer), but not considered critical for now (OSX can run the Linux build in Virtualbox and should be able to run the Windows build with Wine).

With these three milestones completed, the game can be considered a "release candidate", meaning that there's still a bunch of tweaking to do. Once THAT is done, the game can be considered 1.0, after which there is even more tweaking and improving to do. :)


The most compelling reason for completing this game and releasing it to the Internet is next year's assembly - Outnumbered was always supposed to be a test platform for the graphics engine, which will be reused for next year's game. Because of competition rules, the game will, unfortunately, need to be kept secret until its initial release.


- patson, coder // Lost Function

0 kommenttia:

Lähetä kommentti