DevOps

GitLab + Unity

A PoC CI/CD pipeline for Unity in GitLab
I set up this pipeline to demonstrate what a simple CI/CD flow could look like using Unity & GitLab. The pipeline leverages the unity Docker image 'gableroux/unity3d' which allows me to run tests and build steps using the Unity CLI in the GitLab runner.
Key areas for improvement:
  • Each build configuration needs to pull down the Docker image on every run through, this could probably be spun up into a cloud cluster using Kubernetes or another orchestrator to have these containers running all the time.
  • The deployment step is very minimal, but it could be set up to distribute the builds to various machines for manual testing.
  • The Unity version is baked into the YML file, this should probably be a configuration option.

romesh.dev CD pipeline

Azure static websites/Github Actions/VS Code
This portfolio website was able to be spun up in under an hour with the combination of Azure static website/Github Actions/ VS Code integration.
I was able to spin up a static website instance in Azure using a free trial. I connected my github account to the static website using a VScode deployment extension and within minutes I was able to deploy code to the live website on commit.

Kubernetes/GitLab

Experiment Kubernetes GitLab runners
Whilst setting up the GitLab/Unity pipeline I was playing with the idea of running a k8 cluster to perform the builds, but I ran into some trouble trying to get a Unity container that I could deploy into the Google Cloud environment. Probably something that could be explored further and solved, but an interesting excercise in resourcing regardless

Game Jams

GRIND

Ludam Dare 47 (COMPO)
215th overall / 800 COMPO entries, Team size: 1

"I feel ever so slightly stalked, and a little bit as if someone’s just made a biographical game about me. Which is weird, but not unpleasant. Game is very good indeed, and well done on getting it this polished in a weekend."

FORK

Brackeys 2020.2
163rd overall / 1838 entries – Team size: 3

"This is by far my favorite game so far this jam, i LOOOOVE the excellent, deep, smart and creeeeepy plot, the characters had just the right amount of depth. and when I thought I'd beaten it, there was yet another problem to solve."

EGGSPLORATION

Ludam Dare 46 (JAM)
1550th overall / 3576 JAM entries – Team size: 2

"Really fun platformer. I loved the graphics, and the mechanics were solid. A+ tutorial work."

Experimentation

Godot multiplayer

Proof of concept
Player hosted multiplayer connection. An experiment in multiplayer mechanics of Godot Engine.

Guinea Pig Mod

Stardew SMAPI modding API experiment
A mod that replaces the dinosaur with a guinea pig. Integrated with SMAPI modding API tools to switch out the sprites.

Inventory System

An inventory system build with unity
An exercise in understanding how to build an inventory system in unity.

Juggling AI detection

An experiment with python image detection
This was an experiment with the Python TensorFlow to detect a juggling balls movements in a live video. The goal was to capture the balls positions frame by frame and create a curve, then use the curves to work out what juggling pattern was used.

AR Card Game

A proof of concept
Made with Vuforia and Unity. An experiment in AR image recognition and 3d overlay to PoC an augmented reality card game.

University Projects

Tic Tac Toe

A university project in game development
Tic Tac Toe was a small single-player game that I designed and implemented as a console application with C++. I designed/developed the game logic (player turns, win conditions etc.), created the AI’s choice algorithm (for deciding appropriate turns to make), and implemented the data structures required for the game’s AI to function.

Space Escape

A university project in game development
Space Escape was a university project where we were tasked with taking two existing and mechanically different games and build out the design ideas into a new game. Coded in ActionScript3 in Adobe Flash, my responsibilities were to; co-design and implement the game’s mechanics, build the game assets using Adobe Illustrator/Photoshop, and perform QA tests to ensure the game functioned correctly.