Heroes Dev Log #13: To True Choice in Games

Heroes Dev Log #13: To True Choice in Games

March 1, 2024

Player Choice

Two of our core design pillars for Heroes are that players should have true choice, and that their choices should actually matter.

In the vast majority of story-based games, this isn’t true, or is only true in a very limited way.

Even in the games that are best at doing this (Fallout New Vegas, or BG3, for example), choice is still quite restricted. They do the best they can with limited technology, but the result is that you only ever have a limited number of options. And very few of your choices actually change the outcome of the world in a significant way.

I remember playing Fallout New Vegas for the first time, and I loved how nuanced and varied the options you had for finishing the game were. You could side with multiple different factions, or none at all, choosing to take control yourself.

You had, if not true choices, at least interesting choices. But at the end of the day, you weren’t able to see the effects of those choices. You couldn’t explore a New Vegas where the NCR had won, or where the Legion had taken control, or experience the consequences of your decisions.

And I don’t blame the studios. The work to enable that kind of experience would have been immense. They would have needed to create 2-4X as much content, to show the impact of just 4 different choices, a herculean task.

But for the first time, I think we can finally build games that don’t have those limitations. We can make worlds where you can shape them in significant ways, changing the future for characters, towns, or entire kingdoms and then actually see and experience those results.

So how do we do that? We’ve built several new AI systems for Heroes that enable that vision.

AI Memory

Memory is one of the critical systems we’ve built to ensure that players’ choices really do matter. Without great AI memory choices are quickly forgotten, losing all consequence and meaning.

I’ve previously written in depth about the memory system we built to make player choices matter and why that’s so important. I’ve heard from a ton of players that these posts really resonated with them, so I definitely recommend reading them if you haven’t.

Realistic Constraints

I’ve also written about why constraints are important and actually help to create better stories. However, constraints need to be realistic; that is, they need to fit the rules of the world, rather than be arbitrary walls. If they stop the player, they should be unscalable mountains rather than invisible barriers.

We’ve come to accept far more of these invisible walls at the status quo than we realize. We often forget how arbitrary so many of the limitations that most game systems impose on us are. In most games the majority of items we can never interact with, buildings are indestructible, we only have a few dialog options, and we can only follow the predefined quest paths outlined for us.

Soon we won’t have to. This is one of the areas I think we’ve refined the Heroes Engine to work remarkably well. There are obviously still a few kinks here and there, but in general, the system is extremely good at letting you do anything that should be possible in the rules of the world, while disallowing things that wouldn’t.

Plot Arcs, Triggers, and Effects

One of the challenges we’ve faced in development and testing with giving so much player choice is how do we guide players on completing plot arcs that leave them emotionally satisfied?

With movies or books there is no consumer choice, so you can define exactly the plot you want. With games, all you have to do is restrict the player’s choice or slightly modify the arc based on a few player decisions. That lets you define one or a few plot arcs based on some limited choices.

But we want not just a few possible routes through an experience, but infinite, based on the infinite creativity that players can express through their actions.

We’ve tried several different systems to enable this, with plot outlines or AI planning, but they never quite captured what we wanted. So instead we built a new system not seen in AI Dungeon or in any AI consumer experience we know of. We call this system AI Triggers.

Inspired by map editor tools in games like Age of Empires and StarCraft, AI triggers work similarly to triggers in those experiences, where you define an if-condition and a then-consequence. But for AI triggers, you’re not just doing simple programmatic actions, but are instead doing fuzzy story-based conditions and effects, leveraging AI to detect triggers and cause broad effects.

With these triggers, creators can then chain together plot arcs in a way that respects player choice, but sets up consequences that will lead to epic climaxes and meaningful payoffs.

For example, a simple arc might involve the following triggers:

  • IF: the player enters the town of Murdock. THEN: Zaire the cleric tells them about a necromancer that has been growing power in the east.
  • IF: The player goes to the necromancer’s castle. THEN: they discover the necromancer has made an undead monstrosity composed of several different animals.
  • IF: They defeat the necromancer and his monstrosity. THEN: they find out the necromancer was just the pawn of an evil warlord that’s planning to invade the kingdom.
  • Etc… etc…

This is a small example of how creators could then create epic arcs for players to engage with. But critically they don’t define in any way what the player WILL do. Only what might happen if they make certain choices. They could choose to fight the necromancer, or to ally with him, or to ignore the plot line altogether.

This enables true choice while still enabling creators to craft compelling narratives and stories.

It takes a fair bit of fancy AI work to enable unlimited numbers of triggers at scale, but what I love is that it’s also a general-purpose system that can be used to do any number of things (many of which I probably have never imagined). Creators might use triggers to make Easter eggs, dimensional portals, epic word events, unique abilities, or interesting magical artifacts.

Leaving a Legacy

Finally, there’s a whole new level of choice and effect that we believe we can build with AI that has never been possible before.

The systems we’ve built with Heroes are a foundation that will enable the consequences of your choices to persist not just across a single adventure, but across new characters living in the same world

Many games have new game-plus mechanics, where you can restart as a new character, keeping some advantages or skills. But imagine starting a new character and having it carry over not just a few items or skills, but also the entire legacy and consequences of everything that happened in your previous adventure.

For example, you might play as an orphan who once saw the great hero (your previous character) far off in the distance, and who now lives in the world he left behind. You could visit the towns he saved or founded, meet the companions he journeyed with, and deal with the ramifications of the choices he made, seeing in broad detail all the consequences of your decisions, with true power to change the world.

And you could do that again and again and again, shaping the world you play in, over generations of characters, all with their own stories and adventures.

This is one of the possibilities I’m most excited to build with Heroes: persistent worlds that you can change in dramatic ways over time. Like Minecraft did with blocks, we could do the same with characters, kingdoms, and stories, enabling an experience unlike anything that’s existed before.

– Nick Walton

We’d love to hear your feedback about Heroes, so please share any and all questions, comments, or ideas with us!

Join the discussion on Discord →