Livio De La Cruz

Freelance Unity3D Programmer

Livio's Games Portfolio

TankXP VR

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.

Play the gameRead the postmortem

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.

Play the gameRead the postmortemWatch a video

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.

Play the gameView source code

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

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.

Play the gameRead the postmortem

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:

During playtests, we learned that gamepad support was essential, but since Stencyl (at the time) published only to Flash player, supporting gamepads wasn't trivial. I implemented a solution using an open source browser extension, some custom JavaScript on our game's webpage, and some native code inside of our Stencyl project. It's likely that I was the first Stencyl developer to get gamepads working with the engine. The solution met our constraints, but since it had drawbacks that wouldn't make it viable in the long-term, I also made sure to develop a controls customization menu for keyboard users.

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

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.

Play the gameView source code

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.

Interstate 34

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.

Play the gameView source codeRead the postmortem

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.

Fighting Blind

A two-player fighting game about fighting in the dark. This prototype was made in one day, using Flash with ActionScript 3.0.

Play the gameRead the postmortemWatch a video

Laughter (VR)

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.

Play the gameWatch a video

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.

Play the gameView source code

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.

Play the gameView source code

Robot 3000X

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.

Play the gameView source code

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.

Play the gameView source codeWatch a video

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.

Play the gameView source code

Angry Ants

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.

Play the gameRead our research paper

Course Combat

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.

Captain Pogostick

A platformer featuring pogosticks. Prototype built in GameMaker.

Play the gameView source code

2D Racer Prototype

A prototype trying out 2D racing controls. Programmed in Flash using ActionScript 3.0.

Play the gameView source code

Nightlight

A top-down shooter where light is ammo. Prototype built in GameMaker.

Play the gameView source code