top of page

PROJECTS

GAMES

HELL IN A CELL

A top down monster shooter, Hell in a Cell was the first Unity game I ever created and is available to download on Itch.io.

 

I created all the assets myself using a the novel technique of taking 2D snapshots of 3D models I created within MagicaVoxel. I also created my own soundtrack to accompany the game using Garage Band.

​

Dev time: 150 hrs

SATAN'S SIM

Satan's Sim was my first attempt at developing Web games using HTML, CSS and JavaScript. It uses a text and button based interface to tell the story of the unfortunates sent to hell. 

​

The game uses a Karma system to choose the path the story will take. The player first fills in a short questionnaire to customise their character and calculate their initial karma. The decisions the player then makes in game effects their over all karma and story. 

​

Dev time: 70 hrs

BIG BALL BLITZ

Big Ball Blitz is my first attempt at creating a 3D Unity game with a unique game mechanic. 

 

I created the unique 3D projectile launching mechanic in which the projectile collides with a variety of objects within the scene giving different physics effects... including explosions and fire! 

 

The main goal of the game is to inflect as much damage upon the little village as possible using your glide and fire abilities to tactically hit objects and explosives.  

Available for download on itch.io! 

Dev time: 200+ hrs

MODELS

ANIMATED DOOR

For my first dive into 3D modeling I was tasked with developing a small scene with an animated door.

​

I created a small alchemy library scene with a hidden bookshelf door, which is triggered by a sliding book. For this I also recorded Foley audio using items in my room to match the expected audio within the scene. 

​

Dev Time: 25 hrs

CLIENT BEDROOM

Another task I was set, was to model a bedroom from an interview with a client, that gives an accurate portrait of the individual. 

​

I interviewed a fellow student on their room contents, size, style and personal tastes. I also asked questions about the audio elements within their room, such as the ambient sound that can be heard, and their music tastes, to be implement in the model scene. 

​

Dev Time: 25 hrs

GROUP PROJECT

For one of my scenes I was charged with creating a an external asset pack within a group of 4. We decided to put a spin on the specification and model a birdhouse within a nature scene. To keep to the external spec, we used an open plan structure and personified the bird to have human like home features. 

​

We divided the modeling between the 4 of us, each modeling certain rooms and appropriate scene aspects, working from a base template. we then came together to texture, light and design the scene shown. 

​

Dev Time: 25 hrs

THE FACTORY

For the other half of my Modelling Module I was challenged with research, design and develop a large area seen such as a street. We had to consider the overall user experience including: audio, visuals and iterations. 

​

I chose to develop a horror scene in which you play as a detective investigating an abandoned factory interacting with objects in the scene to trigger voice clips, open a secret area and ultimately meet your demise to a monster.

​

I am pleased with the end result with the player being fully voiced, tight interactions and fully UV unwrapped and textured detailed models.

 

If I was to perform the task again I would definitely consider the story development further and how the environment has such a dramatic effect on this.  

​

Dev Time: 150+ hrs

All models shown are available in one unity executable on itch.io to experience yourself

SOFTWARE

OOP & GUIs

For my first large C# project, I was given a specification for developing a GUI driven program that reads in .CSV invoice files, that allows calculations and manipulations of the data and outputs to a graph.

​

Although I did not fulfill all the desired features of the application, the software still reads in the .CSV files, converts each invoice to an object, allowing manipulation and searching of the data. A graph can also be drawn from the data, however I struggled to implement a scaling system for the drawing panel to give a more accurate representation for the data.  

​

Overall this was a intense yet rewarding project experience.

​

Dev time: 70 hrs

DATA STRUCTURES & ALGORITHMS

My Data Structures, Algorithms and Mathematics project was based around Set Theory.

​

I created a linked list data structure using nodes to represent an item in a set. A node holds the value of that item and a reference to the next node in the list. 

​

Functions had to be performed on the sets including: adding/removing items, presence checking, random set generation, and calculating the union/difference/symmetrical-difference/intersection between 2 sets, as well as all the possible Power Sets.

 

I also implemented a way of calculating the maximum capacity of the Linked List data structure on a given machine. 

​

This project was a brilliant learning experience and I gained  a vast amounts knowledge from it, especially with regards to the implementation of abstract data types. 

​

Dev time: 100 hrs

​

OOP PROGRAMING & DESIGN - USING DESIGN PATTERNS

For my Java OOP programming module I was tasked with designing and developing a university Keycards scanning system. The software must allow the user to add and remove locations: 

(campuses > buildings > floors > rooms),

and add remove User's Keycards. 

 

Each user has a role and only certain roles are allowed access to certain rooms within specific time slots, to which we must simulate the rooms accesses. Moreover Locations can have their emergency state changed: in emergency on the emergency responder roles are allowed access tot he room, and in normal mode, emergency responders cannot access any room. 

​

All creations, accesses and state changes must then be logged to a log file, for that specific day and state. All locations, states and keycards should also be able to be saved and loaded in., and keycard roles changeable.

​

When designing my program I spent a long time considering the most efficient and appropriate method of representing a system like this. I chose to represent the Locations with a tree structure, meaning states could be cascaded down the location tree. for example campuses have building children nodes, and buildings have floor children nodes and so on...

​

Design patterns Used:

- Observer: to notify logger when changes occur and thus to log to file.

- State:  Depending on the state of a location the appropriate access request method is called when Scanning cards. 

-Factory: for creation of rooms and keycards 

- Singleton: ensure only one instance of the logger ever exists.

​

All SOLID principles adhered to. 

​

This was by far the most challenging software project I have undertaken but my knowledge in the designing and development of such software has increased ten fold.

​

If I was to do this project again I would research and develop into ensuring that all room and keycard creation was encapsulated to their appropriate factories, as this was something I could not achieve by myself. 

​

Dev Time: 200+ hrs

bottom of page