Livio's Games Portfolio
A virtual reality game where you climb inside a tank and shoot at UFOs. This prototype was built in Unity for the HTC Vive during Ludum Dare #36's 48-hour solo competition. The core idea behind this project was to make a VR game that surrounded players with levers, knobs, and other virtual controls, so that they would feel like they're piloting a complicated piece of machinery.
VR Crane Simulator
This game was built during the Seattle VR Hackathon in September 2016 using Unity and the HTC Vive. I worked with Sean Siem, Staishy Siem, Maggie Lu, Jae Nwawe, and Matthew Chan.
Double Double Dragon (VR)
This is basically a futuristic MUD: we made a classic text adventure game, put it in virtual reality using Unity and Google Cardboard for Android, and had voice commands for input, using Amazon Echo and the Alexa Skills Kit. This prototype was built during the Spring 2016 Seattle VR Hackathon. Teammates: Victoria King, Levon Kechichian, Simon Cutsinger, Kelley Chen, Kawan Welth.
Players navigated a maze looking for dragons, items, and other surprises. To perform an action, players would look directly at a target/object and then speak a command such as, "attack," "pick that up," or "open door."
To get Alexa to work with Unity, we had to create an Alexa Skill running on an AWS lambda instance, which in turn wrote commands to an AWS Simple Queue Service, which was periodically polled by our Unity game. We used the Amazon Echo as our mic, which had the unfortunate drawback of shutting down after just eight seconds without voice input, but it at least had seamless integration with the Alexa Skill that we deployed.
Magnet Ball is a competitive, two-player game that is best described as telekinetic soccer. Programmed in Flash using Stencyl and ActionScript 3.0. Teammates: Tyler May, Zuoming Shi, Amy Pribadi, Pooria Rashidi, Valerie Dugie, Scott McGowan, Logan Barnes, Teresa Frazier. The postmortem for this project was published on both my personal blog and GameCareerGuide.
I made the first prototype of this game in one week using Stencyl, which is like GameMaker in that it's a great tool for developing quick prototypes. We were working under a ton of constraints, and since we had less than two months to flesh out the game, we chose to continue developing the game in Stencyl.
The development of Magnet Ball was primarily constraints-driven and prototype-driven. We playtested often, and each prototype would attempt to solve a problem that we observed. For example, we quickly found that players would sometimes get deadlocked into a "tug of war," so I introduced a mechanic that would cause balls to explode when pulled for too long by players:
As we iterated on the game design, we ran into a lot of performance issues with the engine. I did a lot of work optimizing the game's performance by developing shortcuts for the engine's most expensive tasks. Eventually, anything that wasn't core to the gameplay (menus, HUD, special effects, streaming music files, etc.) was handled using custom code outside of the engine.
In hindsight, I wish I had focused more on polishing the physics of the game, because the characters feel a little too floaty and slipperly.
Aeon is a tile-based platformer with a level editor, built in Flash using ActionScript 3.0. This was a single-semester project that continued as a side project for a few additional months. Teammates: Bernadette Parina, Carlos Carbonell, Henry Lopez, Justin Yang, Luke Undhjem, Mike Humphrey.
Because a typical level could have several hundred objects, I wrote a collision detection system that would only test collisions for active, nearby objects. Conceptually, the world was divided into a 32x32-pixel grid, and each "grid tile" maintained a list of objects currently within its bounds. In the visualization below, the bright regions show which regions were currently testing for collisions.
During development, I built and maintained our team's collision debugging tool, which visualized the above algorithm, allowed us to step through the game loop one frame at a time, and save visual markers of object positions across the different stages of the collision detection process.
I also designed and built most of the level editor, which allows you to instantly play your level, save your level to the game's server, and browse a database of other players' levels. I developed the server-side components of the game using PHP and MySQL.
Aeon was one of my biggest side projects. If given time to finish it, I would focus more on polishing how the gameplay feels. For instance, we need to show more feedback when objects are broken, and the jumping physics could use a little bit more polish.
Beat up cars smaller than you to get points! Don’t get hit by bigger cars or you lose your combo! This protoype was built during Ludum Dare #34, and it won the 2nd-place prize for single-person projects at the Seattle Indies LD34 event.
This game was built in Unity. Over the course of the weekend, I started learning how to use 3DS Max and made my first car model for this game. The driving controls are very crude, but for this prototype, having polished controls wasn't as important as testing the core game mechanic.
A two-player fighting game about fighting in the dark. This prototype was made in one day, using Flash with ActionScript 3.0.
A story-based, first-person, unsettling game about an aspiring artist coping with anxiety. Built in Unreal Engine 4 for the Oculus Rift Dev Kit during Ludum Dare #32. Teammates: Evan Witt, Keegan O’Rourke, Kawan Welth.
Kung Fu Wizard Battle
Players use their phones to cast spells on each other using extravagant gestures—think of it as a Wii game but using Android phones instead of Wiimotes. On a larger device, a website displays the moves for the spell, and the first player to accomplish all steps of the spell wins the round. This prototype was built during Global Game Jam 2016. Teammates: Mary Bush.
The phone component of this game was built using only the Android SDK, which I learned how to use over the course of the game jam. The main technical challenges included getting networking set up (especially considering that networking is usually too big in scope for game jams) and dectecting gestures with good-enough accuracy.
Plants vs. Robots
A game where you use plants to avoid robots. Built in 48 hours in Flash using ActionScript 3.0, during a game jam with a two other teammates.
A short run-to-the-right game where you gain new abilities the farther you run. Made in 36 hours during a game jam using Stencyl.
Orange U. Blue
A two-player, 2D shooter with wraparound edges. A prototype built in Java. I later made a C++/SFML version of this game.
My ShoppAR (HoloLens)
This HoloLens prototype was built during Microsoft's first HoloLens Hackathon in May 2016. The project pitch was to augmented reality to create a personalized online shopping experience that allows users to virtually try on clothes before purchasing them. I worked with Caryn Neary, Sean Ong, Yan-Yang Wang, and Ryan Burke.
Now That I'm Gone
A super sad, depressing, story-based game about an old man who’s dog died. Made in 48 hours during Global Game Jam 2015 with six other teammates. Programmed in Unity.
At the University of Arizona, I joined a research project that was trying to use game design to manually gather data on the lives of ants from dozens of hours of video footage. I ported their Java prototype to Flash, made a mobile-friendly prototype, and experimented with different concepts to make the game more fun.
A fighting game where University of Arizona students can find out which of their engineering professors would win in a fight against each other. I joined late in the project, fixing glitches that stumped other students and other tasks to help the team meet their deadline. Built off of the M.U.G.E.N. fighting game engine.
A platformer featuring pogosticks. Prototype built in GameMaker.
2D Racer Prototype
A prototype trying out 2D racing controls. Programmed in Flash using ActionScript 3.0.
A top-down shooter where light is ammo. Prototype built in GameMaker.