Hello, on this page you can view the projects I have undertaken to develop my knowledge:
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
- 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
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.
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.
Developed with C++ using the SDL and Visual Studio.
- 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).
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.
Developed with C#, using Visual Studio and XNA.
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.
Games developed in GameMaker:
- Bomberman, Asteroids, 2D Shooter, Final Fantasy 8 card mini game, Pairs.