A central area gives access to multiple discrete sub-areas; progress in sub-areas may alter the hub state.
Super Mario 64 castle hub: a central room of doors, each a world — cross the hub, enter a door, return, and pick another.
A central area branches to sub-areas; finishing a sub-area reports a flag back that can change the hub. Portals are gated by prerequisite flags.
Each portal is an entry trigger that checks its prerequisite flag, then loads (or reveals) the sub-area it leads to.
func _on_body_entered(_b):
if GameState.flags.get(required, true):
enter(target_area)Completion flags returned from sub-areas drive hub state — opening new portals, changing NPC dialogue, lighting up the map screen.
func on_area_cleared(id):
flags[id + "_done"] = true
refresh_hub()A return marker in the hub. Exiting a sub-area warps the player back to its portal so the hub feels like a stable home base.
func return_to_hub(from_id):
player.global_position = portals[from_id].global_positionIn short: Hub scene with portal nodes; each portal checks a prerequisite flag; completion flag returned to hub on exit
19 catalogued game(s) use this mechanic, spanning 1988–1996.
▶ Explore Hub World interactively — see every game + the Godot system