Abstraction. It’s what makes a big game feasible. Things aren’t always “real”. They get processed in various degrees of fidelity depending on relevance. In many games the world outside the local space just pauses when the player isn’t around. But for Feylight Bay, we want the characters and world to seem more alive. We want you to be able to witness their walking commutes to work, their morning jog, their walk to the local coffee shop, etc.
To that end we have integrated Mass to run ECS simulation of our NPCs, their schedules, travel, and underlying state updates.
┌──────────────────────────────┐
│ Narrative State │
│ (Articy Globals) │
└──────────────┬──────────────┘
│ (read-only for Mass)
▼
┌──────────────────────────────┐
│ Mass Simulation │
│ (Virtual NPC Intelligence) │
└──────────────┬──────────────┘
│ (intent → reality)
▼
┌──────────────────────────────┐
│ Game World │
│ (Actors, Interiors, Physics) │
└──────────────┬──────────────┘
│ (events → narrative)
▼
┌──────────────────────────────┐
│ Narrative State │
└──────────────────────────────┘
What that means for us is we have some work to do to get characters implemented in this new model. But, it also means that we won’t need to code specialized logic to populate interior scenes for different narrative branches, times of day, etc. Instead, the virtual simulation will be able to provide up-to -date data to the game world and our NPCs will be able to pop in to the grocery store when you’re already there just because that’s what they were already doing.
So it simplifies continuity but adds a layer of logical complexity to the data processing. In the end it will be worth it.
Discover more from Secondhand Carrot
Subscribe to get the latest posts sent to your email.
