Opal is one of my current projects and is probably the one I spend the most time on since March of 2021. It is a game engine that is currently focused on 2D games, but I have built scaffolding for 3D projects in the future.

Tech-wise it is written entirely in C++ using Vulkan for rendering. I have built a rendering API that is flexible enough to also work for other graphics APIs such as Metal and DirectX in the future.

One of the main reasons for re-writing the renderer was to be able to support as many platforms as possible. Right now, the engine runs smoothly on both Mac and Windows.

I am currently building a larger project with this engine, but as I was getting it on its feet I worked on several smaller projects. I built a platformer with a level editor, and a mystery game called snowbound that I actually finished, but decided not to release because, well, it wasn't very good.

Features of this engine include:

Snowbound is a survival mystery game that I made in 2020. You play as a detective whose job is to identify dead bodies on a mountain pass using items they had on them to figure out which body belongs to which name.

I made everything for Snowbound from the engine to the art. The only areas I didn't fully make myself were fonts and sound.

I started making Snowbound for the global game jam, but quickly realized I wouldn't finish in time, so I worked on it on weekends for about a month.

Snowbound was built in my own engine, Opal, which has a section on this page if you're interested in it.

A short narrative game where you find important objects that link together different scenes and piece together a story. Made in two weeks for Adventure Jam 2016 by Josh O'Caoimh and me. I did the programming, Josh did the art, and we collaborated on everything else. It was written about on Alpha Beta Gamer, PCGamer, and RockPaperShotgun.

"For a game that was created in just 2 weeks, Torpor boasts an exciting and rich gameplay experience that will leave the player questioning how the events connect to one another..." - Alpha Beta Gamer

~Also Markiplier played it and I just think thats really cool so check this out~

Engine: Unity

Platforms: Windows, Mac, Linux

A first person exploration game.

Engine: Unity

Platforms: Windows, Mac, Linux

An open-world 2D platformer where jumping is a resource. I made Retrostasis in 72 hours for Gamejolt's GDC jam. Everything but the music was done by me. Retrostasis won fourth place out of 120 games, and I got to show it at Gamejolt's booth at GDC 2016.

Development Timelapse

Engine: Unity

Platforms: Windows, Mac, Linux

Ride.Share is a mobile, augmented reality game that allows you to become the strategist in controlling your own fleet of cars and running a rideshare company. Your goal is to pick up and drop off as many passengers as possible along numerous drop off points and take control of the city, faster than your rival rideshare companies. Levels are all based on real major cities around the world such as San Francisco and Dubai to give the best real world, AR experience

Engine: Unity

Platforms: iOS, Android

Binaural infinite runner set to the music of Proleter. In ZERO, you dodge objects that are procedurally generated based on the background track.

A 2D Platformer where the player eats to grow, and vomits to shrink. Made in 48 hours with the help of Daniel Sitnick. Daniel did the art, I did the code, and everything else was collaboration. Bitey got third place in BaconGameJam 7.

A game where you dig sand and protect your castle from the tide.

Made for Global Game Jam 2017 at the University of Utah.

Bullet hell game where bullets are attracted by gravity.

A game about catching nuts that fall from the sky. Made in one night for a gamejam put on by the Gamecraft club at the University of Utah.

A game poem where the player writes messages and sends them out in bottles, as well as reading messages that wash up on an island.

A minimal puzzle game where the player has to use gravity to escape each level.

Orpheus: Stealth fighting game made for BaconGameJam. I did procedural level generation.

Subhuman Short platformer I made for Ludum Dare. Player controls two games simultaneously.

Multiplayer Snake: A TCP/IP multiplayer version of Snake. Along with a partner, I implemented a server and client using Windows forms for graphics.

Christmas Night: A Christmas themed tower defense made in XNA. My first jam game.

Incipio: Twin-stick shooter and tower defense game made in XNA. My first published game.