Submit a news tip



Saber Interactive on how it got The Witcher 3 running on Switch

Posted on December 5, 2019 by (@NE_Brian) in News, Switch

Original developer CD Projekt Red was involved in bringing The Witcher 3: Wild Hunt to Switch. However, Saber Interactive handled a great deal of the technical work. In an interview with GamesBeat, chief executive officer Matthew Karch discussed the porting project in detail.

Karch mentioned that The Witcher 3 was initially “running at 10 frames per second, was taking 50% more memory than the Switch has, and the build size was 20GB larger than the biggest Switch cartridge.” Saber therefore turned off dynamic shadowed lights, removed screen-space ambient occlusion, and lowered the number of NPCs in the world by 30 percent.

That last change didn’t go over well, as Karch explained:

“As we worked on the game, we realized these things were really essential for the look and feel of the game. For example, after cutting the number of NPCs by 30%, we started getting complaints that the levels, especially Novigrad and Toussaint, felt rather empty. We had to reintroduce most of those features back and find creative optimizations to get the frame rate up.”

“We went back and targeted other areas to optimize, like the in-game animation, AI, rendering, cloth simulation, etc. In those instances, the process was less about deciding what to sacrifice and more about solving how to keep the things the game really needed.”

To improve performance, Saber redid the game’s shadows. The team “had to combine a blend of static shadowmap, terrain lightmap, and dynamic shadowmap to achieve a similar look to the original.” Vegetation was also changed in terms of the grass algorithm and levels-of-detail for trees, lighting, and shadows while maintaining “the overall look and performance as close to the original as possible.”

Karch mentioned that Saber “worked tirelessly for a year to get the game running on Switch at 30 fps without losing the incredible visuals fans expect.”

Source

Leave a Reply