WebRTC, Goblins and Peer-to-Peer Games

Hello!

This is a recap of the stuff I talked about at DWeb. I was encouraged by Dave Thompson to post something like this here, so I shall.

I’ve been mostly interested in peer-to-peer technology for game development. I’m really interested in the type of fun projects the Spritely institute have been involved in, as it’s the type of things I would like to make. However, my main interest in peer-to-peer game development is letting players host their own servers without the need of port-forwarding or VPNs, which if you’ve ever had to host a Minecraft server for your friends can be a bit of a pain.

You can see my slides on this topic here: WebRTC Games - Google Slides

The big takeaway I want you to take from my slides is that you can do games and apps that run on BOTH browser AND native using the EXACT same codebase (currently with C/C++ or Go) through WebAssembly.

The biggest game I know that does this is Hypersomnia: GitHub - TeamHypersomnia/Hypersomnia: Multiplayer top-down shooter made from scratch in C++. Play in your Browser! https://hypersomnia.io Made in 🇵🇱

(Again, I’d recommend you read through my slides for more information about all of this, and feel free to ask me more questions about this stuff)

2 Likes

I also feel like there’s been a lot of work in the peer-to-peer game networking space that you guys might not have heard of. For example, pretty much all fighting games are peer-to-peer, and you can read more about how that all works here:

2 Likes

Thanks for sharing your slides and projects, @ValorZard! I’m going to take a look through these when I get a chance.

@dthompson I ended up writing a blog post for the Pion website talking more about using WebRTC datachannels for game development.

Also, there is now an official example in the Pion github for doing game development using Ebitengine and WebRTC datachannels: example-webrtc-applications/ebiten-game at master · pion/example-webrtc-applications · GitHub

1 Like

This looks like a really great resource, thanks for writing and sharing!