Developing Multiplayer Games in Godot
Episode
46 min
Read time
2 min
Topics
Leadership, Design & UX, Software Development
AI-Generated Summary
Key Takeaways
- ✓Physics determinism constraint: Non-deterministic physics in Godot forces a host-authoritative model where one machine simulates all physics objects and broadcasts results to every client. In Domekeeper, carried resources are physics objects, meaning with 8 players each carrying 4 resources, the host must continuously transmit data for 32 objects simultaneously, creating a hard practical player cap.
- ✓Bandwidth optimization via bit-packing: Naive resource synchronization sends full data structures per frame. Domekeeper's team reduced each resource packet to two 64-bit integers by encoding position, rotation, and carrier identity at the individual bit level — using 6-bit integers where full integers are unnecessary. This compression made 8-player sessions viable without requiring dedicated server infrastructure.
- ✓Client-trust model for indie multiplayer: Implementing server-authoritative anti-cheat requires dedicated servers, ballooning costs for premium indie games. Domekeeper deliberately trusts client-reported hit detection, accepting occasional inconsistency. This decision only works because the game uses friends-only lobbies with no public matchmaking, eliminating the adversarial player dynamic that makes server authority necessary.
- ✓Monster synchronization via seeded RNG: Rather than syncing monster positions every frame, Domekeeper sends a unique ID with each monster spawn, which seeds an identical random number generator on every client. Monster behavior becomes locally deterministic from spawn, requiring only event-based correction packets when clients drift out of sync, dramatically reducing per-frame bandwidth requirements for combat phases.
- ✓Network state manager per client: Godot's high-level networking requires scene tree objects to exist on all clients before RPCs can target them, surfacing race conditions that naive packet broadcasting hides. Domekeeper implements a per-client network state tracker so systems only transmit packets to clients in the correct loading or spawning state, preventing the ordering bugs that multiplayer introduces into single-player code.
What It Covers
Renee Haberman (Bip n Bits) and Chris Raidenor (KAR Games) detail the technical and design challenges of retrofitting online multiplayer into Domekeeper, a Godot-built roguelike tower defense game, covering network architecture decisions, bandwidth optimization, physics synchronization, and the economics of peer-to-peer versus dedicated server infrastructure.
Key Questions Answered
- •Physics determinism constraint: Non-deterministic physics in Godot forces a host-authoritative model where one machine simulates all physics objects and broadcasts results to every client. In Domekeeper, carried resources are physics objects, meaning with 8 players each carrying 4 resources, the host must continuously transmit data for 32 objects simultaneously, creating a hard practical player cap.
- •Bandwidth optimization via bit-packing: Naive resource synchronization sends full data structures per frame. Domekeeper's team reduced each resource packet to two 64-bit integers by encoding position, rotation, and carrier identity at the individual bit level — using 6-bit integers where full integers are unnecessary. This compression made 8-player sessions viable without requiring dedicated server infrastructure.
- •Client-trust model for indie multiplayer: Implementing server-authoritative anti-cheat requires dedicated servers, ballooning costs for premium indie games. Domekeeper deliberately trusts client-reported hit detection, accepting occasional inconsistency. This decision only works because the game uses friends-only lobbies with no public matchmaking, eliminating the adversarial player dynamic that makes server authority necessary.
- •Monster synchronization via seeded RNG: Rather than syncing monster positions every frame, Domekeeper sends a unique ID with each monster spawn, which seeds an identical random number generator on every client. Monster behavior becomes locally deterministic from spawn, requiring only event-based correction packets when clients drift out of sync, dramatically reducing per-frame bandwidth requirements for combat phases.
- •Network state manager per client: Godot's high-level networking requires scene tree objects to exist on all clients before RPCs can target them, surfacing race conditions that naive packet broadcasting hides. Domekeeper implements a per-client network state tracker so systems only transmit packets to clients in the correct loading or spawning state, preventing the ordering bugs that multiplayer introduces into single-player code.
Notable Moment
Renee explains that mixing local split-screen co-op with online multiplayer — allowing two couch players to share one connection while playing alongside separate online players — was likely a decision he would never repeat, as it multiplied the possible game states and introduced a disproportionate volume of edge-case bugs throughout development.
Episode Transcript
Multiplayer games are among the hardest software systems to build, requiring developers to synchronize state across unreliable networks while maintaining fairness, performance, and a responsive player experience. Latency, cheating, server costs, and debugging distributed game logic all introduce complexity that single player games never encounter. Domekeeper is a minimalist tower defense game with rogue like elements where players must protect a fragile glass dome from relentless waves of alien attackers. The game was developed with the Godot engine and released in 2022. More recently, the development team embarked on the challenge of adding multiplayer to the game. Renee Haberman is the founder of Bip n Bits and the creator of Domekeeper. Chris Raidenor is the founder of KAR Games, which is a Godot focused studio that developed Drift, Space Survival. Chris is now working with the Domekeeper team to bring multiplayer to the game. Renee and Chris join the show to talk about the origins of Domekeeper, developing the game, and the process of adding multiplayer to a Godot game. Joe Nash is a developer, educator, and award winning community builder who has worked at companies including GitHub, Twilio, Unity, and PayPal. Joe got his start in software development by creating mods and running servers for Garry's Mod. And game development remains his favorite way to experience and explore new technologies and concepts. Rene, Chris, welcome to the show. Thanks for joining me today. Hello. Thanks for having us. Hello. Glad to be here. So let's kick off with, I guess, an introduction from you two folks for anyone who's not familiar with your work. Rene, do you wanna start us off? I did actually, once upon a time, study computer science and then work in IT, but my heart truly lies in game development. So, eventually, I I always did this on the side by working in IT. Eventually, I made something that was at least impressive enough to publish our refury to fund the project, which is when I immediately left the IT industry. And when making games full time with the company, I found that Bipin bits, We made the first game, Dumpkeeper, was quite successful, and now we are working on some new titles. And the biggest one announced is PVKK, planet, which is a nice name for English speaking people to pronounce. Yes. We'll probably get to talking about PVKK. I will not attempt to pronounce the full name. So I'm glad that we've got that in there at least once. Some editors, you can just paste that over every time I say PVKK going forward. And, Chris, how about you? Virtual journey? Yeah. I spent about ten, twelve years in the startup world doing various startups as kinda founder and CTO living in that, like, web world. But like Renee, my heart was really in games, doing it on the side. And a few years ago, decided to just make the jump into a full time indie. We have one game on early access …
Get the full transcript (9,869 words) + summary by email — free
One-time email with the complete transcript and AI summary of this episode. No account needed.
One email, no spam. We’ll also show you what SignalCast does.
You just read a 3-minute summary of a 43-minute episode.
Get Software Engineering Daily summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Software Engineering Daily
SED News: The NVIDIA-Hugging Face Deal, China’s Proxy Economy, the Open Weight Surge
Sep 8 · 52 min
Modern Wisdom
Mexican Batman, Britain’s Downfall, Mr Bean’s Comeback & Jimmy Carr - Rabbit Hole #5 - #1143
Aug 29
More from Software Engineering Daily
Moving Beyond RAG with Precomputed Context
Sep 3 · 55 min
Modern Wisdom
Ex-Gang Member: What Makes A Violent Man Change? - Johnny Chang - #1140
Aug 22
Books, tools, and gear mentioned in this episode
SignalCast may earn commission on purchases via these links.
Tools
“Domekeeper, a Godot-built roguelike tower defense game”
company
“Renee Haberman (Bip n Bits) and Chris Raidenor (KAR Games) detail the technical and design challenges”
“Chris Raidenor (KAR Games) detail the technical and design challenges of retrofitting online multiplayer into Domekeeper”
More from Software Engineering Daily
We summarize every new episode. Want them in your inbox?
SED News: The NVIDIA-Hugging Face Deal, China’s Proxy Economy, the Open Weight Surge
Moving Beyond RAG with Precomputed Context
The Death of Online Anonymity
TypeScript 7 and What Comes Next
The Gap Between AI Spending and AI Value
Similar Episodes
Related episodes from other podcasts
Modern Wisdom
Aug 29
Mexican Batman, Britain’s Downfall, Mr Bean’s Comeback & Jimmy Carr - Rabbit Hole #5 - #1143
Modern Wisdom
Aug 22
Ex-Gang Member: What Makes A Violent Man Change? - Johnny Chang - #1140
Cognitive Revolution
Aug 10
Lindy Teammate: Flo Crivello on Multiplayer Agents, Memory & Why He'd Ban the Chinese Models He Uses
The Rich Roll Podcast
Aug 10
The Most Decorated Winter Olympian Ever: Johannes Klæbo On Training, Mindset & Reinventing His Sport
The Vergecast
Aug 6
The next big thing in movies is 60-year-old IMAX tech
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.
You're clearly into Software Engineering Daily.
Every Monday, we deliver AI summaries of the latest episodes from Software Engineering Daily and 192+ other podcasts. Free for one show.
Start My Monday DigestNo credit card · Unsubscribe anytime