Godot 3.0-beta1 - Dungeon instancing, support of multiple maps in a single server?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Brandon Lamb
:warning: Old Version Published before Godot 3 was released.

Game details:

  • 2D
  • Top-down
  • Space theme
  • Multiplayer
  • Click-to-move w/waypoint marker

I’ve been working on this game for 2+ years (very, very, casually). It’s really just a side hobby project that I will probably never finish.

I’m to the point where I have finally implemented the beginnings of multiplayer code, and I have separate codebases/repos for the game client and server. The client can currently connect to the server and there is a “refresh_players” function to populate players in a node client-side.

While not naive enough to think I can build an MMO, I do want to be able to support up to say 16-32 players or so. Part of the gameplay mechanics I was hoping to implement was instancing of levels/maps so that I could have both pre-generated/pre-designed levels, as well as implement PCG.

I immediately got stumped on the fact that there is a single scenetree, so from a server perspective I cant figure out how I could support the server creating new level instances (or say player housing) because it would be rendering it all on the same scenetree.

Any creative ideas on how to tackle this?

One I had a moment ago was if I used layers to separate levels so that collisions only happen on the corresponding level. However, none of this seems like a truly scalable solution.

Has anyone tackled this with Godot? My only other thought was somehow implementing some infrastructure architecture to spin up new game instances in Docker and have the client switch connections.

For now, I’m going with one bigass map. I’m not sure if there are any limits like how far out x,y can go. That also means the server will have more and more objects to process.