Nintendo Switch predictions: New architecture and what it means for backwards compatibility and multiplatform games

While many have reported that the Switch will lack compatibility with physical 3DS and Wii U games, no one knows yet if it will support backwards compatibility digitally through Nintendo’s eShop. If you are still holding out hope for digital backwards compatibility, I would say you’re likely to be disappointed.

Enter the Tegra, and a new era in Nintendo hardware

The Nintendo Switch will be the first Nintendo console to feature an  Nvidia Tegra “system on a chip” style processor. In basic terms, a system on a chip, or SoC is one chip containing a CPU and a GPU, while most devices have them on separate chips. SoCs are popular in the mobile sector because they save space and power. The nVidia Tegra series of chips have been used in the Zune HD, dozens of smartphones, and car entertainment units from Audi and Tesla.

The latest currently-released Tegra is the X1, but the next model, the X2, will be out around the same time as the Switch. Both contain two different multicore ARM CPUs, as well as GPUs featuring 256 CUDA cores, the X1 using the CUDA cores from Nvidia’s last-generation Maxwell, and the X2 using Nvidia’s current-generation Pascal, also used in Nvidia’s 10×0 series desktop GPUs.  Don’t let that get you too excited, the lowest-end GPU made by nVidia, the $110 GTX 1050, has more than double at 640 CUDA cores, while their highest end, the $1200 Titan X has 3584.

Most rumors well-before the announcement place the devkits as using the Tegra X1. Whether that will change to the X2 before launch is unknown, but personally I’d bet on it using the X1, as unfortunate as that is.

How powerful is that?

Though the comparison is a lot more complicated than I’m about to put it, performance power in console GPUs is frequently compared through FLOPs, or the number of floating point calculations they can perform in a second in an FP32 test. This gives us a sort of apples to apples comparison of hardware that is not a perfect stand-in for real world performance* but gives us a good point of comparison for the relative power of hardware.

Xb0x 360: 240 GFLOPs
Wii U: 352 GFLOPs
Tegra X1: 512 GFLOPs
Tegra X2: 750 GFLOPs**
Xbox One: 1,310 GFLOPs
PS4: 1,840 GFLOPs
PS4 Pro: 4,200 GFLOPs

So as we see, if the Switch uses the X1, it will be ~45% more powerful than the Wii U, if the Switch uses the X2, it will be twice as powerful. Either way, it’s still much less powerful than the PS4/Xbox One, and further still from the PS4 Pro and Project Scorpio.

*Real-world performance, that is, how games actually end up looking and performing involves other factors like quality of the graphics API, ease of programming for that architecture, system overhead, and just the quality of programmers working on said games.

**Nvidia gives 1.5TFLOPs in FP16, which approximately converts to 50% in FP32 due to Tegra’s “Double-speed FP16”  feature.

So how about Wii U backwards compatibility?

Short answer: No.

Long answer: From the Gamecube to the Wii U, Nintendo made upgrades each generation to the same architecture for their home consoles. The Gamecube, Wii, and Wii U all used an IBM PowerPC processor, and a fully custom GPU from ATi/AMD. The architectures were so similar that the Wii and Wii U each supported backwards compatibility going back to the Gamecube without any software emulation required. The Wii supported Gamecube games, and the Wii U supported Wii and Gamecube games (though since the Wii U doesn’t read Gamecube discs, Gamecube support is added via third-party homebrew programs like Nintendont.) As the Tegra is a completely new and different architecture for Nintendo, the hardware is not similar enough to the Wii U to support Wii U backwards compatibility natively.

What about Wii U backwards compatibility through emulation?

As we’ve seen on the Xbox 360 and Xbox One, consoles will sometimes emulate previous consoles when their hardware is not similar enough to execute the older code natively. This has a lot of drawbacks. Like emulating old consoles on the PC, software emulation is frequently very buggy. The reason you only see a few games added to the Xbox One’s backwards compatibility list every month is because for each game they have to implement “hacks” individual to each game to fix bugs and improve compatibility. In addition to being less stable, and requiring the resources to program “hacks” for each game, it also generally requires a lot more power. For an extreme example, perfect cycle-accurate emulation for the SNES, which had a 3.58MHz processor, requires a 3GHz processor.

To be fair, emulation does not need to be cycle-accurate to be enjoyable, but that serves as an illustration that emulating a different architecture requires a LOT of extra power compared to the original hardware. The Xbox One can emulate the Xbox 360 on a game-to-game basis, but as we can see above, the Xbox One is five and a half times more powerful. The Switch doesn’t have that huge power differential to drive a software emulator for such a different architecture.

And it’s unclear if Nintendo would even want to implement backwards compatibility if they could. Given the poor sales of the Wii U, the number of potential Switch users who care about backwards compatibility is probably pretty low. Even if the Switch were powerful enough, Nintendo probably wouldn’t want to spend the financial resources necessary to build software emulation. They’d probably prefer to just port the biggest Wii U games to the new hardware and sell them again, hopefully making some of the money they lost on their original investment into developing those games. I think it’s likely you’ll see several ports of Wii U exclusives like Smash 4 and Mario Kart 8, most likely with a few new features.

What about 3DS backwards compatibility?

Beyond the fact that there may not be a touchscreen, since the 3DS uses an ARM processor like two of the processors included in the Tegra SoC, it’s possible instructions could be translated easily and the Switch could support 3DS games without the need for emulation. I don’t think it will though, because Nintendo has made clear that this is a home console, and the 3DS will have its own successor. They might want to keep the two revenue streams completely separate to avoid eating into their own profits. I also fail to see why, if it was going to be compatible with 3DS titles, that they wouldn’t make it compatible with 3DS cartridges in the way the 3DS was compatible with DS cartridges.

Again, Nintendo probably sees little payoff for the effort it would take to make the Switch compatible with 3DS titles.

What about multiplats with the PS4 and Xbox One?

Again, this is unlikely due to architecture issues. It is currently relatively easy to port between PS4, Xbox One, and PC, because those three ecosystems use x86-64 architecture. Adjustments have to be made for the specific hardware and graphics APIs, but CPU and GPU instructions work extremely similarly.

The Tegra, however, uses ARM architecture, and has much weaker hardware, so porting games from current-gen consoles will be difficult, costly, and end with inferior graphics on the Nintendo console. Unless the Nintendo Switch is a breakout success in the mainstream, it’s unlikely to see many ports with current-gen consoles outside of indie games, much like the Wii U.

Nintendo probably expects this. They want third party developers to play to the Switch’s strengths and develop unique experiences that can only happen on Nintendo’s console. And the third-party developers WILL develop those unique experiences for the Switch, but only if the Switch sells well. Regardless how long Nintendo’s list of partners is, if people don’t buy the console, they’re not gonna make games.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s