INVERSUS is a fast-paced shared-screen multiplayer game for up to four players. It is the type of game that would traditionally be local-multiplayer, and for a long time I thought latency issues would make it a poor candidate for online. Late in development, I committed to adding online support with the mindset that a “playable but inferior” experience would be better than nothing, but I ended up with something hard to differentiate from its local counterpart! While the subject of networking can cover everything from matchmaking, to choosing a map, and finally playing the game, I’m only going to be discussing the gameplay portion. I want to break down how I made the split-second actions of INVERSUS into a polished online experience.
Overview
INVERSUS uses a peer-to-peer rollback system. Before getting into the implementation details, let’s review how rollback networking functions at a high-level.
Rollback networking an evolution of synchronous networking systems where every player would send input commands to every other player. In these systems, a deterministic game simulation would advance one frame every time it had received commands from each peer. This architecture had numerous benefits, but one huge caveat that drove action games away from it: input latency. In order to allow time for receiving remote player input, the local input wouldn’t be injected into the simulation for a number of frames equal to the transfer speed.
Rollback fixes the latency issue by processing local inputs immediately while predicting the remote inputs. When the actual remote inputs arrive over the network, it checks if anything was mispredicted. If a misprediction was found, time will be rewound to the mispredicted frame and then simulated back to the present using the corrected input values and further predicted values. This rollback and correction process all happens in the span of a single frame such that user only sees a slight pop in the results.
As network latency increases, visual pops in motion will increase, but they will only be in relation to direct effects of remote player input. For example, the launching of a projectile might skip the first couple frames, but once the projectile is in flight it can be reacted to exactly as if it were in a local multiplayer game.
Rollback networking is designed to create a near zero latency experience for the local user and fair conflict resolution because every participant’s inputs are respected. When you move, you move right away. If you press a button on a specific frame to counter an attack, you will counter the attack. This architecture also creates a minimal overlap in which game and network code need to consider one another. When adding features to the game, there is almost zero concern about networking. Everything just works and that’s a rather freeing experience for the engineer.
The main downsides of rollback are that it does not easily support joining in-progress matches, and it does not scale to large player counts. It also doesn’t support a variable frame rate simulation, but I’ll discuss how it can still support variable frame rate rendering later.
Rollback is perfect for fast, twitchy, frame-accurate games that require responsive input and have short gameplay rounds. It is the standard approach for modern fighting games and should be the standard approach for any quick round-based game with direct player interaction.

INVERSUS has competition at its core and today we’re making big strides towards getting players in matches more often and across more varied game modes!
INVERSUS was on display in Los Angeles this past weekend at IndieCade! The game was setup in a theater as University of Southern California and part of a small tournament. Thank you everyone that showed up!
In celebration of the new update, INVERSUS is currently 20% off on Steam for one week! Spread the word and lets play some 2v2 matches!
INVERSUS has bee getting a steady stream of patches since it launched one month ago. Today marks the release of 1.2.0 on Steam. So what’s all this new stuff?
Being part of the
Today is also launch day for the official INVERSUS soundtrack! It’s only €3.99 and available directly from Lyvo himself. Pick up a copy over at
INVERSUS launches on August 16th for $14.99 on PlayStation 4 and Steam! That’s like, crazy soon!

E3 is as big as it gets when it comes to game conventions and INVERSUS will be joining the party. Chosen from hundreds of applicants, the it is part of the
What if you are in Los Angeles, but don’t have an E3 badge? I’ve got you covered. INVERSUS will be freely playable for the public on Thursday June 16. The folks over at Indie MEGABOOTH will have a trailer set up just across the street from the convention in the Devolver Digital area. There are new games on display each day and you can
I’ve shown the game all over the U.S. and it’s time to let it explore more of the world. From June 25th through July 3rd, INVERSUS will be showcased at the CCSP in São Paulo as part of
Just this past weekend INVERSUS was one of the five winners in the Indie Game Award Showcase at MomoCon. While I was here in Washington trying to finish up the game, judges from Kotaku, Destructoid, Geek & Sundry, and Vlambeer
We’re pretty deep into this thing and I haven’t even talked about the game itself.
Everyone has been asking for it, and I’m excited to say that INVERSUS is going to ship with online multiplayer! You no longer need a group of friends on the couch to play competitively. Even more exciting, I’ve already got the core of it working on Steam. 
I got to show the game at 


In preparation for the PS4 announcement, I updated the trailer (see below). I kept the message but polished it all up a bit and replaced all the gameplay and music.
Last month’s visit to Washington D.C. for Indie Arcade was a big success. Close to 12,000 people showed up. Next month, I’m heading back to Austin, TX for SXSW because INVERSUS is nominated for the Gamer’s Voice Multiplayer Award!