Role: Designer, Programmer
Launch: August 4, 2017
Development: November 2014 - January 2018
Tools: Unity3D, C#
Eruption is my capstone thesis: a 3D game where players are a volcano that earns fame by killing its island’s inhabitants and thereby earning their fear and respect. It was developed in collaboration with Cody Childers, Alex Zapalac, and Vincent Levy. Art assets were developed by our team at San Jose State University and our composer is a member of the Game Audio Network Guild.
We demonstrated the game at MAGFest 2016’s Indie Videogame Showcase, where attendee feedback was so positive, we launched a greenlight campaign and were greenlit June 28th, 2016. After fixing bugs, adding new features based on player feedback, and establishing a studio we launched the game August 4th, 2017. One final update was made in January 2018 providing Steam Achievements, a level select screen, and a new ending cinematic.
I designed and tested most of Eruption’s player-facing systems and mechanics including camera controls, user-interface, tutorial, and player actions. Designing player actions was an iterative process. In the beginning we formed design pillars, though we never explicitly laid them out. We wanted players to
Feel powerful when they used the volcano's abilities (BLOW STUFF UP)
Players can command their powers with ease and precision
Provide players interesting decisions
Each feature was implemented in code with placeholder textures and models. We presented these features to classmates, program advisors, and festival attendees. Any feedback we got frequently enough we considered incorporating into the game (if it was within technical scope). Some of these asked for features that would break other mechanics, so we had to find ways to incorporate the general idea (challenge tweaks, etc.) while maintaining the game’s balance.
I drafted the guidelines for our islands’ terrain so we could program the lava traversal algorithm. Our game featured unique mechanics so I used miniature golf as the base of our guideline, then our main level designer used these guidelines to create three islands in our game. Based on player feedback, I added a new island with varied terrain for players to practice using their volcano powers.
I implemented eight of the eighteen levels and balanced every island’s power and procedural population distribution in .csv files. Finally, I ordered game levels according to Nintendo’s application of the kishoutenketsu narrative style. This forces the game to expose players to new powers and targets on an incremental basis, making level progression engaging while ensuring players gain the skills they need to continue.
Level testing needed to balance procedural population numbers against three islands with different terrain. I played through them with different attention spans to represent three unique skill levels, permitting lower skill levels to make it through early stages but preventing them from reaching more difficult ones.
Our Advisory Board requested a tutorial due to the game's unique mechanics. I wrote 25+ steps across the first two levels to guide the player through the game. Camera movement and animated images were coded into the script to find objects and use the controls. The introduction of temples, Lightning, and Earthquakes were provided with a few images and summaries. The tutorial only appeared once, but we allow players to turn it on in the options screen.
The original text was succinct, but our advisor told us that it broke immersion, so I had to accommodate that with narrative design, and other feedback requested an in-game explanation for the player-volcano's need to destroy. The text went through four drafts, and the result was a descriptive tutorial that instructed players while maintaining the immersion we wanted to provide.
I was responsible for implementing most of the systems I had designed: user-interface, game lifecycle, and power and camera controls. I consider those the most interesting components of the game. Feedback from MAGFest attendees was overwhelming positive in regards to my work: players rarely speak about the controls of a game, but attendees found the game easy to pick up and play without the tutorial.
Interpolation of custom camera movement and UI objects were programmed with the DOTween API. Its Sequence class let me hand-code end-game cinematics and tutorial components. After graduation I studied Unity3D’s rendering system and modified our shaders in ShaderLab to make lava textures move in a circular fashion that tricks the player's eyes into seeing lava flow.