Streamlining and Democratizing the Development of Multiplayer Games

The coherence's Dino Patti and Tadej Gregorcic shared insights into the platform, delved into its key features designed specifically for multiplayer game developers, and provided an exclusive overview of their integration plans and upcoming updates. 

Introduction

Dino Patti: My name is Dino Patti, I’ve been working with tech for the last 23 years, and for the last 20 years of those I’ve been in the games industry. I’m best known for my involvement in Playdead I co-founded and mostly ran as executive producer and CEO for almost 10 years, while we developed LIMBO and afterward INSIDE. After that, I co-founded JUMPSHIP where we created the game Somerville and just last year we sold the whole company which then became part of Thunderful Group.

Tadej Gregorcic: I’m Tadej Gregorcic (pronounced Tah-Day), and I’ve been working professionally in tech and games since 2000 when I joined my first startup while starting university. My formative coding years happened much earlier in the '90s demoscene, and I went on to start a few companies specializing in game technology, communication protocols, telecommunications, and web technologies. Motiviti, which I started in 2009, shipped numerous games and platforms with NBCUniversal, LG, Adidas, and Supercell, including work for games like Clash Royale, Brawl Stars, Boom Beach, and Hay Day.

Story of coherence

Dino: The idea of coherence came about in the middle of 2017. Over a few conversations with David Helgason, founder of Unity and an old friend, I got more and more obsessed about how Unity commoditized and democratized the games industry when it came to general game engines. The idea was to take the learnings from what they did to general game development and apply them to multiplayer development. By lowering the barrier of entry, we took this further and started working on how to revolutionize the way we interact and form relationships with each other.  As we now live a lot of our lives online, working on something that would improve the way we relate to each other and potentially make a positive impact on society, was the ignition I needed to throw myself into this.

Tadej: I joined coherence as a co-founder after meeting Dino in Berlin through our mutual friend David. The idea of making real-time networking accessible to anyone appealed to me, and I consider building a technology that pushes the boundaries of both performance and usability at the same time to be an exciting and worthwhile professional challenge. 

With our growing team (and especially with DICE veteran Peter Björklund early on), we could draw on decades of experience in game networking, but we didn’t want to just blindly follow the same patterns. We wanted to challenge the incumbent assumptions about how game networking should be, and look at it with fresh eyes. We decided to build the entire technology from scratch and design it in a way that takes something that used to be in the exclusive domain of hardcore coders and makes it accessible to anyone who can use a game engine like Unity or Unreal. Something that we as game developers ourselves would want to use.

Enhancing Multiplayer Experiences

Dino: The idea is to remove the need for developers to spend months developing their own bespoke network architecture. 

Looking at it from a high-level perspective, the idea is to give you a full-stack solution that fully guides you through your multiplayer development, testing, deployment, and operation. And in turn, let you be creative and make choices like there is no tomorrow.

The ultimate dream would be that you can make an engaging multiplayer experience that scales as needed, and as a game developer, you don’t even need to mention the word “server” once. 

Tadej: coherence makes it incredibly easy to add multiplayer to a game, even without writing a single line of code. But the most exciting part is its flexibility. There are so many different genres of games on different platforms, so we wanted to give developers a wide array of options for how to design and architect the networking. You can use the same tech for both client-hosted games with no online servers and massively multiplayer online juggernauts.

Developers also have more control than ever over bandwidth usage and overall performance, with features like levels of detail, areas of interest, per-field compression settings, and a lot more. 

Another big feature is built-in persistence, so any changes that players make to the game world can make an impact even after they disconnect. 

All of this works on all popular platforms, including desktop, mobile, console, and VR.

Implementation Process

Tadej: We made a video showing how you can go from a single-player game to multiplayer in less than five minutes. It’s very easy to add networking support to a project and to define which fields are synchronized over the network, using our powerful but very accessible visual interfaces. We think this is the first networking tool that can be used by someone with little to no technical experience, especially to prototype with.

Developers can also upload their desktop or WebGL builds with just a few clicks and share them on their project URL, without having to worry about hosting. 

Imagine sharing a link to your game every few days and getting quick feedback from your friends, colleagues, or followers. We think this is a game changer for how quickly you can iterate on game design ideas.

Dino: Making it easy is one of the main pillars we had in mind with designing it, and while it’s already great today, this is something we are continually improving and in time perfecting.

Plans for Unreal Engine Integration

Dino: Being engine agnostic has been in the plans from day one, it’s really important for what we are trying to achieve. Unreal is just around the corner and we would love to talk to more Unreal devs for early access to the coming beta version. 

Tadej: We’ve had a lot of interest in our technology from Unreal developers, and we’re moving in that direction. An Unreal SDK, along with a general SDK that can be used in any game engine, is on our roadmap. The best way to be informed when we have news about it is to join our Discord, follow us on social media, or join our mailing list.

Leveraging Strengths

Tadej: The flexibility has been a big reason our users have chosen coherence. Authority over an entity in the game can be held by any game client or dedicated server (a.k.a. simulator) connected to coherence. At any time, this authority can be transferred to any other client instantaneously. This allows developers to quickly build interactions where multiple players are manipulating the same object in the world.

It also allows developers to build games that transition between different authority models (client-side, server-authoritative, mixed) depending on the economics of the game and game design choices. For example, a game might be completely client-authoritative and run through Steam at launch, without even using coherence servers. Then if the game becomes more popular, the developer can easily switch to using our online infrastructure to allow for hundreds of players in a single session and persistence that doesn’t rely on the host being online. And later when the developer is looking towards new projects, they can switch back to client-hosting and allow players to keep playing with each other without any server costs.

Additionally, larger games can split up the world simulation between several servers by location. And as an entity moves across the virtual borders between these servers, the transfer will happen seamlessly. This is a common scenario in large, massively multiplayer games. 

Our mission is not only to make multiplayer accessible but also to make it viable for game developers. That’s why we built the entire protocol from scratch, keeping bandwidth usage to a minimum. We also built in fully configurable per-field compression so developers can decide exactly how precise and frequent the synchronization should be at different distances from the observer. This level of control helps the developer keep the reins on bandwidth consumption, especially for games where a lot of entities are moving at the same time. 

Current Roadmap and Upcoming Updates

Tadej: We’re constantly improving the performance and reliability of our platform. We’re adding native support for voice, and more and more options for supporting connectivity options and longevity of online games on consoles, mobile, desktop, and VR. The Unreal and custom engine SDKs are a big part of our plans, and we’re also working on some pretty exciting new features that will strongly improve the developers’ productivity and the flexibility of their games. 

Dino Patti, CEO and Founder at coherence

Tadej Gregorcic, CTO and Co-Founder at coherence

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more