Renegades of XZAR is a 2.5D Shoot-them-up made using C++ and OpenGL. This project was made in a three-person team for the university unit Games Design and Programming. The task was to design and build a game. The game had to be integrated with an existing piece of legacy software: a 3D walkthrough of the Murdoch Uni Campus.
A large part of the project involved planning the project itself, and managing our resources between other units, work, and leisure time. We followed the Scrum methodology with regular short meetings, and an iterative approach to development. We utilised Git version control and source code management, with a GitHub-hosted repository.
The scope of the project was kept intentionally narrow so that we could implement the features that the client required first (i.e. the assignment requirements), and then add “chrome” if time permitted. Our main aim was to produce a robust and enjoyable software product that would fulfill the project requirements.
- A Component/Composite architecture that all game objects were represented in. This component-based architecture made our game engine incredibly flexible, as new objects could be created simply by swapping in different components or adding completely new components.
- Versatile Enemy AI: The modular nature of our game allowed for a variety of enemies to be created, each with their own specific behaviours.
- Particle Systems: Particle systems were used to implement the bullets and explosion systems.
- FMOD Audio: FMOD Audio was implemented to bring the game to life using multiple sound effects and soundtracks.
- Menus, Game-Over and End-Game Screens: The animated and interactive screens provide a higher level of professionalism and polish.
- Perlin-noise Clouds: Procedurally generated clouds added even more polish to the product.
- Randomised Terrain/Background Creation: The procedural nature of the background objects allowed for certain aspects to be randomised. For example: Trees, farms, houses, and skyscrapers all drew on a pool of different objects which would be randomised at load-time for a slightly different experience every play-through.
- Multiple Weapons: A level of strategy was introduced in the weapons given to the player. The main gun is slow and steady, yet can fire indefinitely – whereas the secondary cannon has a devastatingly high rate of fire, yet can overheat if the player is not careful.
- Design and implementation of the Component/Composite system.
- Design and implementation of the audio system using FMOD.
- Particle systems (bullets and explosions).
- Weapons systems.
- Various game object components.
- Menu, pause, win, and lose screens.
- Asset creation – textures, sounds, and music.
- Integration, gameplay testing, and balancing.
- Git repository setup and maintenance.
Our project was awarded the Industry Selected Games Design and Programming Prize. This is awarded for the best project in ‘Games Design and Programming’, and is supported by the School of Engineering and Information Technology.
See the demonstration video:
Source Control Video
A visual representation of the Git source code control over time can be seen in the following video: