Side Projects

Gem ARcade!


Production: 29 September 2018 – 30 September 2018 [Unity3D VR/AR Developer - Job Application]
Genre: Augmented Reality, Arcade Shooter
Status: Available Upon Request
Tools Used: Unity3D, MS Visual Studio, Vuforia, Android OS, DU Recorder
Role(s): Game Developer

Gem ARcade! is an augmented reality game where you shoot gem-like objects as fast as possible— aim to beat your previous record time! My goal was to finish the project by Monday, October 1, 2018 for a Unity3D VR/AR Developer position. Since an AR version of Catchcard Rangers was still far from completion, I chose to make a demo from scratch within a constrained time limit.

In case others wanted to try out the game on their own device, I omitted Vuforia’s image targeting, ground planes, and model targeting so that the game could be played anywhere and anytime. 15 hours were spent to develop the game— after my Saturday work shift and before my Sunday graveyard shift. A complete breakdown of the production process is available upon request in a PDF format.

There’s definitely some improvements that could be made to the project. Adding a “dark theme” would help the score/time text font to stand out even when played in the dark (and the blocks could be glowing white instead of a dark sheen). The bullets also look like sausages since there wasn’t much time to work on textures and shaders (the goal was to have Star Wars-esque lasers). I was also low on funds so importing/modeling legitimate gems was out of the question, so I needed to settle on out-of-the-box primitive models that came with Unity, such as cubes (gems) and cylinders (bullets).

Despite what could be improved, the project was an exciting trial by fire into the world of XR!

On The Rocks


Production: 10 August 2018 – 13 August 2018 [Ludum Dare 42]
Genre: Physics Balancing Sim, High Score
Tools Used: Unity3D, MS Visual Studio, Aseprite, Github, GameMaker: Studio, PyxelEdit
Role(s): Game Developer, Game Designer, Producer
CollaboratorsIván González Lago [Artist, Composer, Game Designer]

On The Rocks is a game where you balance the pile of gold on your ship to reach as high of a score as possible, and is our submission for the LD42 theme “Running Out of Space.”

This project is the first time I’ve finished a game jam while working full-time, and is Iván’s first ever game jam! Since both of us had responsibilities outside of the project, we needed to be careful with time management throughout production— what features to work on, what art assets needed more polish, bug-squashing, etc. Iván is also in Spain while I’m in Texas, so clear communication was just as important (while one of us slept, the other was working on the game). We worked on it for an extra day after release to fix some UI bugs, game design tweaks, and animation fixes.

Catchcard Ranger


Production: 21 April 2018 – 23 April 2018 [Ludum Dare 41]
Genre: Collectible Card Game, First Person Shooter
Tools Used: Unity3D, MS Visual Studio, Adobe Illustrator
Role(s): Game Developer
CollaboratorsMatt Wiggers [Sound Designer]

Catchcard Ranger is a game where you collect monster cards to shoot monsters with monster cards, and is our submission for the LD41 theme “Combine 2 Incompatible Genres.”

When I first found out about the game jam, it had already started the day before so I didn’t have too much time to work with. I wasn’t too sure whether I’d join, but unlike other game jams I had an immediate idea for a CCG + FPS game. It felt like a silly enough game to work on, and if scoped well enough I could get it done. I also wanted to refresh on Adobe Illustrator and Unity’s UI system, and I hadn’t used arrays in a game before, so the project would be a good warm-up for upcoming stuff.

Accounting for my part-time job during the jam, I had to estimate ~15 hours of development time, with an extra 5-10 hours as a buffer. I planned to spend an hour on brainstorming, 4 hours on art, 8 hours on code, and 2 hours to prepare for release. In reality I spent 1.5 hours on brainstorming, 8 hours on art, 16 hours on code, and 2 hours to prep for release. A lot of stuff ended up getting cut like an expanded/polished menu, two other levels, and properly debugging the monster-capture system. Even after release there were a lot of bugs, so I took a couple days to fix the UI and audio to release a 1.1 version.

Feel free to give the game a try! Its Matt’s first game jam and says he’s been composing music for years; it’s his first real go at orchestral music and is his first time making music for a game, so if anything give the music a listen to. :)

Breaker Breaker


Production: 28 July 2017 –  21 Aug 2017 [Ludum Dare 39]
Genre: Shoot ‘Em Up, Arcade, GameBoy, Web/PC
Tools Used: Unity2D, Aseprite, Discord, Trello, Google Docs, Airtable, Github
Role(s): Game Designer, Programmer, Pixel Artist/Animator, Sound Designer
Collaborators: Martin Reyes [Game Programmer]

