I'm creating a platformer game that has a "co-operative" feature which I'd like to work over networks / the internet.
Now I've read up on network game programming including articles like What every programmer needs to know about game networking and so I understand the difference between techniques like Peer-to-Peer lockstep and Server-Client prediction architectures:
- I've concluded that for any real-time game that is going to be played over the internet, Peer-to-Peer lockstep simply isn't an option.
- I'm also concerned that even for a platformer a simple client-server architecture (without some sort of client prediction) would result in degraded gameplay due to the delay between action and reaction caused by a round-trip to a server. (Having said that I want to eliminate the need for a central server, and so only one of the players, the client, will actually experience this lag).
This leaves client prediction, but even for a simple game like a platformer this still sounds pretty complex.
How would I go about creating a working client predictive system for a multiplayer platformer game?