Velan Studios’ code looks at instant replay and makes a call before players even notice
Consider instant-replay review in a real-life sport, examining a thrilling play that just happened and either verifying or overturning the result: That agonizing pause in the action, as the umps go to the booth to double-check their work on the field, makes fans feel like the exciting thing they just saw hasn’t actually happened yet.
That analogy helps me understand the effort required of Velan Studios, not only to develop Knockout City, which is commonly pitched as the video game for an all-new sport, but also to support it with its own “officiating” — basically, how the game’s code adjudicates a split-second play in a competition no one has seen before.
When latency in the players’ connections introduces inconsistencies to their shared experience — that is, when whatever exciting thing someone thinks has happened actually hasn’t — Velan’s code can effectively go to the replay, arrive at an authoritative call, rewind the action to that point for everyone, and let them all play on without noticing anything.
“I mean, we can rig a super-low-latency environment within our office, right, to try and prove out ideas,” said Karthik Bala, who in 2016 co-founded Velan with his brother, Guha Bala. (As teenagers, in 1990, the two co-founded Vicarious Visions, which Activision acquired in 2005.) “But we realized for this to work in the real world, we had to build our own tech. And the general-purpose solution was actually developing our own programming language that the game is built on.”
In layperson’s terms, V-Script, the studio’s code, “can run backwards as well as forwards,” Karthik Bala said. “So we can rewind code and correct any packet loss” — that is, a poor connection causing one player to lag behind the others — “then fast-forward the code and catch [them] up.
“So while you were playing on this weekend, we were constantly rewinding and fast-forwarding, unbeknownst to you, and we’re doing that with every player, and the server is authoritative,” Karthik Bala continued, explaining that the server’s judgment of what took place is the reality that everyone experiences. “And it’s a bit of a mind-bender, but the server actually lives in the past. Everyone is playing in the future, in their own little time bubble. But that’s actually what’s going on.”
When packet loss corrupts a multiplayer experience in other video games, players commonly see “teleporting” or “skating” as a game’s server hurriedly repositions a lagging player to where they should be. Well, Knockout City is dodgeball, so that kind of refereeing would dramatically alter not just a match’s outcome, but also its enjoyability, and even the players’ sense of understanding what they were doing.
Guha Bala explained what Viper’s V-Script does a little more concretely: “Let’s say the server says, ‘Owen throws, hits Karthik.’ That’s actually what the server saw. If you took just what you saw,” he said, meaning, well, me, “and what Karthik saw, Karthik might have dodged, and you might have thought you hit him — because these simulations are occurring at slightly different points in time. What’s happening is, the server decides, Owen threw it, Karthik got hit, which is a fair conclusion, because it’s based on the same inputs from different folks. And we’re rewinding you both to experience exactly that. If you have eight players, you have to do it eight times in a single frame.”
If it’s axiomatic that the best kind of sports officiating is the kind you don’t even notice, then Knockout City’s authoritative server must be the mythological ideal of refereeing.
“To need to work in this whole time-bending thing is too much for the human brain — and even, like, the smart programmers and designers — to comprehend,” Karthik Bala said. “So we needed to create a language that makes it easier to write code, that’s network friendly.” And on top of that, a compiler for that code, and a game engine built around the code, and a toolkit for the in-world objects and geometry.
Karthik Bala said that the core team at Velan Studios working on the Viper Engine — the technology behind Knockout City and other Velan games — numbers about 10. Knockout City’s game design team was about 50, with additional contractors supporting. “We had to have an approach that allowed us to write as little code as possible,” he said. “It’s not a large team, relative to the ambition and complexity of what we’re doing. Especially for a game that’s inherently cross-play, cross-progression, and scales from, like, the Nintendo Switch to high-end PCs, and PlayStation 5, and have it all feel fair. I’m really proud we got 60 fps performance on Switch. It’s a tall order.”
Knockout City is launching May 21 on the full spectrum of current platforms — Nintendo Switch, PlayStation 4, PlayStation 5, Windows PC, Xbox One, and Xbox Series X (available day one on Xbox Game Pass Ultimate, too). My first experience with the game, in a press-only remote demonstration with a 2019 Alienware Area 51m laptop, had a really choppy frame rate, but everyone was in sync, playing together. The weekend immediately afterward, a closed beta ran much more cleanly. The cross-play beta at the beginning of April, which I played on PS5, Xbox Series X, and my gaming laptop, was a seamless experience that never jolted my attention to the meta — anything affecting the game from outside the arena in which we were all running around.
Knockout City has a variable matchmaking system that considers players’ actions within a round, not just their statistical outcomes (eliminations, assists, and the like). But mirror-smooth performance and reliable, consistent “officiating” is much more critical when you’re asking players to try something completely new, and assuring them that they can quickly get good at it.
They have to learn the fundamentals of a new sport, after all, and that requires as much repetition and refinement as one’s skills in soccer or basketball, where players have a better understanding of what the rules allow them to do. You could say that Velan’s designers are going through the same process with them.
“We have this backlog of ideas to try, and see what works, and put it out there into the community,” Karthik Bala said. “We feel the same way as we did when we first started playing Doom over IPX, and then Quake. It’s like, Man, this is the start of something new.”
Roster File is Polygon’s news and opinion column on the intersection of sports and video games.