Here we go again. Every time GGPO gets discussed people start parading the same ignorance and misinformation.
Rollback netcode works for both 2D and 3D games. In fact, the concept of rollback was inspired by the netcode techniques used in first person shooters.
Rollback netcodes have a fairly high overhead in processing. When a rollback occurs, the game has to process multiple simulation frames instantly to figure out the new gamestate. Its possible that newer games, which already fail to run at perfect framerate on consoles, dont have the spare processor capacity to run a rollback system. But it's also possible that framerate drops are due to GPU being maxed out, so there is spare CPU.
GGPO can work on any game in an emulator, because the emulator can trivially save the entire gamestate and restore it, and also run simulation frames without drawing, which is fundamental to doing rollbacks. However, a game that wants to implement GGPO natively can be internally designed to save/restore/run its gamestate, and often it can do so much more efficiently than an emulator. Since it can be more selective about what data it wants to remember/process. Some games written for PC are designed this way from the beginning, so that they will run simulation frames ("ticks") seperately from visual frames.
GGPO can theoretically be added to any game. However, the design of the game engine and other limitations can make doing so require far more work than a game dev wants to spend. Factors include:
- Whether the engine can be easily recoded to store multiple frames of gamestate and quickly run simulation frames faster than visual frames.
- Whether the game has been optimised enough to leave a lot of spare CPU power for the netcode.
If the game engine isnt convenient for those 2 things, then adding GGPO would require a lot of work, or even be impossible. (Certainly there is a limit to how much you can optimise, so it might be that some games cannot use GGPO on current consoles without cutting physics/graphics/sound quality etc.)
2D games are actually more hardware intensive than 3D games these days - modern consoles are optimised for 3D graphics, not for rendering very large 2D sprites. Low RAM is especially a problem. So, if SNK had to do on the fly sprite decompression to fit the sprites into RAM, then that would use up a lot of CPU, for example.
---------------------------------
So anyways, thats the truth as far as I know it. I'm not an expert on netcode, but I am a professional software engineer and I've been interested in GGPO and rollback netcode. So I think I have a basic understanding of some of the issues involved.