Hello, on this page you can view the projects I have undertaken to develop my knowledge:

Luna Adventure

Developed with Java using LibGDX and Eclipse. Gradle is also used to automate the building of the project for various platforms (outlined below) and Git with Bitbucket as a version control system.

Luna Adventure is a vector and physics based platformer game for IOS and Android. The game also runs on Desktop for testing purposes but it is designed for mobile and tablet.

This game was created as part of a team with Sabba Keynejad

App Store link: Luna Adventure IOS
Google Play link: Luna Adventure Android

  • Physics: bouncing, gravity and other forces.
  • Collision detection and response using lines, polygons, rectangles, circles and triangles.
  • Level Editor: levels are constructed out of lines for collision detection, then decorated with filled polygons.
  • Spatial partitioning to improve performance on lower end devices.
  • UI system and In app purchases (lives can be purchased for real world currency).
  • Data persistence: loading and saving of game data.
  • Gameplay: Moving platforms, vanishing platforms and air streams which push the player upwards.
  • Obstacles: spikes and bouncing enemy spikes.
  • Visual effects: parallax background, splash screen, death animation and comets falling from the sky.
Level Editor Screen Shots
level_editor_2 level_editor_1

Metal Forest – Hack and Slash Game

Developed with C# using the Unity game engine as part of a team comprised of artists, designers and programmers. To play the game download it from here: Metal Forest. Or watch the videos below to get a sense of the game from a safe distance!

  • Stance system (fire, ice and lightning).
  • Use fire to deal burn damage over time.
  • Use ice to slow down approaching enemies.
  • Use lightning to inflict bounce damage to clumped up enemies.
  • Close quarter sword fighting and crossbow ranged attacks.
  • In game tutorial.
  • 4 powerful abilities.
  • Multiple enemies to confront.
  • 4 levels including a boss battle.
  • Health, loot and damage system.

My main role for this project was to develop the enemy artificial intelligence for the game. I succeeded by creating the following enemy types:

  • Spider Bot – can surround the player and burrow underground ready to spring a trap when the player is nearby.
  • Ranged Bot – seeks out player and fires bullets towards them.
  • Spawners – spawn either spider bots or ranged bots, in any stance.
  • Boss – uses a variety of attack patterns: fires volleys of bullets, spins round firing many bullets, teleports away from the player when they get to close and summons spider bots which unburrow and surround the player.
  • Rhino – charges at the player and circles back round to charge again if it misses (note doesn’t feature in the demo).

I also contributed towards balancing the game play, testing and designing the game from start to finish.

Castlevania Style Platformer Game

Developed with C++ using the SDL and CodeBlocks.

castlevania_00 castlevania_01 castlevania_02

This game was developed for a handheld device called the Caanoo, in order to test my skills developing games for low end devices.

  • Castlevania style platformer game with knife throwing and close combat whip attack.
  • Camera scrolling (follows player).
  • Jumping and gravity.
  • Collision manager and Collision Interface (Observer pattern). One entity can have many collision masks (points or rectangles) and handles collisions using a call back method with collision data.
  • Reflection and factory pattern for entity creation (by giving each entity created a specific enum).
  • Image loading from text files.
  • Level loading from text files.
  • Factory style sprite creation based on if an image has a colour key or an alpha channel.
  • Custom blitting, clipping and animating code.
  • Bitmap fonts.
  • Function pointer state machine.

Level Editor

Developed with C++ using the SDL and Visual Studio.

level_editor_01 level_editor_00 level_editor_02
  • Create levels by placing and removing tiles which snap to grid (background can also be changed).
  • Selectable tiles are loaded from a text file.
  • Move camera around the level.
  • Level saves on exit to text file.

2D Games Engine and Space Shooter

Developed with C++ using the HAPI API created by Keith Ditchburn (Lecturer at Teesside University).

space_shooter2 space_shooter7

If you would like to play the game you can download it from here: Space Shooter.

  • 3 Black Boxed Components (Visualisation, World and Sound).
  • Blit and Clip textures to the screen with or without alpha (supports Animation).
  • Load sound files and play them as and when required.
  • Inheritance and Polymorphism.
  • Background Scrolling and Explosions.
  • Entity class to store position data.
  • Collision Detection.
  • Linear Interpolation used to smooth entity movement across screen.
  • Waves of enemies, Paths and Boss battle.
  • Health Bar, Scoring system, Bullet firing and Damage dealing.
  • Xbox controller support.

Tower Defence

Developed with C#, using Visual Studio and XNA.

towerDefence towerDefence4 towerDefence6

In this tower defense game you play as an alien who has crash landed on a planet and must defend your ship for as long as you can against an onslaught of enemies.

  • Height Map and Terrain following.
  • Player can move, fire bullets, jump and place towers.
  • Waves of enemies.
  • Health, Scoring system, Damage dealing and Difficulty settings.
  • Third Person camera.
  • Xbox controller support.
  • Collision Detection.
  • Money is used to buy towers and is earned by killing enemies.
  • Towers shoot bullets at nearby enemies.
  • Win / Lose conditions – base must be defended from enemies.
  • Background Music.

Other Projects

Games developed in GameMaker:

  • Bomberman, Asteroids, 2D Shooter, Final Fantasy 8 card mini game, Pairs.