Multiple Scenes + Multiplayer?

I’m working on a real-time multiplayer open-world sandbox game using Socket.io and I have the rooms feature already implemented pretty nicely.

The problem I’ve been facing is upon adding an additional scene/map, would it be possible for one player to visit this scene without loading the scene for all other connected players on the Network?

I’m not sure if the issue is with PlayCanvas’ design philosophy but with the network examples I’ve come across, they all load the target scene and each client sees the same scene.

In short, is it possible to implement this in a way that traditional MMO’s do? I enter a portal and I’m on the target scene while the other connected clients are still at the parent map/scene.

1 Like

In short, yes it is possible. You could use additive loading of scenes where each scene represents a zone and they can be load/unloaded as the player walks through it.

You can also unload/load the whole scene at once.

No client should care about what the state another client is in, it should only care about itself and the server state.

1 Like

@yaustar Thanks for this, I will give it a try yet again using the additive loading method. You pretty much summed it up for me, I just have a few more issues to tackle.

Upon arrival on another scene, would I just notify the server that the player entity shouldn’t be shown if not on a given map? (Efficient)

Or would I need to make a entirely new network call apart upon each map arrival? (Inefficient)

PS: Just looking for the best ways of going about this, PlayCanvas supports cross-platform exports + multiplayer which happens to be the basics to building a lightwight metaverse.

More that the client tells the server where they are and it’s up to the server, what to do with that information.

In this example, the client SHOULDN’T be telling the server that it shouldn’t be shown on a given map as that’s logic the server should be dictating.

1 Like

You’re 100% correct, I meant notify the clients on which player entities to show per scene/room they’re in.

I’ll get to implementing this, shouldn’t be too difficult now.

Thanks for the help :100: