I'm currently on a degree in Computer Games Programming and have a year and three months before my final year (Iím on placement next year). I thought it a good opportunity then, to start working towards a few ideas for my final year project. I don't have much information on what I can/can't do for my project but Iím assuming we're allowed to make a game. With this in mind I plan to make a basic game engine (its pushing it a bit to call it an engine but you know what I mean) that covers the main components of a game and have easy to use interfaces. The aim is to simplify and speed up the production of a basic game world. I thought I could perhaps ask for some advice on what aspects to cover. These are the areas I have thought of:
* Per object material support.
* Texturing. BMP, JPG and TGA file formats.
* Picking support for user interaction.
* Frustum and visibility tests (use of BSP trees)
* Support for sound. Probably OpenAl (though I haven't looked into that yet)
* Bill boarding.
* Terrain support using height maps.
* Support for .3DS, .X and MD3 file types.
* Light maps.
* Collision Detection and response.
* Animation system with quaternion support.
* Flexible camera system - implementations for both FPS and 3rd person views.
* Environment mapping.
* Particle engine. Perhaps full implementation of a few common uses of particle systems: rain, fire, explosions etc.
* Menu system both at start and in game.
Do you have any ideas for further areas? Or perhaps think some of the areas listed aren't worth implementing? Any advice will be appreciated.