You are browsing as a guest. Sign up (or log in) to start making projects!

1h 45m 59s logged

Devlog 3 - Multiplayer Actually Works???

Okay, absolute good news is that I got the game running multiplayer. Took a while but I got there.

I didn’t use Godot’s built-in multiplayer features, I’m running a custom Python UDP server instead. Reason is I want full control over the netcode and the freedom to host this however I want later. Right now I’m using NGrok to tunnel connections for testing, which works fine for dev, but I’ll need proper hosting infrastructure before shipping. NGrok isn’t meant for production game traffic and the extra hop adds latency I don’t want.

I implemented AES encryption on the packet layer. It keeps casual packet sniffing out and makes the connection feel more solid, but really, it does basically nothing against actual client cheating, and the encrypt/decrypt overhead on every UDP packet is probably costing me tick rate. Might rip it out later or swap for something lighter if things get sluggish.

Server authority is in for shooting, which is the critical part. Movement is still client-side for now, which yeah… I know that means speed hacks and teleporting are basically free right now. Getting the server to authoritatively handle movement in a game this chaotic is tough, but I’ll need to add at least basic validation or reconciliation soon. “Wildcard” gameplay shouldn’t mean “the client decides where it is.”

Next up: finish the lobby UI, build out a SQL backend for user accounts, and set up a gateway to route players across server instances. I’ve got two Chromebooks I’m testing on, and while they’re fine for small playtests, 500 concurrent players is almost definitely not happening on that hardware. The server process might only eat 50MB, but RAM isn’t the bottleneck: Python’s GIL, CPU load, and network I/O will tap out way before that. If this actually gets traction, I’ll need REAL infrastructure. The Chromebooks are great for prototyping, not production.

Still. The fact that multiple people can connect right now and actually play is pretty hype. This is gonna be chaos.

0
59

Comments 3

@aayanalikhan09

yo this looks real nice man! good on you for adding basic encryption! most starting out devs dont even do that so im glad you did :)

if you want something to host your game, i would recommend to start, get an old oem pc from a recycling center for cheap(some even give them for free!) and update as needed for you to run a basic home server! it wont host thousands of players, but it will be enough to host a small developers brand new indie game - hope this helps lol

@JyotP

@aayanalikhan09 thanks :) yeah I’m planning on self hosting or just using AWS, the encryption and my home internet are causing 500+ ping and that’s optimized. The game itself has long ways to go.

@aayanalikhan09

def want to start with home server unless u can get a sponsor to cover aws