Independent Work

These projects demonstrate my experience and passion outside of my commercial work. I have experience across Godot, Unity, and even hosting a popular public game server.

Slime Drop 2048

Godot · In-Progress · Headless Simulation

This game is planned to be a successor to my published app, Turbo Drop 2048. With five more years of game design and programming under my belt, I have many ideas for how to improve the original concept. – In the backend, I want to remove my unnecessary reliance on real-time physics simulation to calculate gravity and collisions, and instead replace it with a deterministic game state solver that iterates on a 2D array based on game ticks.
– On the frontend, I want to visualize the game state using softbody squares with numbers suspended inside to make the tiles landing on and merging with each other more fun to watch. (not yet present in video!)
I’m excited about the opportunities that arise from making the backend deterministic, like being able to record replays of games, or adding powerups that can confidently modify the game state without a physics simulation freaking out.

Turbo Drop 2048

Unity • Mobile • Published

This is the mobile game I made in Unity and shipped to both the Apple App Store and Google Play Store. It recreates gravity-driven 2048 gameplay found in other apps, but made from scratch by me with a few focus points: – Fast animations to allow for unhindered speed in gameplay
– No invasive ploys to watch ads or make microtransactions
– A cross-OS leaderboard to compete amongst players without cheaty powerups
Going through the full process of developing and releasing this game to the public taught me a lot. The positive reception from friends and strangers has also been very exciting to see over the years. Over 5 years, the game has had 850 downloads and over 5,000 hours of playtime.

Wordle Clone + Encoder

Unity • Prototype

In 2021, when Wordle was getting popular, I wanted to practice it so I could beat my friends, but you were limited to one game a day! So I set out to make my own Wordle clone that I could play as much as I wanted to.

I was happy with my ability to clone the UI structure and game logic, but then I had another idea: what if players of my clone wanted to share how they did on a certain randomly picked word? My solution was to make a same size encoding algorithm that could be used by friends to share words without revealing them! Eventually, I planned to make a share button that let you copy and paste the classic colored squares but with my encoded share string appended to the bottom.

VR Endless Runner

Unity • Virtual Reality • Motion Controls

When I first got a VR headset, I was let down by the lack of immersive running games that used motion controls. That prompted me to make this prototype! The experience I was going after was requiring motion controls for running, jumping, ducking, and changing lanes in an endless runner.

To accomplish this, I polled the velocity of each controller and the headset on an interval, and assigned thresholds on each that corresponded to certain actions. For the project, I also designed a rudimentary endless obstacle generation script that spanned three lanes and accounted for fair spacing between obstacles and ensured each section was always reasonably passable somehow.

VR Portal Locomotion

Unity • Virtual Reality • Prototype

When I first got a VR headset, I was also let down by the lack of VR mods for Portal, or games that created Portal-like gameplay in virtual reality. This was an experience I was craving so badly, that I attempted to make it myself.

To create this, I hacked together three free Unity assets I found online: a VR player controller, a VR stereoscopic render texture demo, and a basic 3D portal teleportation demo.

My major contribution was smoothly realigning the player’s UP vector after going through two portals of differing surface tilts. In Portal, they can simply change the pitch of the camera’s rotation, but in VR, you can’t do that long-term, because the camera is the player’s head! So to ensure seamless teleportation in VR, my solution was to temporarily change the camera’s UP vector based on the tilt offset between the two portal surfaces, then quickly and smoothly rotate you back upwards. Only slightly motion sickness inducing. 🙂

Public Minecraft Server

Design • Execution • Administration

In 2015, I was very excited about Mojang’s announced 1.9 Combat Update. During update production, Mojang puts out experimental snapshot builds every week for the community to test. But there was a problem: traditional PvP servers require too much custom server file modification in order to operate on experimental builds. So how would players test out the experimental combat changes without a large server to play on?

Upon realizing this, I took it upon myself to make a public server for the community only using Mojang’s in-game scripting functionality called Command Blocks. This way, the commands would mostly always work whenever a new experimental build came out! I tried my best to recreate all the minimum functionality that players had come to expect from a PvP server while only using this rudimentary language. To create the arena for players to fight in, I directed a couple of my friends to make an environment I thought would be engaging.

In the end, the server was a massive success. At its peak, an average of 50-100 players would be playing during the day, and a total of 46,000 unique players joined the server over its lifespan.