Mirari

- 1 min read

Overview

Mirari was made for the Ukie Student Game Jam 2026 in 32 hours.

Based on the theme Symmetry we made a Sokoban-style puzzle game where you play as a mirror where instead of pushing boxes, you can reflect them to the other side of yourself. This leads to unique puzzle designs where positioning and distances are very important. There are also some additional mechanics you will discover as you play.

Teaching a Godot Seminar

- 1 min read

The Class

This week I taught a Godot Seminar to my classmates at Uni!

We have the Ukie Game Jam coming up, and I noticed a lot of people we interested in learning Godot to prepare, so I volunteered to teach a class. The goal was to get everyone familiar with basic Godot concepts, like the scene tree, GDScript, and the physics system.

The Game

For this seminar, I prepared a very simple platformer game and had students follow along as I recreated it. The game featured player movement, a level made with a tilemap, hazards, player respawning, and a goal. We also added a title screen and animation. These elements were selected to give a good understanding of a wide array of Godot features, as well as showing best practices for using many systems. image

Overview

This project is a demo of an inventory system implemented in UE5 using C++. It features item stacking, storing items in chests, and saving. It utilizes a data table for the item information, and utilizes automated testing to verify the inventory system is working as intended.

image

Code

The inventory is implemented an actor component containing a map from int (index within the inventory) to an item struct. When adding an item to an inventory it’s placed at the first empty index, or stacked with any matching item within the inventory.

Unreal Engine Skill Tree

- 2 mins read

I’ve added a skill tree to my Unreal Engine project where the player can unlock various upgrades. Each item features its own tree with unique options to allow for unique player expression.

Overview

Clicking on an item in the inventory screen opens its skill tree. From here the player can select upgrades and unlock them for a specific cost. There is support for upgrades that are only available after purchasing the ones before them, as well as upgrades that are incompatible with each other, where only one of them can be purchased.

Advent of Code 2025

- 2 mins read

I participated in Advent of Code this year! I used C++ for my solutions as I am most familiar with it. I solved 19/24 of the puzzles in the end.

My Favorite Puzzle

I thought day seven was a lot of fun. In the puzzle, a laser is being split as it travels along a bunch of different points, and you have to count how many times it gets split. The trick is that after solving part one, it is changed so that you have to count the number of possible paths the laser can take. Originally I tried to just reuse my part one solution, keeping a list of each point the laser could be at but allowing duplicates this time to account for multiple paths. This proved to be dramatically too slow. Instead I had to pivot to counting the number of ways the laser could have reached that position and storing that value along with the position to avoid having to process it multiple times.

Planet Amvlys Playtest

- 2 mins read

This week we held a playtest for our Game Studio 3 project! We had twelve players try a demo of our game and answer a feedback survey. The goal of this is to inform our further development based on player feedback and identify issues to resolve.

The Demo

Our demo features one completed level, four main items to collect, and a boss fight. The main point of this level is to test the gameplay, and its design will be completely reworked for the final game.

Recently I’ve started working on my Game Studio 3 project for my university course. I’m working with an amazing group and very excited to be coming together to make a game.

Concept

The concept we settled on is a First-Person Metroidvania inspired by Metroid Prime, but taking notes from more modern shooters like Ultrakill, and Metroidvanias like Hollow Knight. Currently, we’re still deep in the ideas stage, coming up with enemy concepts, areas to explore, and upgrades, as well as writing the story.

void loop()

- 1 min read

Overview

void loop() was made for the GMTK Game Jam 2025 in four days.

Following the theme “Loop” the player is tasked with stopping a recursive function call before The Program crashes. The game is set inside a computer program where you play as Integer and fight your way through a random series of rooms. After each room, you add a line of code to the recursive function to improve your chances of winning.

Tank Game

- 2 mins read

Overview

This is a C++ only project made using the Raylib graphics library.

The goal of this project was to practice C++ development and make a 3D game without relying on a game engine. To accomplish this, I followed design patterns such as using a state machine to handle the main game loop, and using the strategy pattern to add behavior to my actors in-game. I also had to implement an actor manager that process and draws the game objects each frame, as well as a physics system, and A* pathfinding.

Bigfoots Big Break

- 1 min read

Overview

Bigfoot’s Big Break was made in three days for the GoedWare Game Jam Limited Color Palette in January 2025.

Based on the theme “Two points of view”, you are venturing into the woods in search of Bigfoot. Equipped with your trusty camera drone, you can look around the forest yourself and get a bird’s-eye view. Track down Bigfoot and snap some pictures for the newspaper.

It placed 11th out of 83 entries.