Couch co-op, has always been very dear to me. There was something special about staying up till the early hours of the morning screaming at your friend because he killed you for the tenth time. It’s something that a lot of games today don’t have, so with Wingman I aimed to recreate that old-school feeling.

The game is a top down shooter with RPG elements. You fly around in a aeroplane destroying enemies, while completing objectives and collecting money to upgrade your plane. There were two mode: endless wave survival and arcade/story mode both of which could be played in true jump in, jump out co-op. It sounds straight forward but there’s alot more going on under the hood then you’d expect.


The game was built for the Xbox 360 in C# using the XNA engine.

Players could leave or join at any time which made balancing the game difficult; after prototyping more typical ways of managing difficulty I settled on developing an “AI director”. The director would watch the players and alter the game to make it easier or harder based on the player’s abilities. This would involve spawning additional enemies or dropping fewer health packs among other variables. The concept of having an all-seeing director controlling the gameplay was inspired by “Left 4 Dead 2” which also managed the game in a similar manner.

This project marks my first exposure into the higher level shader language (HLSL). This allowed the players a greater level of freedom to customise their aeroplane. A particle engine was also created from the ground up to allow unique explosions, smoke, muzzle flare and real-time damage.

Adding Replayability

After each level (or wave) you improve your aeroplane in an in-game shop, here you could improve your speed, damage etc or buy a new aeroplane entirely.

I opted for a unique code to be generated whenever the aeroplane was altered allowing you to write the code down and insert it on another console to carry your aeroplane across (just like in older games!).

However this code system allowed for a unique opportunity for inter-game marketing. The players of another game of mine “Divide & Conquer” received a code as a thank you for playing, which if entered into Wingman gave them access to a unique aeroplane, other aeroplanes were also made based on seasonal holidays or other promotions.

Wingman was in early beta at the time the Xbox XNA program closed its doors so it sadly never saw a public release.