Building Brawl-Handling Interacting Characters in EA Sport's MMA
fighter team fighters game mma system sweat animation texture
The EA Tiburon Studio, based in Orlando, is no stranger to player vs. player interaction. As the studio behind the Madden juggernaut, the Fight Night series and several more sports-related titles, they essentially wrote the book on interactions between game characters. Their latest release has pushed the authenticity of character interactions and deformations closer to real life than ever before.
Mixed Martial Arts (MMA) is a brutal, bloody sport that requires close contact between fighters with muscles and sinew only hidden by an occasional tattoo. Capturing the full effects of the body's deformation to a hit or a kick is essential to the realism of the sport and the studio has revealed some interesting facts about their knowledge in creating such realism.
Figure 1: EA Sports MMA, the most realistic fighting game ever
The Development Dream Team
The EA Tiburon team responsible for the MMA title was refreshingly open about their processes and techniques and the interview questions shed some light on this tricky endeavor. The responsible party includes Rob Hyder, the Lead Producer; Simon Sherr, Animation Director; Volga Aksoy, Graphics Engineer; Rob Williams, Gameplay Engineer; and Jerry Phaneuf, Art Director.
Game development for the MMA title started back in 2007 with a team of five or six putting together basic game functionality, designs and an animation prototype. From here the team grew steadily and the entire project was completed in just over two and half years.
The key to completing this game in a relatively short timeframe was that the team had access to a lot of technology that was created for the other EA Tiburon released games. This allowed them to focus on making a great game without having to build everything from scratch. The team harvested animation, rendering, sound, AI, speech, load/save and online pieces, which put them ahead of schedule.
A good example of this was the animation system. Rob Hyder mentioned, "Our animation system allows animators and designers to create base gameplay without the need of an engineer. Adding new punches, adding ground positions, changing timing windows, changing damage or reaction severity; all of this can be done independent of any coding. This gives us much faster iteration times, and it allows our engineers to focus on other more difficult problems like physics/animation interaction or putting in online features like Live Broadcast."
Capturing the Fighter's Nuance
Each MMA fighter has a unique look and style and capturing these is paramount to the game experience. The polygon budget for a single fighter (including shorts and gloves) was roughly 40,000 triangles with the head having 8500 and the body around 11,000.
The various texture channels also added to the realism of the fighters. Each fighter had 1024x1024 textures for the albedo (diffuse), regular normal, flexed normal, specular mask (with specular cosine power as a separate channel), sweat breakup normal, damage and blood zones, reflection cube map and ambient occlusion texture channels. They also included several runtime-generated textures like SSAO (Screen Space Ambient Occlusion), SSS (Sub-Surface Scattering) and shadow maps, which contributed to the final look of the fighter.
A good example of how textures were used to create realism was in creating the sweat trails. These sweat trails (Figure 2) were created using a specular mask that is ramped up over the duration of the fight. It is combined with a sweat normal texture that starts to blend in over the regular normal map when sampling the reflection cube map. There were also sweat particles that spawn from predetermined points to fall to the ground.
Figure 2: The "sweat trails" develop over the course of the fight.
Tattoos (Figure 3) and scars are another common defining element of many fighters. Volga describes how these were baked into the diffuse texture, "When a fighter is being loaded into memory, the necessary tattoo images are also pulled into memory as well and baked into the albedo (diffuse) texture of the fighter using a ’UV translation’ mesh, so that the tattoo image can be warped properly to match the UV layout of the required zone on the fighter body or face. Once the tattoo is baked into the texture and DXT compressed at runtime, the pre-loaded tattoo image is unloaded from memory as it won’t be used anymore."
Figure 3: Tattoos are baked into the diffuse channel and then unloaded from memory.
Clothes, unlike tattoos, are standalone meshes with their own textures and shaders. They are skinned to the same joints as the fighter they are fit to. As part of the Create-A-Fighter feature, any logos that are added to a fighter's shorts are baked into the texture at load time. This prevents having to load the logo textures while rendering. To make sure that the body does show through the clothes, a z-bias was added to the shader that renders the clothes.
The hair was modeled using a "hair cap" to define the base color and scalp volume; "hair cards," which contained the alpha to coverage polygons, were used to create the semi-transparent hair. The team was fortunate that there weren't any really long hair models, so physics wasn't an issue.
To capture the fighter's motions, each fighter was recorded performing a base set of motions along with any fighter-specific strikes using a portable XSens MVN motion capture suit. These recording sessions took place at the studio in Vancouver and also at Orlando's Florida Interactive Entertainment Academy (FIEA) facility.
The motion capture data was used as a starting point. The data was loaded into MotionBuilder and heavily keyframed to match the gameplay requirements and visuals. All fighters share the same source animations, but the procedural animation system lets the team tune the visuals in real-time giving each fighter a unique look and feel.
During the motion capture sessions and as the game development progressed, the team had the chance to interact with the various MMA fighters. Rob Hyder describes this, "One of the best parts of this project was the time we got to spend with the fighters. These are great folks, very humble, very real, and often times funny, insightful, and wise. There were some worries about whether these guys were going to be cool to work with. My team actually used this concern that I had about one of the fighters, Jason’Mayhem’ Miller, to play a prank on me. Jokes aside though, Mayhem is a really cool guy and our team loves working with him and the rest of the fighters in our game."