A fast, chaotic local coop bullet hell platformer and winner of Green Man Gaming “Best UK Game in Show” at gamescom 2015. Built in Unity3D, the game took several years to make and was released on the Steam store in 2016.
I was the sole programmer and lead designer on the team at the studio Robo Pixel games. Other members included three artists, an audio engineer and a musician.
Gunnihilation required various custom written elements to support the features and performance we wanted:
- An integrated level editor, featuring an automatic tile painter and entity editor
- Custom 2D animation system.
- Tight dynamic collision grid used for world sampling by AI and particles. This lightened the performance load on the physics engine itself, improving performance.
- Custom scene loader, map format and save state.
- Custom sprite atlas importer written to allow Unity to read sprite atlases saved out in a ‘Cocos2D’ format. Shoebox was used to perform the sprite packing itself.
- XML based data driven entity system with data inheritance. Entities were defined as data sets processed by factories allowing new enemies and weapon tweaks to be added via data only. Data sets could inherit from other sets, allowing rapid sub-classing of enemies. This data could also be altered at run time, allowing for rapid testing and prototyping of various design features and balance tweaks.
- Steam integration using Steamworks.net.
As the game’s designer I decided on the final form of features to be implemented, designed the majority of the game’s levels and coordinated the rest of the team and the media they created.
The primary design challenges were:
- Multiplayer: We wanted to support both single player and cooperative play up to four in all areas of the game. Designing mechanics that would encourage and reward cooperative play whilst not affecting the single player experience.
- Variety: When designing levels for the game it was easy to create areas and challenges that were very similar. When testing and refining the game, levels were often internally altered or their order changed to keep the pacing and flow from getting stale.
- Readability: The game is very chaotic, and visual or audio game-play hints were easily lost in all the carnage. The user interface in particular went through many iterations.
- Tutorials: In fast games that demand concentration from the player, new mechanics were easily ignored, misunderstood or forgotten about. The start section of the game was designed to mix carefully teaching the player controls with sections of ‘normal’ game-play to prevent boredom.
- Difficulty scaling: The gap between new players and skilled action game veterans required multiple difficulty settings which were set manually in the level editor. The number of enemies and their types could be tweaked by hand after play-testing.
Gunnihilation at EGX 2015