Ashens and John Money is a 2D platformer created in SDL using C++ and started during the summer break in 2014 and is still being worked on.

The games story is based of this video created by YouTuber Ashens (Stuart Ashen)  and posted on his extras site

This is a tile based platformer with 7 different tiles currently implemented such as dirt, spikes and turrets. everything about the map is stored in a txt file and read by the game before the level loads. The player has the camera follow them while never showing outside of the level. While shooting the player strafes meaning they stay facing the same direction until the space button is release, allowing the player to shoot at a target while moving away. The players jump height is dependant on the length of time the button is held making it easier to shoot turrets on the roof. The enemies have their starting positions stored as a tile and when the level loads the tile is removed and the enemy created in its place. Currently there are 3 enemies, these are the "sad onions" which will travel side to side and can fall of edges or turn around at them depending on the selected behaviour. The turrets track the player always turning the shortest angle towards the player and shoot at intervals if the player is in range, the base of the turrets also rotate to match the surrounding blocks (see below). Finally there are mines, these do a large amount of damage if the player runs in to them or a moderate amount of damage if they are hit by the blast. The mines can be triggered by running in to them, shooting them or if the get caught in an other mines blast . There is currently a level editor in progress which allows levels to be created and edited with all of the available blocks.

A demonstration of the turrets rotation so the base is always on a near by block

A demonstration of the turrets rotation so the base is always on a near by block

Update: I have since created a level editor in the game that allows levels to be constructed and tested

Dropbox exe: (some dependencies will need changing)