VoodudesGame Type: Single player third person Action-Adventure game
Engine: Unreal Development Kit Team Size: 15 developers (4 Level Designers) Position: Lead Level Designer Development Time: 5 months (including pre-production) - 20 hrs/week |
|
Game Description:
Voodudes is an Action-Adventure game set in a stylized, Voodoo themed New Orleans. Players assume the role of a voodoo doll named Virgil and quest to save the world from a powerful sorcerer named Baron Samedi. The game features fast-paced combat, light platforming challenges, and extensive exploration. With a diversity of enemy encounters, boss battles, and distinct skills and combat styles to choose from, Voodudes offers hours of gameplay, tailored to each player's individual preferences.
My Role:
As Lead Level Designer for the project, I was responsible for coordinating a team of four Level Designers (self included) and the Game Designer in creating six levels for a total of two hours of gameplay. In addition to leadership duties, technical documentation, establishing area metrics, and crafting the world design, I created my own complete level, two boss fights (including the AI template used for each boss in the game), and the central HUB area, including all scripting for level progression, save-game state logic, level streaming and optimization, and world lighting, post-processing, and fog settings. I always strive to lead by example, and in order to meet my own personal quality expectations, I consistently worked from 150% to 200% of the required weekly hours for the project.
Voodudes is an Action-Adventure game set in a stylized, Voodoo themed New Orleans. Players assume the role of a voodoo doll named Virgil and quest to save the world from a powerful sorcerer named Baron Samedi. The game features fast-paced combat, light platforming challenges, and extensive exploration. With a diversity of enemy encounters, boss battles, and distinct skills and combat styles to choose from, Voodudes offers hours of gameplay, tailored to each player's individual preferences.
My Role:
As Lead Level Designer for the project, I was responsible for coordinating a team of four Level Designers (self included) and the Game Designer in creating six levels for a total of two hours of gameplay. In addition to leadership duties, technical documentation, establishing area metrics, and crafting the world design, I created my own complete level, two boss fights (including the AI template used for each boss in the game), and the central HUB area, including all scripting for level progression, save-game state logic, level streaming and optimization, and world lighting, post-processing, and fog settings. I always strive to lead by example, and in order to meet my own personal quality expectations, I consistently worked from 150% to 200% of the required weekly hours for the project.
Responsibility Highlights
Lead Level Designer
- Systems Design: Worked closely with the Game Designer to balance character attributes, six abilities, and eight basic enemy types, as well as currency drops and item costs
- Team Management: Structured the design pipeline for optimal workflow, buy-in, and quality
- World Building: Managed overall map design, level streaming and world progression. Created an eight piece prefab system that allowed for rapid construction and iteration of level geometry, while minimizing required loading screens. Created central HUB to connect each of the levels
- Scripted Boss AI: Scripted AI for the final game boss, working closely with the Game Designer and another Level Designer to integrate cinematics and boss abilities
- Music Framework: Set up the audio framework to allow the Producer to easily add music / sounds to the game without disrupting designer work flow
- Individual Level: Created one full level: Jackson Square, in addition to fulfilling all Lead responsibilities
Systems Design
Player Abilities
Players may have up to three abilities equipped at a time. Each ability fulfills a unique niche, and has its own strengths and weaknesses. One of the fundamental pillars in designing Voodudes was character customization, and even with these six core abilities, there are a variety of play styles to choose from.
Bear Claws: Standard 3 hit melee combo. Deals damage in an arc in front of the player. Steals health with each successful attack
Bone Chicken: Crowd Control ability. Thrown bomb that sucks enemies in before exploding
Feeding Frenzy: Linear AOE attack. Damages enemies and knocks them into the air
Needle Barrage: Single target ranged attack. Rapidly launches multiple homing projectiles
Spirit Rush: Dashing melee attack. Deals major damage to primary target and minor damage to nearby enemies. Steals health with each successful attack
Tarot Reading: Protective shield that damages any enemies that make contact. Prevents dodging while active. Explodes into a nova on expiration
|
Balancing Melee vs Ranged Builds
One balance conundrum that has plagued games for ages is that of melee vs. ranged characters, and Voodudes was no exception. In our initial designs, the player constantly regenerated health, and ranged abilities had a minor health cost to approximate the typical fragility of a ranged character. However, this system had negative consequences for gameplay, since it actively disengaged players from combat, or they quickly died without realizing their attacks were draining health. Ranged builds had a strict advantage that could not be overcome with sheer numerical advantages in melee skills.
We ended up solving the problem with a variety of small adjustments. In the final build, player health regeneration stops if the player has been damaged in the past six seconds, forcing all characters to play more carefully, and mitigating the advantages of imperfect kiting. We removed the life drain on ranged attacks and instead added life stealing to the two primary melee attacks, encouraging active combat. Additionally, strafing and backpedaling suffer a move speed penalty, allowing enemy combatants to close the distance to ranged player builds and force them to dodge. The mobility afforded by the dodge ability also helps melee builds close the gap to enemies much quicker. Beyond this, the level design team added a variety of play spaces to balance different encounters - from wide open plazas to claustrophobic alleyways.
We ended up solving the problem with a variety of small adjustments. In the final build, player health regeneration stops if the player has been damaged in the past six seconds, forcing all characters to play more carefully, and mitigating the advantages of imperfect kiting. We removed the life drain on ranged attacks and instead added life stealing to the two primary melee attacks, encouraging active combat. Additionally, strafing and backpedaling suffer a move speed penalty, allowing enemy combatants to close the distance to ranged player builds and force them to dodge. The mobility afforded by the dodge ability also helps melee builds close the gap to enemies much quicker. Beyond this, the level design team added a variety of play spaces to balance different encounters - from wide open plazas to claustrophobic alleyways.
Team Management
Select shots from each area of Voodudes
As a leader, I tend to favor a hands off approach, giving team members as much freedom as they can handle while setting broad constraints to keep the project to consistent quality. Because of our small team size and the short development time for Voodudes, I decided to give each level designer full ownership of their own levels. This had several benefits:
- Improved buy-in and accountability among the designers, and friendly competition to make the best levels possible
- Minimized conflicts during construction, preventing the designers from overwriting eachother's work
- Allowed for much broader diversity of areas, each with its own unique flavor
- Simplified playtesting by enabling each designer to quickly sift through feedback and find relevant information
- Helped streamline the art pipeline by working from large-scale to small-scale props, rather than trying to bring each level to completion sequentially
World Building
Map Design, Rapid Iteration, and the Prefab System
Originally, we designed Voodudes as a hub and spoke model open world. However, since we had no levelling system for the characters or enemies, and since we still wanted to create some difficulty progression, we decided to synthesize an open world approach with some level progression. After completing the Intro and Market District, players can tackle the remaining three levels in any order. Once all levels are complete, players face Baron Samedi in a final boss battle.
We found this system offered the best of both worlds: a reasonable difficulty curve to allow players to create their own playstyle, as well as a semi-open world with the freedom to explore.
We found this system offered the best of both worlds: a reasonable difficulty curve to allow players to create their own playstyle, as well as a semi-open world with the freedom to explore.
During pre-production, I worked with the art team to establish precise metrics for constructing modular pieces which we level designers would use to build the world. Using these basic building blocks I constructed eight prefabs which the design team used to rapidly prototype and test the play space for each level. This saved the manual labor of creating each new street corner from scratch, allowed for rapid prototyping early on, and ensured that each level transitioned seamlessly with the others.
A 3D view of the above prefab layout as seen in the editor. In the original world design, I had requested that each level form a looping path in order to minimize dead walking time. After playtesting, we found that the looping design caused confusion and backtracking, so we instead added a teleporter after each boss to warp the player back to the hub. The remnants of the original looping layout are still apparent in several dead-end areas, offering hidden niches and rewards for players to discover.
In our original designs, we had planned for three extra levels (one per level designer). After grasping the scope of our game, two weeks before Vertical Slice we made the decision to cut these levels before any work time was lost in creating them. The gaps are still present in the map, allowing for easy future expansion of the world.
In our original designs, we had planned for three extra levels (one per level designer). After grasping the scope of our game, two weeks before Vertical Slice we made the decision to cut these levels before any work time was lost in creating them. The gaps are still present in the map, allowing for easy future expansion of the world.
Checkpoints
As manager of the hub and level progression logic, I was also responsible for implementing the checkpoint system. We created two types of checkpoints. The first is the standard invisible checkpoint, which simply toggles a new spawn point and disables all other spawn points when activated. The second gives the player access to a mini-shop, where they can freely change their equipped abilities. This removes the tedium of having to return to the hub to respec, and allows players to freely experiment and adapt their playstyles to the challenges they face in each level.
Dynamic color changing lights, moving parts, and dancing particles help the mini-shop stand out against generic level architecture, making sure players don't miss these important points. When the player enters saving range, a randomly chosen verbal callout plays, helping create a responsive environment and adding little snippets of humor to the game.
Scripted Boss AI
The final boss battle in Voodudes. Scripted in Kismet, the boss uses a state-based AI to randomly choose between attacks, based on his current health. This AI skeleton follows the template I established for all Level Designers on Voodudes when scripting their boss battles. However, this fight in particular was slightly more complex, because I was working with the Game Designer and another Level Designer to integrate the cinematics and the Chicken Bomb attack which they made.
Using the same AI template I developed for Jackson Square, I scripted the final boss battle for the game. I was responsible for integrating separate cinematics and the Chicken Bomb attack into the AI rotation, as well as scripting the logic for the actual fight itself. Since many of the Baron's attacks are based on those used by other bosses, I made this battle stand out through extensive use of teleporting attacks, constantly pressuring the player and presenting a significant challenge for the final culminating experience of the game.
Music Framework
Since our producer had no previous Kismet experience, I set up a simple music control bank and trigger template for him to use when adding music to the game. On the left is the control bank that governs all remote events for playing and stopping music. Each colored area corresponds with a level, using the same color code and layout as the world map. This makes it easy to quickly find a particular music track transition event and change it.