Memory and Knowledge for Characters

[For a couple of years now, I’ve reserved the first Tuesday of the month for a review of a book on writing or game design that might be of interest to IF folks. I’m still doing one of those in March, but it will come out the 19th, while I’m at GDC.

Instead, this post is part of a short series on Character Engine and what we’re doing at Spirit AI. I’m writing these posts with IF and interactive narrative folks in mind, but more general-audience versions of the same content are also appearing on Spirit’s Medium account. Follow us there if you’re interested in hearing regularly about what Spirit is up to.]

Knowledge and memory are a somewhat vexed area for game characters. It’s easy to think of characters who don’t remember the last fifty times you asked them the same exact lore question, or are strangely forgetful about the ways you’ve harmed them, or who aren’t equipped to answer common-sense questions about the world they live in.

So why is this a problem? Simply recalling that something has happened is not the main challenge. We can set flags; we can assign variables; we can check on quest journals to see what the player has already done. We can refer back to whatever data store is otherwise tracking world state in this game.

The hard part is building a system where

  • everything important to remember is stored in a reasonably systematic way
  • differences between world truth and character knowledge are handled as much as (and no more than) useful
  • there’s a way to track and author for the combinations of possible state so that the NPCs always have something to say about what they remember and know

There are quite a few technical, design, and writing challenges packed into those three bullet points.

Continue reading “Memory and Knowledge for Characters”

Career-related News

I’m excited to say that as of Friday, I’m Chief Product Officer at Spirit AI. (The company website hasn’t had time to catch up with this yet, I know.)

I’ve been managing Character Engine for a couple of years now; I’ve been on Spirit’s board, and thus increasingly involved in the business side of the company, since the middle of last year. The promotion means that from here on I’ll also be directly involved with Ally, our product for detecting and responding to toxic interactions in online communities.

I am still doing a lot that’s directly tied to interactive narrative. (In fact, I’ve got a couple of blog posts lined up for this month about some of the interactive storytelling implications of Character Engine, for those who are curious about what we’ve been working on all this time.) And both products draw heavily on how we understand language, both its literal meaning and the social implications of words. Spirit employs some awesome talent in data science, natural language processing, and computational linguistics.

Meanwhile, Ally addresses a problem of how to build and protect healthy communities. That’s extremely important, and it’s an area where we need good technology and careful thought about the ethics of what we’re building. (And we’re hiring.)

So this continues to be a compelling job, and I’m working alongside some really terrific people. If you count the time I spent contracting before we had investment money, I’ve been working with Spirit in some capacity for nearly three years now — here’s hoping the next three years are as amazing as the last.