Thursday, November 12, 2009
Conan - Melee System Overview
For the uninitiated, Conan is a brutal hack and slash combat game that combines scalable abilities upgrades with strategized battle interactions. You can get an overview of the gameplay in this article: Edge Review - Conan
I'm attempting an overview of the melee specific weapon system we implemented using FMOD Designer and other Nihilistic proprietary in-house tools. Throughout the process, the overarching goal was to add diversity and brutality to what is the main focus of the game. The use of content level variation, pitch and volume randomization, and elemental layering allowed us tomake the sounds of combat non-repetitive over the course of the game.
In the system that we built, weapons were able to perform the following actions:
In a game so heavily focused on combat where you spend each level mowing down enemies from start to finish, we knew that we had to make a combat system that reflected the core gameplay objective of giving the player diversity while making the sound varied enough to prevent fatigue.
Hit's are defined as actions that impact an NPC and cause damage, and we were tracking both Light and Heavy hits.
We used a game parameter for surface type that was passed from the games collision detection to FMOD in order to track what surface was being impacted. The FMOD Event that was triggered was based on the weapon type being used by either the player or NPC and whether the hit was Heavy or Light or Deflected, it then received it's material type parameter and jumped to it's correct position within the FMOD event where it then layered the impact sound depending on weapon and material type.
For a Hit Light or Heavy we layered the following things where applicable:
Base Layer (Weapon type specific)
-Axe Dull Heavy
-Axe Dull Light
-Axe Metal Heavy
-Axe Metal Light
-Axe Solid Heavy
-Axe Solid Light
-Sword Dull Heavy
-Sword Dull Light
-Sword Metal Heavy
-Sword Metal Light
-Sword Solid Heavy
-Sword Solid Light
-Sword Wood Heavy
-Sword Wood Light
Hit Accent (Material Specific)
Hit (Thud) Actor Specific
-Flesh Boss Specific
Hit Ringoff (Weapon type specific)
Hit Blood level
-Blood Splash Small
-Blood Splash Medium
-Blood Splash Large
-Blood Splat Small
-Blood Splat Medium
-Blood Splat Large
Hit Special Ringoff (Weapon specific)
-Used for special Conan ringoff
Piling up the above elemental content into an audio middleware tool where everything is recombined at runtime the effects of different weapons and material hit's randomized when trigered sound like this:
Combined Weapon Hit Impacts
-Axe Light Flesh
-Axe Heavy Flesh
-Axe Heavy Stone
-Axe Heavy Armor
-Sword Light Flesh
-Sword Heavy Flesh
-Sword Special Flesh
-Sword Light Stone
For non-damage causing hit's usually specifically involving weapon interaction with the environment, we used a different Event for deflections.
Similar to the Hit system outlined above, we layered the following things when a weapon type deflected off a surface:
Base Layer (Weapon type specific)
-Axe Dull Heavy/Light
-Axe Metal Heavy/Light
-Axe Solid Heavy/Light
-Sword Dull Heavy/Light
-Sword Metal Heavy/Light
-Sword Solid Heavy/Light
-Sword Wood Heavy/Light
Deflect Accent (Material Specific)
-Used for extra heavyness
These were combined at runtime each time the sword deflected off a material in the environment. Additional limiting of the number of voices for the deflect event helped to prevent "stuttering" as the weapons blade tracked through an object. FMOD's Event limiting system is well equipped to handle this aspect of implementation by providing mulitple max playbacks, and max playback behaviors.
The system we built for Conan built to the strength of the IP and the genre.
Conan - Melee Combat Sound from d k on Vimeo.
Fable2 - The Way of Layered Weapon Sound
In Fable 2 there were 7 types of melee weapons with 5 levels of sound interaction: Swipe, Strike, Scrape, Ring, Block, and Flourish.
Swipe – the sound of the melee weapon swinging through the air.
Strike – the muted hit of the weapon striking any object.
Scrape – the sound of the weapon scraping as it passes through an object.
Ring – the pleasant ring of a weapon that has struck cleanly.
Block – a dissonant clang of the weapon as it collides with another weapon.
Flourish – a special longer, sweetened version of the weapon swipe to convey the sense of a move with greater power.
Sound for these different actions were combined and randomized according to type with weighting and some with the potential to not play when triggered.
For instance when the Player connected a hit on an NPC the game would play a Swipe, followed by a combination of Strike, Scrape, Ring in order to arrive at a coherent impact.
By breaking out the separate elements of each melee type and allowing for content and parameter variation the diversity of swings and impacts are increased. As we continue to move forward with larger worlds that demand less repetition of often repeatable actions, the elemental approach to combat continues to be our greatest asset in driving toward less fatiguing audio.
Also see Video: New Fable 2 Developer Diary Talks Audio
Article: The Sound Design of Fable 2: How We Scaled to Beat the Clock