Archive for October, 2009
Star Horn (or Star Hike, depending on who you ask) was a group assignment for a computer graphics class in my undergraduate course, and my first major 3D game project. It is written in Java, and makes use of the JMonkey game engine.
Initial coding for the HUD and asteroid scene classes was done by other members of the group, as was the work done towards acquiring models, textures, sounds and other resources. On top of work I’ve done over time adding to the aforementioned code, the rest of the code – the core engine code, the gameplay, AI, et cetera – is mine. @author tags in comments should show what code is not mine.
The AI system here was fairly ambitious and only basic elements were working for the final submission; many ideas from it have been carried forward to Battle for Polaris, which is in many ways a continuation of the project re-designed and re-written for OGRE and C++.
- Control a space ship in a 3D randomly-generated asteroid field
- Use of graphical effects, such as particles and lens flare.
- Three weapons: mass driver, laser and homing missile
- Fight off increasing waves of AI enemies to beat your score
Although Battle for Polaris is in many ways its successor, I plan to keep working on this game as a more straightforward arcade action game.
- An easily-executable download version.
- High Scores screen.
- A better HUD.
- More varied enemy ship types.
- More advanced AI, including coordinated groups and simple adaptivity when choosing ships for the next wave.
- Power-ups and upgrade purchases.
- The ability to travel between sectors.
- There may still be a pesky crash bug or two.
- Ship rotation could be smoother for the first-person camera.
- Some other optimisation could improve and smoothen the gameplay.
- Particle effects could use some tweaking for appearance.
StarHorn Eclipse Workspace including JMonkey (.ZIP, 60.8 Megabytes)
Work on the 0.2 feature release of Battle for Polaris is progressing, and is currently almost complete. Some minor changes have been made to the targets put out in the road map, summarised below. The main difference is that the tutorial system has been expanded into a more general and flexible “mission” system specified by config files.
- Major code tidy-up and commenting
- Restructuring of the configuration system to accommodate scenarios & avoid duplication (new)
- The framework for the configurable mission system that uses triggers & events
- Proper texture/material importing from Blender, so that we can more easily add new ship types, planet atmospheres, and so on. (moved back from 0.3)
- Implementation & testing of a tutorial scenario using the new mission system
- Rebalancing of ships, weapons and example skirmish scenarios
- Some minor code restructuring (namespaces)
- Implementation & testing of “Instant action” mode using the new mission system (new)
Moved Forward to 0.3
- Interface improvements, including click-selection of ship groups