Hi everyone,
I am evaluating Godot 4.x for a project with a lobby + multiple independent mini-games.
After reading the docs, my current planned architecture is:
- One main Godot project.
- A persistent
GameManager/SceneRouterAutoload. - Lobby scene lives under
res://lobby/. - Each mini-game lives under its own folder:
res://games/game_a/res://games/game_b/res://games/game_c/
- Each mini-game exposes one entry scene, for example:
res://games/game_a/game_a.tscn
- The lobby never accesses internal nodes of a mini-game directly.
- Each mini-game communicates back through signals such as
request_exit(result). - For large mini-games, I plan to use
ResourceLoader.load_threaded_request()before switching scenes.
Example interface:
# Mini-game root node
signal request_exit(result: Dictionary)
func enter(context: Dictionary) -> void:
pass
func exit() -> void:
pass