Projects

Projects

On this page you will find links that will allow you to download executables and code files, for all of the games I have made or been involved in making.

Before downloading any of the files, you must ensure that you have the Visual Studio 2015 redistributable installed and the DirectX end user redistributable installed on the machine you want to run the games on. If you have any trouble accessing any files then drop me an email.

Project 1 - Sphere Game

This was the first project created using the TL-Engine, a C++ API used in my computer programming studies (link for further info). The aim was to create a simple game that involved 3 spheres moving around a set route along the floor. The user is able to move the camera, change the speed of the spheres, swap the skins of the spheres and they can also raise the spheres off the ground, doing so will also stop the spheres from rotating. Download

 

Project 2 - Worm Game

This was the second project undertaken during my studies and was more complex than the Sphere Game. The end result we had to produce was inspired by the 1982 classic Centipede. This project was used to asses our understanding of collision detection, both sphere-sphere and sphere-box, as well as our ability to use arrays to process operation and functions that would occur multiple times within the game loop. This also introduced new concepts such as using enumerated types to control the states of different entities within the game and using functions to reduce the amount of repetitive code as well as reducing the amount of debugging required. Download

 

Project 3 - Racing Game

This is the most recent game made using the TL-Engine. The requirements of this game were to create a race track, implement collision detection between the human player and the surroundings such as walls, barrels and the race checkpoints. Whilst implementing an AI car that would race around the track by itself and change speeds at different points. This game was difficult to produce initially, however once the collision detection for the human car was implemented, the same code could be reused for the AI car shortening the overall process. Download

 

Project 4 - Bridge Builder Game

The aim of this group project was to create a game that could be used by the Young Scientist Center (YSC) at UCLAN to teach primary school students different aspects of science in a fun and engaging way.

As a pair we decided to make a bridge building game to explain the concept that different materials have different properties such as weight capacity, size and cost.

The aim of the game is to create a bridge out of the materials given using a set budget, to allow a wide range of vehicles to cross a gorge. If your bridge isn't strong enough then it will collapse and the vehicle will be destroyed. For this project we were allowed to pick the game engine we used to create the game. We decided to use Unity since it is fairly easy to use and I feel this piece of software enables me to practice transferable career based skills.

More information and a playable game is available here.

 

Project 5 - Direct X Graphics

This was the first project created that involved Direct X and HLSL. The aim of the project was to create a simple scene to show off multiple different effects including defuse and specular lighting a spotlight and point lights, vertex manipulation to makes cubes ‘explode’, specular maps, normal maps and parallax mapping and multiple blending effects. This project gave me the chance to become more accustomed to working with Direct X and fx files which was useful for my future graphics project.

 

Project 6 - Advanced Direct X Graphics

This was the second project created using Direct X and HLSL, however this time the focus was on post processing effects and how they can be used to apply different effects to either the whole screen or individual screen regions/areas of the game world. Having previously worked using Direct X this assignment built upon techniques already used in the previous assignment and also introduced new ones such as depth of field and Gaussian blurs.

This project was challenging as it required the implementation of techniques which built upon the knowledge acquired from lab sessions and required lots of extra research for the more complex effects such as depth of field and bloom.

I decided to implement a Windows GUI for this assignment to make the application easier to use for demonstration purposes. This was one of the most challenging aspects of the assignment because it required the integration of two separate programs as well as the linking of multiple libraries and code files.

 

Project 7 - Tank Game - AI Messaging System

The aim of this project was to implement my own entity management and messaging system to better understand how communication between game entities should ideally occur.

The game scenario was a simple battle between tanks on different teams. The tanks would patrol and rotate their turret around until they found a target, which they would then fire at. If the shot hit then the tanks would send messages to each other to apply damage and update scores. A top level messenger was used to start the game via a broadcast message and could also be used to stop the game.

This project also made use of camera picking to allow the user to select tanks and then click in the game world to send the tank to that position.

 

Project 8 - Internet Sleep Game

This project was developed using HTML in the Phaser Game Engine and was an Internet browser game based around the idea of sleep/dreams. This was the first time developing a game for an Internet browser as well as using Phaser. This game consists of two levels both of which have different perspectives - 2D Sidescroller and top down. JSON files are used to set up the game worlds and sprite sheets are used for all animations. This game was also altered to make it compatible with mobile.

Facebook is integrated into this game which allows the game to display the players name and picture and it also allows the player to save their high scores as well as make game saves. SQL databases are used to store both the highscores and player save data and PHP and SQL are used to retrieve this data.

 

Project 9 - MMApp - iPhone application

This application is made for iPhone use and is a companion application for new Mixed Martials Arts fans to help them gain knowledge on the sport and keep up to date with the latest news and rankings.

This was my final year project and was also the first time creating an application for an iPhone as well as the first time using Swift and XCode. As a result, this was the most difficult project as I had to learn the programming language whilst creating the application, however this was also the most rewarding and fun project due to the difficulty of it.

This application makes use of Firebase, an online database hosting service which also allows Push Notifications being sent to users. Firebase is used to store all information relating to fighters and events, as well as images of each fighter, event and techniques.

Firebase is also used to send messages/notifications to users of the application. These messages can be used to alert users of breaking news, tickets sales or event changes.

PayPal is also integrated into this application to show how tickets sales could be handled if the application were to be released on the iTunes store.

Home   About   Contact Us   Projects   Videos