I recently watched some footage of I Am Setsuna from E3.
Map and Dialog
There’s likely a catch-all map state in which characters can run around, interacting with the world by opening chests, entering doors and new areas, and talking to NPCs.
The gameplay starts in a snowy forest. So, there’s a
Map state pushed onto the state stack that has a reference to the map for this snowy forest.
| Map |
As the player wanders around the forest, the player encounters talking NPCs. These NPCs likely have triggers that push a
Dialog state with a reference to the NPC’s dialog onto the stack.
| Dialog ←PUSH | | Map |
As the player advances and completes the dialog, the player is returned to the previous state, the snowy forest
| Dialog →POP | | Map |
The gameplay is controlled by the current state at the top of the state stack. This provides a more convenient way to track the appropriate controls and UI elements than to sprinkle a bunch of complicated conditionals throughout some monolithic game code.
Next time I’ll talk about combat.