It feels like a small miracle that Saber Interactive was able to port The Witcher 3 to Switch. CD Projekt’s best game thus far is huge, beautifully detailed, and full of fast combat. There were some technical hiccups on PS4 and Xbox One in 2015. Switch seemed like a tall order.
As it turns out, “tall order” was an understatement. In an interview with GamesBeat, Saber details where everything started out. After the first pass at porting The Witcher 3, it ran at 10 frames per second, used 150% of the Switch’s available RAM, and exceeded the biggest Switch cartridge size by 20GB. Yikes.
The solution seems obvious to anyone who has ever been saddled with a PC that’s anything but cutting edge: Start turning down settings. That’s what Saber did, only to find that it didn’t really work. The developer nixed dynamic shadowed lights and screen-space ambient occlusion, along with cutting the NPC count by 30%. The game ended up feeling too empty, meaning Saber was forced to revert those techniques and look at other ways to optimize.
It took a structural overhaul to make The Witcher 3‘s Switch port a reality. Saber couldn’t make the original shadows feasible, so it changed how the engine calculates shadows from the sun. Foliage can take up 50% of visuals, so Saber “[rewrote] the algorithm for how grass is generated and rendered.”
The effort resulted in a port that’s quite excellent even though it seems impossible. Saber must’ve thought it was impossible too after evaluating the first draft. But, with a lot of creativity, determination, and elbow grease, The Witcher 3 runs on Switch. It’s easy to think of porting as a straightforward, banal exercise in taking something from one platform and putting it elsewhere — gross oversimplification as that may be. Saber’s experience is just one example of how porting can be anything but easy.