Croquet makes it possible to put hundreds of players into web-based multiplayer action

Getting lots of people to do things at once at the same time in a virtual space is one of the attractions of the metaverse. You could have a concert or a big battle or a sporting event. But the internet and today’s gaming technology quickly chokes when the numbers of participants rises above 100.

But Croquet believes that its Croquet OS can provide a solution that will make it a lot easier to build multiplayer games with hundreds of players. David A. Smith, founder and CTO of Croquet, said in an interview with GamesBeat that the technology works today and developers can access it via the Unity game platform, and that early access is just about to start.

It’s another tool to “democratize game development.” And the vision for this technology goes all the way back to computing pioneer, Alan Kay, and a computer language dubbed Smalltalk.

Smith founded Croquet in 2019 and it has 15 people. The company raised $5 million in a round funded by SIP Global Partners and a group of experienced technology and financial industry veterans. The company is in the midst of raising a new round of funding.

The tech demos

These are some of 500 tanks in a demo by Croquet.
These are some of 500 tanks in a demo by Croquet.

The idea is to empower game developers to build multiplayer games in Unity without needing to write, host or maintain netcode. Unity developers can join a waitlist for early access now. I met Smith at his booth at the recent East Coast Games Conference in Raleigh, North Carolina.

The company has created a JavaScript multiplayer framework for the Unity Platform. A recent demo showed how hundreds of simple 3D-animated tanks could roam around a battlefield and fire volleys at each other continuously. Between the tanks and the projectiles they were firing, the number of interactions on the screen happening at once was pretty impressive. I couldn’t see any lag or errors in the interactions as balls bounced off tanks like crazy. I pressed the spacebar to shoot missiles and they bounced off objects with no delays.

Then Smith asked me to fire up my iPhone and then follow the same link into the tank battle. Now I was logged in as another player, but I could see the exact same battle happening on the desktop as on the iPhone, only from a different point of view. It was all interactive as balls were bouncing everywhere.

“This is actually going to be a co-op game, where there will be bots coming over the horizon. We know we can do about 500 at a time. So it’s going to be absolutely insane,” Smith said. “Your job is to protect these power poles in the center.”

You can put your tank on autopilot and it will shoot a projectile every 20 milliseconds. The whole thing has perhaps 400 lines of code. Having a game with 100 tanks and perhaps 5,000 interactions at a time would be possible, he said.

All of these objects, viewed from above by four players, are in sync thanks to Croquet.
All of these moving objects, viewed from above by four players, are in sync thanks to Croquet.

Smith said that Croquet for Unity means developers have no networking code to build or maintain.

In another demo, he showed a simulation where a bunch of blocks were getting knocked over and multiple players were in the same simulation. In another world, Smith showed 500 bots moving around, all perfectly synchronized.

“There’s no information being passed between you and the system,” he said. “And there’s no server in the classical sense. There’s what we call a Reflector. The Reflector has no state, no application state at all. And what’s running is a bit-identical virtual computer running on everyone in the system.”

The Reflector is a kind of server that doesn’t have any applications. When you grab a snapshot very five seconds. When you join, you grab a copy of that snapshot. And you have all the information in the messages you missed and you’re perfectly synced to that.

“So when you join them on your phone, you saw you were able to join right in the middle of a very complex simulation,” he said during a demo. “You’re running now a bit identical virtual machine. It’s perfectly synchronized on everybody’s system. When click on something to cause an interaction, that get event gets sent through the Reflector, which distributes it to all participants. In fact, that message is encrypted. And the Reflector can’t even look at it. So you can’t attack this from the cloud services.”

Croquet’s architecture

Croquet's demo shows simultaneous interaction over the web.
Croquet’s demo shows simultaneous interaction over the web.

Croquet’s unique Synchronized Computation Architecture eliminates traditional servers and server-side code. Instead, users connect through the Croquet Multiplayer Network, a collection of stateless microservers called Reflectors which are available globally on four continents that drive bit-identical experiences among players.

The key to understanding Croquet is that it is not just synchronizing state. It is synchronizing the evolution of state over time. By synchronizing computation itself, Croquet not only eliminates the need to transmit the resulting state of complex computations like physics or AIs, it also eliminates the need for specialized data structures to be used for synchronized properties, or having to mark certain objects to be synchronized. This makes writing multiplayer code very similar to writing single-player code, since the full game simulation runs on-device.

That code is executed in a shared virtual computer that runs bit-identically across every client so everyone stays perfectly in sync, while each player has their own unique point of view. Because the lightweight reflectors can be located on the edge of the cloud or on the MEC in 5G networks, they provide lower latency than traditional network architectures.

Computations historically done on traditional servers are done in synchronized computation on each client, dramatically reducing bandwidth and improving latency, Smith said.

Croquet’s goal is to make multiplayer game development as easy as single player. With no netcode to develop or manage, developers can focus on the player experience. They further benefit in lower overall development and deployment costs, faster time to market and better player experiences.

