
All Aboard!
Genre: Visual Novel
Role: Programmer, Environment Artist, Music
Team Size: 4
I met the lead programmer who told me about his experience with Godot and asked if we could participate in a jam together. He helped me learn how to do some basic programming, and so I updated the visual novel tool we used with custom dialogue system functionality. In addition, I made the music for the game by recording acoustic guitar and created the background art and parallax scroll systems to emulate the feeling of being on a train.
Tools: Godot, FireAlpaca, Reaper

Go With It
Genre: Dialogue/Experimental
Role: Programmer
Team Size: 6
I created this game for Global Game Jam 2024 based on the “Forrest Gump” diversifier: the player can only respond yes to dialogue prompts. But I turned it into “excited yes” and “sad yes” as responses. I received help from some others to write a long rambling story from an old man, and if you don’t say Yes in the right way he has to tell you the whole story again. Then, we used a robovoice tool from one of the Jam’s sponsors, audio recording from another participant, and another team member created a physical hardware box control to press the buttons for the game.
Download and Play from the Global Game Jam site
Tools: Unity, ReadSpeaker
Squirrel Life 2 (2023)
Genre: 2D Hero RTS
Role: Artist, Programmer
Team Size: 3
Created for District June Jam 4 based on the theme of “Formation.” I got the chance to work with the amazingly talented designer Akello Fells for this game, where he came up with an idea where you controlled allies in a real-time-strategy fashion. I decided to take advantage of the “Explorative” diversifier and did a completely new role from my usual development process. I created the character art and animation for the game in Inkscape as well as helped out with programming some of the systems. There are some aspects of the animation I struggled a lot with, but by the end I figured out a workflow that generally worked for me. I learned some harsh lessons about managing center pivots on objects, which you can definitely see in the Heron ally as it swaps directions. I also spent a lot of time on a complicated spear height visual feature that ultimately didn’t work with the overall design. I’m really proud this game is very pick-up-and-play friendly, it’s now my go-to when I want someone to try something quick that I’ve made.
One of the features I’m proudest of is how the robots split out into parts after you destroy them. It was a great moment of Juice I could do because of how I set up the vector graphics for the units as separate parts. (Basically: unparent all the sub-parts of the visuals and then apply a random force. )
Tools: Unity, Inkscape
Lightkeeper (2023)
Genre: 3D Open World
Role: Producer, Designer, Programmer
Team Size: 5
I signed up for the Adventure Jam with one purpose: I wanted to learn how to use the Gaia open world generation tool for project D7. I was able to get the tool to eventually achieve my vision, but I bombed when it came to actually designing the open world in a fun way. The enemies are spaced too far apart, and there’s not enough visual clarity to drive the player to where they need to go. I also had a last-minute-scare on file size when it came to the terrain. (Hint: use a small cell size)
Tools: Unity, Dialogue System for Unity, Gaia
I Transform into a Werewolf in the Light of the Full Moon (2023)
Genre: 2D Adventure
Role: Producer, Writer, Designer, Programmer
Team Size: 4
This game was created for the Werewolf Jam. You play as a man who is transformed into his werewolf half and tries to make amends with how poorly he treated others as a person. I wanted to create a game where I had a chance to learn how to use the Dialogue System for Unity. I was blown away with how many features it had, and realized it was going to take me way longer than 1 jam to learn how to use it to the fullest. Fortunately, this experience gave me insight into how to get the basics up and running.
I also had a lot of fun implementing the final boss battle AI. The code was a mess, but it was a great opportunity for me to set up a multi-state AI for the boss, as well as create a very rudimentary paired animation system that interfaces with the Dialogue System.
Tools: Unity, Dialogue System for Unity,
Water Your Flowers (2023)
Genre: 3D First-Person Time Management
Role: Designer, Programmer
Team Size: 3
Water Your Flowers is a first person time-management game, where you pick up seeds which represent things you want to do, plant them, and water them every day to see how they grow. I was the programmer and sound designer. I worked on a team with a 3D modeler and a Writer.
I’m really not proud of the convoluted text display system that I made. It was one of those features where I thought I knew what I was doing, then realized “oh no, this is overcomplicated for the problem I’m trying to solve.” In addition, it made the game hard to test.
You can find the game on the Global Game Jam website
Tools: Unity, 1BitDragon
Mecha Mining Marvelous Martian Minerals (VR) (2022)
Genre: 3D VR Simulation
Role: Producer, Designer, Programmer
Team Size: 4
For MechJam 3, I teamed up with 3 other people to create a VR game where the player has to repair and mech and go out to collect minerals.
It’s yet another day mining minerals on Mars. Make sure your mech is ready to go, then open the mech bay door, climb into your mech, and set out collecting your daily requirement of minerals. Explore the martian landscape, locate minerals with your ore scanner and use your excavator to dig minerals out from under the ground. The environment can be treacherous, but you’re a skilled mech pilot. After you collect your daily amount, make sure you get a good night’s rest…
I worked on the programming integration for the game, using the VR Interaction Framework, which I wrote about in a paper on VR Toolkits.
Tools: Unity, Oculus SDK
Locust Defense (VR) (2021)
Genre: 3D VR Education Wave Defense
Role: Producer, Designer, Programmer
Team Size: 5
For the 2021 iLRNFuser Game Jam, our team created a game to align with U.N Sustainable Development goal 2: Zero Hunger.
Natalina, a farmer from Kenya, gets an alarming phone call! A swarm of locusts are heading towards her farm. Pesticides are no option and she is alone. She must defend her crops by picking locusts, setting rubbish on fire, and building a duck army to fend them off!
As part of a team of five people, I worked on the programming integration for the game as well as the Oculus Quest hand tracking implementation.
Tools: Unity, Oculus SDK
Cicada Town (2021)
Genre: Visual Novel
Role: Writer, Programmer, Designer
Team Size: 3
Created as part of a team for the IGDA DC 2021 June Game Jam. I had the pleasure to work with the immensely talented Heiden who created the art and Saad Memon who created the soundscape for the game. I wrote the game story as well as implemented the visual novel using the Fungus engine.
Working with Heiden, we were able to implement bone-based animations using Unity’s 2D rigging and animation system. The game has 8 possible endings, and rewards players for each ending they reach.
You can play the game on the web at the itch.io link.
Tools: Unity, Fungus
Sole Searching (VR) (2021)
Genre: 3D VR Action
Role: Sound Designer, Programmer
Team Size: 3
Originally created for the 2021 Global Game Jam.
You run the lost and found desk at the ball, and Cinderella isn’t the only one missing her shoe. Can you get the shoes back to the nobles and make US minimum wage ($7.25) by midnight?
In a team of 3 people, I worked on the 3D models of the shoes using Oculus Medium, I recorded the music and narration for the game, performed testing, and implemented some VR programming functionality.
Tools: Unity, Oculus SDK, Audacity
Roll With It (2021)
Genre: 3D Physics Puzzle
Role: Sound Designer, Graphics Programmer
Team Size: 3
Created for the 8 Bits to Infinity Physics Jam
Roll With It is a physics puzzler where you must use your single switch to guide balls along a track into goal areas. You’ll often find that the switch controls multiple elements of the level at once, so you’ll have to time your presses carefully to make sure each ball ends up in the right place at the right time.
In a team of 3 people, I worked on implementing shaders with the Universal Render Pipeline and adding audio effects.
Tools: Unity
Unbroken (2020)
Genre: Party Multiplayer Rhythm
Role: Programmer
Team Size: 6
This game was created with a team as a part of the 2020 Global Game Jam. I set up the basic mobile phone integration system and the programming, and my team members created the art, music, and advanced phone integration.
For the 2020 Global Game Jam, I decided to use a technology called AirConsole which allows multiple people to play a game by using mobile phones as input devices. The game our team came up with was a rhythm-action game where the more people join and play the more powerful the main player’s abilities become.
Check out the game play video and my teammate’s video of the global game jam event.
Tools: Unity, AirConsole
The Ten Minute Mortgage (2019)
Genre: Text Adventure
Role: Producer, Designer, Programmer, Writer,
Team Size: 4
I created this game with a team during the 2019 Global Game Jam. I programmed the game using the Quest engine, and my team created the art and contributed to the writing.
Mortgage finance intermediaries ensure that ordinary middle-class citizens can afford to purchase a home and pay for it over the course of their lifetime, without going directly to investors who want to invest in the housing market. This dystopian text-adventure game imagines a world in which companies such as Mortage-backed Security companies, mortgage lenders, and mortgage banks don’t exist, and you have to go directly to those investors to finance your mortgage.
Tools: Quest


