“Complex Game Worlds, Simple Interfaces”, 2015-08-25 (; backlinks; similar):
[AI game paradigm: highly-complicated simulations but with AI decision support, like providing the top n ranked choices.]
The whole point of “egamebook” is to allow for complex game worlds that are controlled by a series of simple choices. By simple, I don’t mean “easy” or “without complex consequences”. I just mean they’re not a complicated interface. They’re a list of 2 to 5 options to choose from.
More generally, I’m interested in systems that present complex simulations in conversational form.
…In games, AI is generally written for the enemies. Some games have allies or wingmen, and those also need AI. In other words, AI is written for all agents in the game except for the player.
But that’s exactly what you want. You want to write your AI in a way that it can be applied to the player. Or, more precisely, to the User Interface (UI).
…This is what I tried to do this past weekend when I entered the Ludum Dare #33 competition. (It’s a challenge to create a game in one weekend from scratch, solo.) I used the (still very much incomplete) egamebook library as the engine, and my fuzzy logic library as the basis of the AI. I made a little prototype called Loch Ness.
The game is, of course, very flawed. It does receive quite favorable reviews, but there’s just so much you can do in 2 days, especially if you strive for a strategy game. For me, though, the biggest success is that it only gives you a few options at a time, and they’re not dumb, and you still play in a sandbox world.
The way I did this was simple, really. I wrote the AI code that scores different strategic moves according to their immediate desirability. (For example, moving troops from a well-supplied place to a place where they would starve receives a low score. Attacking an undefended enemy city receives a high score. And so on.) In traditional AI fashion, this code is then used by the opposing factions3 by scoring all possible moves and then picking the most desirable ones.
But—since I already have a mechanism to score moves—I can use the same thing for the player. I score all the possibilities, sort them, then pick the first few and bring them up as options.
This makes sure that you don’t need to pick from 100 or more options, most of which are irrelevant or dumb. But it still gives you the freedom of a simulated world.
View HTML: