Portfolio


Battle Chefs

Details

  • Language:
    C++
  • Libraries:
    OpenGL, GLM
  • Platform:
    PC
  • No. of players:
    2

Description

A top-down multiplayer cook-em-off. Go head-to-head against a friend/foe – pickup your food and cook it (or throw at your enemy!).

There is only one place to cook so be wary – don’t let your opponent steal your food.

Objective

I wanted to explore a local multiplayer game with its central mechanic revolving around a particular hook – in this case a singular cooking space that both players must share and fight over.

I focused quite hard on the movement and game-feel of the of the player characters, making sure it felt good to play. This involved rigorous tweaking of movement speeds, adjusting feedback of interactions e.g sound effects, interactive objects change shade when a character is next to them and including an input buffer for interacting, so players don’t have to be perfect.

About

Modes:
  • Delivery: First to cook all 3 foods, and deliver them to the table.
  • Highscore: Cook as much food as you like in any order. Store the food away in your side’s box to gain points.

Play with two controllers, one for each player.

Controls:
  • Dpad – Menus
  • Dpad/Left Stick – Control player
  • A – Interact/Confirm
  • X – Throw Food
  • LT/LB – Lock player orientation
  • Start/Menu – Pause/Resume

Has full controller support. Built from scratch using my own OpenGL framework.


2D OpenGL Framework

Details

  • Language:
    C++
  • Libraries:
    OpenGL, GLM
  • Platform:
    PC
  • No. of players:
    1

Description

A 2D OpenGL Framework, showing off features with a 2D sidescroller example. Has support for arbitrary sized tilemaps (background and foreground), sprite animation, parallax backgrounds. Collision is done using Separating Axis Theorem. Made using OpenGL.

Currently in development. Check out my Twitter for updates.


Avoid 3D!

Details

  • Language:
    C++
  • Libraries:
    OpenGL, GLM
  • Platform:
    PC
  • No. of players:
    1

Description

Avoid the obstacles for as long as possible!

A project I’ve been developing to better my understanding of 3D development. Infinitely generates obstacles for the player to dodge. Includes text support and model loading, as well as lighting calculated in glsl shaders. Collision is done using the Separating Axis Theorem.


Puzzle Platformer

Details

  • Language:
    C++
  • Libraries:
    SDL2
  • Platform:
    PC
  • No. of players:
    1

Description

Final year project to showcase the various different techniques within one single game. Includes support for animation and audio, raycasting and line of sight and my own personal simple physics.

Levels were built with the theme of instructive level design. The player may know the basic controls, but how the different mechanics within the game interact with other and their character is taught through level design and player experimentation.

Hide And Seek

Details

  • Language:
    JavaScript, TypeScript
  • Libraries:
    Phaser.js
  • Platform:
    PC
  • No. of players:
    2-4

Description

An asychronous multiplayer game developed in JavaScript designed for 2-4 players over a server using WebSockets. Players are split into two teams, Seekers and the Hider. As a Seeker, your job is to chase and catch the Hider, while the Hider has to keep themself away and hidden from the Seekers.


Threejs topology

Details

  • Language:
    JavaScript
  • Libraries:
    threeJS, JSON
  • No. of players:
    1

Description

Developed during my placement year at Cisco. This app takes JSON data from a node topology in the United States and recreates it in 3D.


Dungeon Generator Tool

Details

  • Language:
    C++
  • Libraries:
    SDL2
  • Platform:
    PC
  • No. of players:
    1

Description

A tool developed to assist in the creation of roguelike games. Randomly generate your own dungeon floor, customise and save individual room layouts for later generation, and export full floor layouts for game development.


Mobile Level Editor

Details

  • Language:
    Java
  • Libraries:
    Android SDK
  • Platform:
    Android
  • No. of players:
    1

Description

Developed with Java for Android, this app is designed as a simple level editor to build and test environments with touch controls. You can choose to place or delete solid tiles, add/move moving platforms as well as the player position.

Test the level, and tap to move the player.


Turn-Based Strategy

Details

  • Language:
    C++
  • Libraries:
    SDL2
  • Platform:
    PC
  • No. of players:
    1

Description

Developed using SDL2 and C++, this mini-game is a tile-based, turn-based strategy. You and the enemy are given two units and your objective is to destroy the other team’s units.

Showcases use of SDL2 with C++, a modified Dijkstra’s algorithm, basic AI and animation.


Top