ElecTRIO
3-Player Cooperative Puzzle Platformer
ElecTRIO is a cooperative puzzle game for three players unlike any other. Players assume the role of pint-sized “wirelings”, fixing a damaged power station by navigating complex environments and repairing broken connections to restore power after a blackout. On their own, each character is capable of clipping their prehensile limbs onto metal surfaces in the environment, but cannot move easily. Only by linking their appendages together can the players negotiate the challenges in the environment and coordinate their actions to overcome the various obstacles of the game. Inspired in part by games like Getting Over It and QWOP, ElecTRIO produces a profound sense of connection between the players, requiring teamwork, communication, and mutual support in order to progress. You are all only as strong as the weakest link; you must work together to succeed.
The Game
ElecTRIO is a 3-player cooperative puzzle platformer made in Unity C# originally for the Global Game Jam 2018, but eventually extended to my Senior Capstone Project at UC Irvine. Capstone was a two-quarter class in which we worked on small teams of four to seven people to develop a game from ground-zero in twenty weeks with the help of industry mentors, from companies such as Blizzard, Amazon, etc. The team consisted of seven students and one graduate, five of the others were in the capstone class with me, Tori was an artist that we had had on previous projects that we asked to help us during our second quarter, and John was a friend and recent graduate of UC Irvine that worked with us at the Global Game Jam and additionally throughout the rest of our capstone class. Our mentor for ElecTRIO was Chris Subagio, a Senior Software Development Engineer for Amazon Alexa.
Our original game for capstone was Blobcano, but at the beginning of the second quarter, we discovered an interesting feature in the game where you could connect to multiple other blobs to form chains and navigate together throughout the arena. With the Global Game Jam approaching, we decided to (with the exception of Brad, who decided to work on a different game with his friends) make a game based off of the mechanic we had found. And so, ElecTRIO was born.
The design process for ElecTRIO was quite an interesting one: we had the idea for the general mechanics of the game, but we weren't sure how we wanted to implement them, or what sort of theme we would want for the game. The theme for the Global Game Jam 2018 was Transmission, and after playing around with a few different ideas, we settled on the idea of electricity and transmitting power.
There was also a new sponsored prize at the jam this year: the iThrive "Find the Kind" diversifier. In order to compete for the main prize of $500, your game had to incorporate a theme of kindness and helping others. As the idea of navigating the world together was inherently cooperative, we all decided to pursue this prize.
Additionally, we decided that we wanted to make a 3-person cooperative game, for a few different reasons. For one, it was unique, as there were no three-person cooperative games we could think of. And more importantly, it required the right amount of communication skills: two players was too few, and four was too chaotic.
And so development began. With the theme of transmission in mind, we got the idea that in addition to having to navigate the environment together, it would be interesting if you had to perform tasks together, in particular we had the idea of powering doors to open them, as well as generators to light up the city.
Cut to the end of the jam. We worked incredibly hard on the game and were exhausted. After presenting our game at the showcase, we waited for people to come playtest our game. The results were almost magical: it was amazing to see three strangers who had never met and never played our game come together in order to tackle the challenges presented in ElecTRIO. When Heidi, the representative from iThrive, came to test our game for the contest, we were nervous. But luckily, she loved the game as well!
In the end, we ended up winning not only the main prize of $500 for our team, but also an additional $25 for best design. It was a groundbreaking moment for our team. None of us had ever won any prizes for programming before.
Our professor, who also runs the Global Game Jam site at UC Irvine, loved ElecTRIO so much that he urged us to switch development in our Capstone class from Blobcano to ElecTRIO. After some debate between our team, we decided to wrap up development on Blobcano and switch to ElecTRIO for the remaining eight weeks of the quarter. However, Blobcano had reached a state that was pretty much feature complete and polished, so at our end of the year showcase, we were able to show both games.
Post-capstone, our professor urged us to continue developing ElecTRIO and submit it to Indiecade. He even offered to sponsor our submission. Unfortunately, our team had split up: some of the members graduated, but some were still at UCI, and we were unable to find a way to make things work out. Nevertheless, at the end of that quarter, our professor still was insistent that we submit to Indiecade, even with the version that we had from Capstone. And so we did.
Here was the game trailer that we submitted for Indiecade, based off the version of ElecTRIO that we had made in only eight weeks. Sadly, we did not make it to Indiecade, but I believe that if we had been able to develop the game for another ten weeks, then we would have had a much better chance.
Our Global Game Jam submission page can be found here.
The Team

The Lessons
The main thing that I learned from ElecTRIO was the complete process of level design, as well as how to facilitate it. I not only designed and built the last four levels, but I also built a Unity Editor tool which allowed me to easily build the levels in the editor. This also allowed Quinn to build the first two levels with ease. It was an extremely fun and rewarding process to create these different levels. Simply starting with a basic theme, I was able to prototype these levels, and have it fully fleshed out in the editor in a matter of 30 minutes to a few hours per level.
The way the level editor worked was that you could load different prefabs into it, and then specify how you want to spawn them. For the metal and wood beams, you could adjust the position, scale, and rotation. You had to manually enter the scale and rotation, but for the position, you could click in the game scene and get the spawn point that way. There was also an option to snap it to the Unity grid, basically rounding the decimal values to the nearest whole number. Additionally, there was a wireframe preview drawn of each piece in the game view (using gizmos), in order to see what you will spawn before you actually create the GameObject. To spawn the objects, all you had to do was press Enter on the keyboard or the Create button on the script component. For the doors, you could specify the spawn points of the two switches as well as the door. This system allowed for much faster and more streamlined level creation, as it was much more efficient than having to drag and drop in each prefab and then manually position, scale, and rotate each of them.
I also created all of the particle systems. I was particularly proud of the laser doors, as well as the grab particles for both electric and metal surfaces, as I thought that they were distinct and their intentions were clear.
In terms of programming, besides making the level editor, there was not a whole lot that was special for this project. I programmed the user interface for the menus, designed and implemented the Level Select screen, programmed the doors, etc. Mostly, these were things that I had done before on previous projects.
Additionally, I learned about formal game submission (to Indiecade) and the process that it takes to put the final polishing touches on a project. While we didn't make it in the end, I learned valuable lessons about what it takes to make it to a formal festival like Indiecade, so I will be more prepared in case I ever choose to submit something else in the future.