In addition to reducing costs and complexity of multiplayer development, Croquet also delivers shared, multiplayer simulations that have heretofore been impossible. Examples include shared real time interactive physics, where the multiuser physics become an essential game mechanic; perfectly replicated non-player character behaviors, where even complex actions and user interactions are identical; and complex game player interactions, where users can dynamically collaborate to create, modify or destroy their worlds while the game action is live. These simulations have been impossible to deliver over traditional networks due to bandwidth limitations and their inherent complexity. Croquet also enables multiplayer Unity development in JavaScript, opening up development to a large pool of new developers.

“Having worked on multiplayer games in a variety of engines, I’m well aware of the pain of setting up servers and synching player experience. Croquet has enabled me to write complicated multiplayer games by myself without even thinking about the netcode,” said Brian Upton, Croquet’s chief creative officer and game designer for Tom Clancy’s Rainbow Six and Ghost Recon, in a statement. “I code the game like it’s single-player, and when a second player joins it just WORKS. And there’s no bandwidth limit to the number of simulation objects, which opens up the possibility of new genres of multiplayer games with interactive physics or crowd AI.”

While Croquet for Unity is intended for a wide range of game developers, it is particularly valuable for small, independent developers who are often limited from building multiplayer games due to lack of in house networking and backend development expertise.

Croquet’s tools include a web showcase that lets developers create a 3D gallery and add content to it with no programming required. And it has a full development platform for building web-based applications. And Croquet is working with some enterprise applications as well.

Of Smalltalk and and the dawn of personal computing

The Croquet team at the East Coast Game Conference.
The Croquet team at the East Coast Game Conference.

Smith said that he worked on the original system with Alan Kay and others in a project for the U.S. government. It used Smalltalk, which was an object-oriented programming language that Kay helped created in the 1970s at the legendary Xerox Palo Alto Research Center, where much of personal computing was born. Kay told Smith back in the day that they should build a commercial version.

And Smith kept that notion in his head for decades. He noted that JavaScript inherited some of the characteristics of Smalltalk as well as C and Lisp.

“It was an ideal platform for us to build this on,” Smith said.

Back in 2019, Smith decided to reinvigorate this vision and did so at Y Combinator’s research arm. Some of the research team joined Smith as he left, and they’ve been working on it for the last three years as part of Y Combinator.

“We spent the first three years developing the OS and we delivered the first version,” he said.

Then they decided to work on a version that worked with Unity. With no net code, the developer only has to focus on what the shared simulation is, and everything gets shared by default as needed. It becomes the same level of effort to do a multiplayer game as it is to do a single-player game.

An analogy is if two people are having a conversation. A third person comes up and can join a conversation seamlessly. That’s the way it should be in a multiplayer game.

“But the complexity of that level of interaction is orders of magnitude greater than what you can do with fresh architectures,” Smith said. “We want to reinvent collaboration ground up, but we see games as probably the highest bar. And we’re very familiar with games.”

Smith connected with the game development team at Redstorm, which makes the Tom Clancy games for Ubisoft, a couple of years ago.

And Smith has a long history in games, working on the first real-time 3D adventure game, The Colony, which debuted in 1987. He went on to work on various technologies like robotics as well as virtual cameras for the film The Abyss.

The possibilities of the future

Croquet's home page.
Croquet’s home page.

During the demo, Smith said you can add new players into the mix seamlessly, with no impact on the performance of the simulated world. The simulation still runs at sub-15-millisecond latency, which is very low in terms of the time it takes for an interaction to happen in the simulation. It consumers about 20 kilobytes a second to maintain the state of the world, which is almost nothing in terms of connectivity.

“We’re still able to maintain all this because it’s running a deterministic computation,” he said. “All the API’s are running exactly the same. You’re doing the same computation.”

Other companies working on the same type of technology include Improbable, but Smith said the server infrastructure is far different. Smith said his solution will scale globally as the company will have its Reflectors deployed worldwide so it can deliver sub-15-millisecond latency anywhere.

“There’s no centralized infrastructure, we’re completely decentralized,” Smith said. “And then later, we’re going to have a version that can even run on your phone. You can think of this as a fully and truly decentralized multiuser platform.”

Smith added, “It frees you up to focus on other things that are more important. So that means that I think the quality of the game goes up. And since you’re focusing on just that, the mechanics and aesthetics are going to be much better. I won’t say that level of complexity has to go up. But you can see it scales in that way.”

Smith thinks this technology is going to change life for indie game studios, which often don’t do multiplayer games because it’s more complicated.

“It’s about three times the level of effort to write multiplayer games versus single player,” he said. “If you can do it with the same team, you don’t have to worry about figuring out how to do the multiplayer. You just figure out what the game is about.”

VentureBeat’s mission is to be a digital town square for technical decision-makers to gain knowledge about transformative enterprise technology and transact. Discover our Briefings.

Related Posts

You may also like...