For those that didn’t catch the last Direct, Super Mario Wonder has announced that it will feature two different kinds of online multiplayer, both very different to local multiplayer - one where you can see “ghosts” of other players currently online on a given level, which can’t interact with you directly but can give you specific aids (such as reviving you when you lose a life, setting a checkpoint for you to revive, or handing you an item); and another where you can make rooms with your friends… but still can’t interact directly with them, only allowing for speedrun-styled races. Sure it’s a letdown to not be able to properly interact with other players online in the same way that you can do offline, but the problem is that the alternative has already been attempted… and the results are catastrophic.
Remember Super Mario Maker 2? It included a mode where players could join an online room, whether with friends or strangers, to play courses among themselves. It’s also infamous for the constant slowdowns that players experienced during the courses. Why was this happening, you may wonder? Well, because the players needed to synchronize their state between each other, and since the game was not designed with modern network tools in mind such as rollback (which would probably be too heavy for the Switch), the only way to ensure everyone was on the same lane was to wait for everyone to receive the input data from all other players. And in a game with up to four players at a time, things are absolutely going to get messy.
And that’s why the current online implementation of Super Mario Wonder is a decent compromise. If players are ghosts that can’t interfere directly in the state of other players, that means that no synchronization of data is required, and a ghost can lag behind real-time as much as the network forces it to without needing to pause the game of all other users of the lobby. Sure, it’s a shame that Nintendo still doesn’t use rollback in the year of our lord 2023, but let’s face it, the Switch was not the best of class back on release date, and nowadays even a smartphone has more memory and processor speed. That means that implementing rollback netcode into the game would require major gameplay sacrifices (such as capping the frame rate and the amount of items on screen, for example) in order to fit the limited capabilities of the Switch. If the choice was between having limited interaction between players and running at half the speed in the worst case scenario, I think Nintendo chose right.
Rollback netcode has been around since Quake in the 90s. It’s not a very new or computationally intensive technology, relatively speaking.
But this is Nintendo.
There is a fundamental difference in resource allocation when each client is running the simulation rather than a server, which is the difference between Quake and a fighting game.