Gameplay Journal : Guilty Gear Xrd

Sentar
2 min readJan 27, 2021

Guilty Gear Xrd is built within Unreal Engine 3. A larger departure from their in house engine made to render 2D sprite assets for their game. Arc System Works would’ve created their own engine but it wasn’t beneficial for their expected times tables. Unreal 3 was at the end of its life cycle so it had many tools already developed that helped the mostly art focused Team Red. The challenge they faces was how to create and render 3D characters as if they were 2D. With their previous titles like the Blaz Blue series and others, they have used 3D models to assist their pipeline but never used it wholesale. Their initiative with this game was to ‘break everything 3D’.

To achieve their goal, they had to use unconventional methods. Instead of traditional textures, they instead mapped colors to the model’s vertices. This was to prevent noticeable pixilation during close up shots, mapping the colors on the model itself has the beneficent of lossless vectors without the need of high resolution textures. Saving performance through in engine improvisational techniques is honestly a staple in game development. The original Doom had to develop cost effective all the time, “the ‘window’ is actually a sector with higher floor and no middle texture”. To give the characters a hand drawn, flattened illusion, they used a few lighting tricks. Instead of global lighting, each character had their own lighting source. Since they had their own lighting source, they were able to use normal maps to influence the shading, allowing the artists to determine the shadows of each from of animation. The techniques and tools developed here were made as needed while going through the cycle. What I’ve learned through much of the readings and understanding of these games is that game engines requires the tricks.

Footage: https://youtu.be/SrWNcJS19cc

Citation:
Sanglard, Fabien. “Fabien Sanglard’s Website.” Fabien Sanglard, 27 Jan. 2021, fabiensanglard.net/doomIphone/doomClassicRenderer.php.

--

--