BBreaker was our game submission for LD39 using the theme “Running Out Of Power”, where you need to fix your plane’s engine while flying in mid-air. Being Martin’s first game developed and my first game where the design was implemented and tested in time to submit, this submission is one that’ll stick with us for some time! Our ratings didn’t break top 100 due to some of the questionable design changes that I wanted to test during that time, resulting in the game being too difficult and frustrating for most players, but we did manage to break top 10% with our top category being in Fun! What we knew for sure, if the early feedback was any indication, was that it feels great to play when tweaked right.

Gods Play Dice


Production: 21 April 2017 - 24 April 2017 [Ludum Dare 38]
Genre: 2D Adventure, Narrative, Experimental
Status: Unavailable
Tools Used: GameMaker: Studio, Aseprite
Role(s): Game Developer

Gods Play Dice was the result of Ludum Dare’s game jam theme: “it’s a small world”. From the start, I cut out any ideas that had to do with planets, space, or the earth. At the same time, this was made during a point in my life where I was dissatisfied with who and where I was. I made a game about how a person’s circumstances can be like Russian roulette: you don’t know if you’ll get a good draw or not, it’s not something that can always be controlled, and sometimes the only way to move forward is to make a choice. I ended up not finishing the game, but on the bright side, it ended up being a great way to try out a different pixel art style.

Little Tokyo


Production: 9 December 2016 - 11 December 2016 [Ludum Dare 37]
Genre: 2D Puzzle, Building Block Sim
Tools Used: Unity, Krita
Role(s): Game Designer, Artist, Programmer
Contributors: Michy Soong [Art], Kevin Teddy Vega [Game Design]

Little Tokyo was the result of Ludum Dare’s game jam theme: “one room”. The original plan was to not only allow the player to build stuff using building blocks, but would have a second section where the player controls a child dressed in a godzilla costume and destroying their own creation. But with the time restraints that typically come with game jams, we only got the first part implemented. We didn’t have time for UI either, so we just throw all the available blocks at you in a giant pile instead.

Tooth Baby


Production: 29 January 2016 –  31 January 2016 [Global Game Jam 2016]
Genre: Rhythm, Stealth
Tools Used: GameMaker: Studio, Photoshop
Role(s): Game Developer

Tooth Baby is a rescue-and-escape game for the theme “Ritual” where you infiltrate a cult to rescue a sacrifice from the tooth fairy.

The player blends in with the cultists by imitating their gestures and chants. If caught infiltrating, the cultists chase the player until either the player escapes to the next level via stairs, or the cult catches the player and its game over. Once the player rescues the sacrifice before the tooth fairy reaches them, the player must run to the final exit successfully to win. The player is controlled with the keyboard arrow keys to move, A/S/D/F to mimic gestures, and spacebar to chant.

The project ended up being pretty broken— while the controls work fine and the art/animations made it into the game, all enemies attack the player at the very start, and the animations don’t work too well on input. There’s no menu or health either, so the player can just run around and do what they’d like. Since this project was my first foray into coding for games, I chose a black-and-white palette with pixel art to minimize the amount of time needed to create art assets. The first 24 hours was spent on art, and the second 24 hours spent on code.

The “tooth” theme came from creating the player sprite to be as basic as possible, and it happened to look like a tooth. Not the most appealing aesthetic… but it works! This project would also end up motivating me to work on Conception the following February.



Production: 11 December 2015 –  14 December 2015 [Ludum Dare 34]
Genre: Narrative, Flying Game
Tools Used: GameMaker: Studio, Aseprite
Role(s): Pixel Artist, Writer
Collaborators: Max Emerick [Game Developer & Sound Designer]

The goal of this Ludum Dare is to create a game that contains either the "two button controls" or "growing" characteristic, or both. Lighthearted is a space flying game where you play as a shooting star and meeting planets along the way. Avoid incoming meteors, and your friendly planets will keep your safe from anything coming through. Lighthearted is also the first game I ever helped release, so that's pretty neat!

Lock 'n' Load


Production: 27 November 2015 –  7 December 2015 [Loading Screen Jam]
Genre: Adventure Game (& Loading Screen Mini-Game)
Status: Unavailable
Tools Used: GameMaker: Studio, Adobe Photoshop
Role(s): Pixel Artist, Game Designer
Collaborators: Alex Collins [Game Programmer]

The Loading Screen Jam was the first game jam I ever took part in, where the theme was "infringe on Namco's loading screen mini-game patent."

Our design concept was that as the game is loading, the player would be given an image of a patent for a specific object-- but the name of the object was missing. The player would need to choose between three absurd words that, in the context of a conversation, would technically make sense but would sound ridiculous when talking with someone in reality. Once the word was chosen, that word would be the official legal name of the object and would become the standard lingo within the game environment.

For example, let's say a patent for an "egg" had the original word replaced with "spouse". If an NPC's original dialogue said, "Don't put all your eggs in one basket," their new dialogue would be, "Don't put all your spouses in one basket."

The game was never completed, but it was a fun concept to play with for our first shot at a game jam!