Games

Game development is my primary passion, and as such I will always be making games, even if it is adjacent to my job.
As I make progress on my games, I will document that progress here.

Minor Projects

These are some games I made early on in my programming journey.

Pong Ultimate

Pong ULTIMATE!
A true masterpiece
This was the first video game I've ever made. It was a school assignment for my 6th grade class. We were to make replicas of commonly known games, using the kid-friendly coding language "scratch". Then once we were all done, we stationed them at computers, and each walked around to play each other's games.

The game I chose to replicate was Pong. I added a bunch of extra features to it, like stage hazards and different projectile colours, all of which could be toggled on or off in the settings menu. It may not be the most revolutionary game ever, but it sparked my passion for programming and game development.

Dragon's Hoard

Title screen
The slightly-animated title screen, made with pixel art
This is another notable one. In 10th grade, we were instructed to make a game in which your character would have to move around collecting items from the sky. We used Processing, which is similar to Java, except simpler (fortunately I already knew Java at this point, which certainly helped). The assignment's scope was intended to be small, but I decided I wanted to make the game as fun as I could.

You play as a little goblin man inside the lair of a dragon, tasked with collecting as many falling coins as possible while avoiding various hazards. The longer you survive, will appear faster, but the hazards will grow more varied and numerous: fireballs that fall from the sky, lighting bolts that you have to jump over, and ice that freezes the ground and makes it slippery. Then when you inevitably die, you go to an upgrade screen, where you can buy upgrades with the gold you collected, making future runs even easier.

Title screen
The game part of the game
Title screen
The shop menu. 6 upgrade types, each with 3 tiers
I spent my off-school hours designing pixel-art assets for the game, more upgrades, more hazards, particle effects, and even made a 2-song soundtrack for it as a bonus. Strictly speaking, it wasn't necessary for the assignment, but I enjoyed the process and am happy with what I created.

Current Project

Status: Early development

I'm working on a much bigger game right now (currently untitled). The intention is to release it on steam upon completion, which will likely be within a few years. It's programmed in Java, as that is the language that I am strongest in, and there is nothing too complex graphically or otherwise that might require a more "optimal" language. Using a game engine might simplify the process, but I think making my first game in java will teach me a lot of new things. The game will also need its own graphics, soundtrack and plot. Fortunately I am blessed to have several friends who are willing in those aspects. The only part that's 100% up to me is the programming.

Concept Summary

The finalized concept of the game could be best summarized as an "RPG", but because that is not very specific, here is a list of some of the defining features of the game:

Grid Editor

The current state of the Grid Editor, displaying demo assets
The current state of the Grid Editor, using placeholder assets

The Grid Editor is a developer tool which we can use to build and detail grids. As grids will be used for both the scenes as well as combat encounters, likely meaning hundreds in total, it was necessary to create a program to hasten the process.

The grids themselves are made up of many tiles. Each tile can have one or several assets on it: floors, walls, creatures, decorations, effects, etc. Each of these has their own images and rules by which to draw them, such that the game will be able to display a coherent grid based on the contents of all tiles. The grids are loaded into the program via text files, which contain instructions on how to build the grid. Furthermore, the grid editor will have a function to create a text file based on a designed grid, making it trivial to design grids that can go straight into the game.

To open the grid editor, one must first either load an existing grid from a grid file, or create a new grid. While in the grid editor, you can perform various functions to create the grid:

Then when you are done, you can print the grid as a text file to then be loaded into the game (or into the editor again if you're not yet done).