All the Way Down is a downhill mountain biking game where the player must visit iconic tracks from around the world and race to the bottom to achieve the fastest times. Customize your bike, choose your path wisely, and post your best time to a global leaderboard. Wear an ANT+ heart rate monitor to track your heart rate with each run.
Alpha Playthrough Video Beta Promotional Trailer
LeagueHelper is a program created to be used in tandem with the game League of Legends. The goal is to alert a user when they are being snuck up on (or 'ganked') by an enemy player from a hard to see location. It samples the pixels of the screen, more specifically the area of the mini-map in game, and based on the shifting color content over time can guess when the player is being ganked. It then plays a sound to alert the player!
Designed some code to achieve perceptual image hashing, which is based on the appearance of the image. The hash is created to be comparable so that the similarity between images can be computed. Is resistant to visual attacks on the image such as cropping, resizing, hue-shifting, brightness adjustment etc.
Perspective is a 3D puzzle game where the player must make use of forced perspective to navigate the maze. They must alter reality to facilitate their escape!
Sensitive Willum is a 2D platformer where the player must avoid slugs from coming in contact with his sensitive skin. They can jump around and use boosters to navigate the level. A key must be found to exit the doorway at the end of the level.
Shadow is a multiplayer top-down shooter. The player can only see everything in their line of sight, while everything else is masked in shadow. Players spawn in and can shoot each other until they are out of life. The last person standing wins! Uses a server / client architecture.
Shadow Madness is a 2D platformer where the player must escape each level. They can cast shadows from their mouse cursor and then by holding left click, make them become solid. They must walk on these shadows to manoeuvre over obstacles and dodge danger.
This is a genetic algorithm designed to learn to identify the color of human skin. Uses neural networks with a population of values. Candidates combined using a roulette wheel selection based on their fitness and occasional mutations to gradually improve the model. Makes use of data from the UC Irvine Machine Learning Repository.
TimTam is an arcade game where you must burst the right colors and combo your points. Each ball 'belongs' to either red, blue or green. The player can only burst the current color or their combo will be reset. The target color shifts over time until the time runs out.
Kettlr is a project to add voice activation via google home to my kettle. Uses hardware connected to a Raspberry Pi to push the button on my kettle. A webserver living on the Pi is listening for requests to activate the kettle, coming from the IFTTT app via Dynamic DNS and Port Forwarding to the Pi within my home network. Full write up on Github Readme.
Trains is a project aiming to calculate historical performance of train journies to find those which were delayed by certain milestones (15, 30, 60 mins) in order to inform a user of compensation they are entitled to via Delay Repay schemes for late running trains in the UK.
Shopping List is a utility to allow items to be added to a Google Keep shopping list, via a google home command of, "Ok Google, we need Milk!", "Ok Google, we need Bread!" etc.
Holidays is a utility built to figure out how much holidays each person in my company has taken for the current and previous years. Interacts with google calendar apis to find days peoeple have scheduled to be off, and cleans against days like UK bank holidays and weekends.