Waverunner (2017)
Genre: 2D Music Platformer
Role: Programmer
Team Size: 3
I created this game with a team during the 2017 Global Game Jam. I worked on the programming, and my teammates created the sprites and background as well as the audio recordings. In this infinite runner game, the player uses a midi keyboard and has to play a correct key in time with the music to jump across platforms and make it to the end of the level.
Tools: Unity

Mondaze (2016)
Genre: 2D Narrative Puzzle
Role: Producer, Programmer
Team Size: 7
You play as an intern who works at a small start up. Your boss is a new manager and tends to hover. Your co-workers view you as an expendable resource, and you’re just trying to get to the end of the day.
I worked with a team for this project. I had the chance to work with someone who created their own development pipeline for Javascript and Phaser called Abra. Really cool system that integrates art management, version control, and code development. I was a producer and worked on level editing and testing.
It’s not playable online anymore, but you can see more information on the global game jam site.
Untamed (2015)
Genre: 3D Co-op Puzzle
Role: Producer, Level Designer
Team Size: 5
Progress through the maze with a friend! Players each choose one of four creatures with different special abilities; any combination of two should be able to win.
I worked with a team for this project. I was the producer for this project and helped put together the levels in Blender.
Created with Unity, see more information on the global game jam site.

Jarheart (2013)
Genre: 2D Stealth
Role: Sound Design, Tools Programmer
Team Size: 8
You play a Marine who has descended into hell. Your only light in this world is a heart you carry around in a lantern. Based on the rhythm of the heartbeat, you can extend your light to explore new areas – or find new foes.
My first global game jam experience, I worked on a team that made a game in LWJGL, the Lightweight Java Game Library. I wrote level-generating code and made music for the game.
If you can figure out how to run this thing, fantastic. I have no idea how it works. You can download the file from itch.io.