Local Multiplayer: The Missing Step for Mastering Multiplayer Game Dev

I remember playing couch co-op with family and friends, eagerly fragging my older brother while romping through the rings of Halo and playing so many games with so many friends. This is how many gamers are introduced to some of their favorite titles, or at least used to be! But there’s another casualty of losing the prevalence of couch co-op experiences from gaming felt on the game developer side of things: learning how to program couch co-op should be a critical intermediate step of learning how to create multiplayer video games.

Lets face it: building a multiplayer video game is actually quite difficult. You must not only understand how to develop a fun game, with its various game systems and rules, but you must also understand how latency and multiple simulations are able to interact with each other over the internet. In real time! Figuring out what is appropriate to send in those 1,500 byte MTU packets is an exercise in optimization. Performance engineers rejoice, because the internet can be a fickle beast. Not to mention you have to optimistically present information to the player before you know the results of an action from the authoritative server. Oh my!

Couch co-op is a way of creating a multiplayer game without fear of the internet. No latency, no bandwidth strategies, just making sure player input is correctly manipulating the right game objects. Building for couch co-op helps in the journey to mastering multiplayer techniques. But what if there was an even more basic step one could consider taking before building a multiplayer game for local?

Build a single player game using multiplayer techniques. This may be the even more primitive step. Why? You can focus on making sure you’re setting up the game with a netcode provider and the basic multiplayer tooling, and ensuring your rules are processed by an authoritative server without needing to design a multiplayer experience. Imagine starting up Darksiders (2010) and having the result of combat be calculated by a function used by the authoritative game server. Nice! This is often a big cognitive step for students learning multiplayer game dev techniques so why not pay it for your next single player game?

Conclusion

Multiplayer games are very complex due to where and how they run. Build a couch co-op game to get used to routing input to control the right game objects. Better yet, build a single player game using multiplayer techniques to help you understand basic elements of a multiplayer game. Consider these techniques to help reduce the amount of things you need to get right so you can stair step into the next 120 hertz game server hosting game session(s) for dozens if not hundreds of simultaneous connected players!

Leave a comment

Your email address will not be published. Required fields are marked *