Posted by on Jun 3, 2012 in | 0 comments

About the Game

Engine: Unreal Development Kit (UDK)

Team Size: 15 (9 level designers, 3 programmers, 3 artists)

My Role: Level Designer & Sound Designer

Development Time:  6 Months

Concept: Rite of Elements is a third-person, single player, action/puzzle game, designed for the Xbox 360 and the PC. Set in an original dark fantasy setting , RoE is a blend of exploration, puzzle solving, and action, and exploration. Payers take on the role of a young mage who ventures into a cursed ruin known as the Chamber of Ordeals, using sympathetic magic to form links between elemental sources provides a unique take on environmental interaction. Each level introduces a new element for the player to master – fire, water, earth, and finally a level where the player must use all three elements before confronting the game’s final boss: the Spirit of Storms.

Throughout the course of the game, the player solves puzzles by using three elemental bindings (Fire, Water, and Earth), taking one elemental object as a source and binding its influence onto another object.  Each binding has three unique applications and effects, allowing the player to interact with the environment in different ways.

 

About My Role: Level & Sound Design

My contributions to the project include:

1.) Designed and drafted documentation for the “Lost Reservoir,” a level that introduces players to the Water Binding mechanic, and implemented two of its puzzles from concept to RTM.

2.) Served as sole sound designer/composer, in which role I created, edited, and/or recorded over 180 sound assets through Audacity and Apple Garage Band.

3.) Composed including five original songs for the game’s soundtrack through Apple Garage Band.

 

Level Design Goals

Introduce the Water Binding Mechanic: My level serves as both an introduction platform for the water binding mechanic (explained below) and as the primary stage for the mechanic to shine. As such, I introduced it with simple, tutorial-style puzzles that prevent the player from progressing before they fully grasp the mechanics. As the “Lost Reservoir” also takes place after a fire-themed level, I took steps to incorporate fire binding mechanics the player had just learned.

Use a mix of flow types: To balance the need for tutorial bottlenecks while allowing for greater player agency later on in the level, I used a mix of flow types. The level begins linearly, then branches into a hub-and-spoke area where the player may solve three puzzles in any order they choose.

 

Persistent Player Goal: I wanted a mechanic that could serve as a constant visual reminder of the player’s  progress through the level, something that could fill dual roles as a helper and an environmental hazard. The player solves puzzles to manipulate a giant boulder which crashes through gates and opens new paths for them. In the final sequence of the level, however, players find themselves on the wrong side of the boulder and must run for their life!

 

Elemental Binding Mechanics

Elemental binding is RoE’s primary mechanic. The player targets one element and absorbs its power as a “source”, then targets another object and applies the stored power to it. The player has access to two elemental bindings when playing my level, “The Lost Reservoir” – fire and water. Possible interactions are defined below.

Source Element Type Description Binding to Fire Target Binding to Water Target Binding to Earth Target
Fire Destructive element that heats or destroys objects Increases intensity of the target fire Produces steam that can move the player or other objects Target radiates heat damage and produces light
Water A neutral element that causes objects to take on fluid properties Extinguishes the target, reducing the heat and light to zero Target takes on the fluid motion of the source Target becomes translucent, immune to damage, and loses collision

 

Walkthrough: Puzzle 4

The player begins at position (A) and must flip the switch at (G). There are two platforms at (B) floating on water that would bridge the gap, but the water level is currently too low for them to be of use. Water in the right basin (D) is close to overflowing, so if players apply the current from basin (C), water in the former will begin to flow out. However, the circuit is incomplete because of a gap at (E), also seen in the image below. The player must push/pull the box at (F) to block off the gap and complete the circuit. This allows the water to flow into the basin at (B) and float the platforms, opening the way to the switch.

 

Walkthrough: Puzzle 5

 A raft (A) sits on still water in the middle of a large, circular basin (D).  Two side rooms (B) are clearly lit on opposite sides of the basin, indicating points of interest for the player. Once on the platform players bind the circular flowing water from the outside ring (C) to the inner body of water (D), it begins swirling as well, moving the raft around the room.  Once the raft is moving, the player must dodge spikes (E) which are  jutting in and out of the central structure every few seconds by either positioning themselves on the raft or stopping the moving water current.

Once in the side room, the player uses one of the braziers (A) as a fire source.  They then bind the fire source to a water basin (B), creating steam. This steam drives the turbine directly above (C), powering machinery and completing this puzzle.

 

Scripting

Example 1: Gradual Raft Acceleration/Deceleration Via Binary State

The Concept: A raft moves in a circular track around a pool of water depending on whether or not the player has caused the water inside it to churn. A simple binary on/off state for playing a Matinee on the interp actor raft was functionally acceptable, but aesthetically unrealistic because it started and stopped its movement instantly. I wanted there to be a gradual ramp-up and ramp-down in speed.

The Initial Solution & Challenges Encountered: I first appended a looping float counter to the playrate of the Matinee that either increases it or decreases it in increments of 0.05 (1.00 being full speed). If the raft was moving (tracked via a boolean) it increased the number and vice versa. This worked fine if the player waited until the raft had fully accelerated or decelerated before changing its state. However, the binding mechanic that changes the water pool’s state has no delay between casts, so the player could break the scripting’s logic with rapid-fire casts by causing the float counters (addition and subtraction) to work against each other in an infinite loop. One option was to simply remove the player’s ability to interact with the water pool if the raft was in a flux state, but this limited control and was something I wanted to stay away from.

The Final Solution: I implemented a system to keep track of not only whether or not the raft was moving/at rest, but also if a float counter was currently in an active loop. This allowed me to detect interruptions, passing a signal to the active float counter to break out of the loop and allow its counterpart to take over.

 

Example 1: The Result in Action

 

Example 2: Simulating Water Flow

The Concept: The player binds a flowing water source to a pool of still water, causing it to overflow into a carved canal. If the player has previously plugged up the canal with a moveable block, the water fills. If the player has not positioned the block, the water spills out and does not fill the canal. Otherwise, if the player moves the block into position after starting the water flow, the water should behave appropriately and begin to fill the canal at that time.

The Solution: After the initial stage of Matinee where the water begins to overflow, I check a named (global) variable to see if the player has moved the block into position. If the block is not in position, the matinee pauses here and does not continue the water flow through the canal. However, if the player moves the block into place afterwards, a remote event tells the matinee sequence to begin playing again, picking up where it left off and filling the canal.

 

Example 2: The Result in Action

 

Original Soundtrack

I composed five original songs for Rite of Elements with Apple Garage Band and a midi keyboard. No pre-made loops were used. To ensure that I made informed choices about which instruments to use in which pieces, I consulted with the game designer to discuss the culture and feel of the world. The finished products got a lot of kudos from the team, and are available for listening below in MP3 format.

Main Theme Song

Water Level Song

Intense Song (Boss Fight)

Fire Level Song

Earth Level Song

 

Full Sized Gallery