Comments

Log in with itch.io to leave a comment.

I can't play this and I don't think I can connect other pairs.

(2 edits)

[outdated information] I'm sorry, the signalling server to find other peers is currently offline due to restructuring my kubernetes cluster. I plan to restore it eventually, but I should probably add a note to the game page until then.

(2 edits)

Update: server issues are fixed for now, so it should be playable again.

(1 edit) (+1)

Interesting networking setup, did it worked well? As I understand main traffic was between clients, and little server was only to coordinate connections between. Will users have global IP to connect each other?

(+1)

It worked surprisingly well, considering I put this together in only 48h (only thing missing is reconnecting in case a peer connection breaks).

You understood correctly, peers connect directly to each other. The small signalling server is only used to "discover" the other peers and exchange connections information. WebRTC uses STUN/TURN in order to connect.

STUN basically does "hole punching" to traverse through NATs to a target device. Basically a local device can connect to a STUN server to create a hole and be available from the outside (think of it kinda like an automatic port-forwarding of a router).

If that fails, WebRTC will fall back to TURN. This is basically a relay server that clients can use in case that STUN failed for their particular network setup. This does introduce slightly more latency as a direct connection, but it still is super fast as packets can be basically relayed 1:1 without any overhead.

Regarding global IPs: With the context from above, yes, it uses the public IP in the case of STUN being successfull. Otherwise the traffic goes to the TURN server first before being forwarded.

(+1)

Thanks for detailed answer! Also I find a page in Godot docs about it https://docs.godotengine.org/en/stable/tutorials/networking/webrtc.html. It's really great that Godot supports such things out of the box!

(+1)

If you want to find out a bit more about the mesh network, I wrote a small twitter thread about it: https://twitter.com/WinstonYallow/status/1435180419717210112

(+1)

lovely game! really fun to play. i might be a little bit addicted :p the controls are super smooth (i'd LOVE a top-down game with this character) and holding the piece is so cute!

it's almost meditative. i took every green and pink piece on the board and made this :) color palette is super cool too!

Thank you so much!