Hi @Scopique, glad you're considering using it for your next project!
What you described is exactly how Colyseus has been designed to operate! :)
Taking mazmorra.io as an example - it is a "dungeon crawler" type of game. Every dungeon has the same logic behind it, the only difference is their
- Filtering dungeons by its
- Joining a dungeon room by
"progress": https://github.com/endel/mazmorra/blob/b6fef8bd884261b948e4a8c816a0fac93fc543c7/client/game/level/Level.js#L52-L54 - the
enterRoom()method is going to call
- Here's the implementation for the "dungeon room": https://github.com/endel/mazmorra/blob/b6fef8bd884261b948e4a8c816a0fac93fc543c7/server/rooms/DungeonRoom.ts
Full sources: https://github.com/endel/mazmorra
Hope this helps! Feel free to ask if you happen to have specific questions during development!