#Multiplayer crate and hosting recommendation

19 messages · Page 1 of 1 (latest)

gaunt mango
#

With the next jam drawing closer I'm getting an itch to finally make a multiplayer game so I was wondering what's a simple-ish crate to help with that and where to host either the host server or a matchmaking server. I'm a cheapskate and it would be just for testing and the jam so a free option would be nice.

As for the crate I've started looking into ~~bevy_quinnet ~~ (no WASM) but I'm definitely open to suggestions. WASM support is a must and I'd like to make smt. fairly simple, not action-based to get my feet wet.
I was also considering 'matchbox' with 'GGRS' (thanks to @misty ridge for the lovely tutorials), but setting up the rollback seemed more-involved than going th server/client route.

#

Ah, bevy_quinnet doesn't support WASM, my bad.

misty ridge
#

I mean, it depends on where you want to put your efforts. If you do a syncing-based thing, you have to deal with some entities being "behind" or out of sync, which can also be a pain, while on rollback you have to put the effort into staying deterministic in your systems, and stay clear of events for gameplay code.

#

And also what kind of latency you can accept and how many players you want to support

gaunt mango
#

I'll avoid collisions/physics if I can help it, so latency should not be not critical I think.

misty ridge
#

fwiw @rare mortar is experimenting with setting up matchbox for a client-server architecture with direct connections, though, where one of the browsers is the host. Not sure if it will be ready in time or not, though.

gaunt mango
#

I definitely wouldn't mind that approach. Without latency issues I don't think host advantage matters that much.

gaunt mango
misty ridge
#

Yeah, though I'm considering providing a use-at-your-own risk instance for people to use during the jam

#

as long as you namespace your room with something specific to your game, it should be fine

rare mortar
#

There’s a lot of work to be done for ergonomic client/server architecture in matchbox and it starts with making it easier to support through the signaling server. I have a draft of that PR up now. I also have a server/client example I set up that works with current edition but I have to be honest: I’m not willing to consult right now, you’d have to figure out my code.

misty ridge
quiet flax
misty ridge
gaunt mango
gaunt mango
quiet flax