Mid-March Link Assortment

Events

gdc19thumb_17.jpg

GDC is just next week; March 18-22 in San Francisco.

March 24 is the deadline for submitting full technical papers to the IEEE Conference on Games (CoG).  The conference itself will be August 20-23 in London, and I will be there.

March 24 is also the next meeting of the Seattle Area IF Meetup.

March 30, the Baltimore/DC Area IF Meetup will discuss Within a Circle of Water and Sand.

April 6, the Oxford/London IF Meetup hears from Tom Kail (inkle) and Xalavier Nelson Jr (freelance) about game design considerations in IF and narrative games.

Also on April 6, the SF/Bay Area IF Meetup will be playing through games from the 2019 Spring Thing competition.

indie-cade-featured.jpgApril 15 is the late deadline for designers to submit their work to Indiecade Festival.  The event itself is in October in Santa Monica, CA.

The Oxford/London IF Meetup has an excellent program in process for the weekend of June 8, interactive audio experiences for phones, smart speakers, and similar devices. Saturday, we’re going to be hearing about craft, tools, and commercial considerations, with a couple of speakers coming from out of town. Then Sunday we have a workshop on using Spirit AI’s Character Engine for natural language interactions.

If you’re interested in going to Narrascope, the big narrative game conference this summer in Boston, registration is now open.

New Releases9781138595309.jpg

I contributed to the forthcoming Procedural Storytelling in Game Design (“forthcoming” here is a term that will only be applicable for about a week; the book comes out on March 21.)

Each chapter in this collection is written by a different contributor and focuses on a unique topic in Procedural Storytelling. Tanya X. Short and Tarn Adams were the editors, and more info is available here.

41YXldsW6jL._SX392_BO1,204,203,200_.jpgThe Advanced Game Narrative Toolbox is a new book release following on to The Game Narrative Toolbox, which I reviewed previously.  I have it ordered but haven’t read it yet; I’ll share thoughts here once I’ve had a chance to do that. (Actually, I have now read it. Review coming Tuesday.)

The Quest Smith is cool, and a bit reminiscent of Jerry Belich’s Choosatron.

Lastly, another Kickstarter to check out: the “H2O: A Drop in the Ocean” project is live as of this month.

Articles & Podcasts

the bettercast is an interesting long-form podcast about learning to do conversation design for natural language interactions, from Danielle Frimer of Xandra (and formerly ToyTalk).

Announcements

ElWtNt4e_400x400.jpgAnd we’ve recently had two related announcements about how science fiction and fantasy interactive fiction markets are now being recognized by SFWA.

First of all, Choice of Games announced at the end of February that three of their titles have been selected as finalists for the 2018 Nebula Game Writing Award.

A week later, sub-Q also had some good news of their own.

Talespinners has just announced their collaboration with the University of Southampton on the IF portion of the Green Stories Writing Competition.

The University’s aim is to explore the topic of sustainability through stories. The competition has a wide scope: novels, stage plays, radio dramas, short films, and various varieties of screenplay are all welcome.

cropped-cropped-photo2.jpg

According to the site: “all genres will be considered, but stories must engage with the idea of environmentally sustainable practices and/or sustainable societies.”

The IF contest is accepting submissions until December 1, 2019. It’s free to submit, and there are a number of prizes. For more information, check out the competition page here.

Emotional Mechanics

[Most months, I devote the second Tuesday of the month to a mailbag post that answers a question someone’s sent to me. I’m still doing one of those in March, but it will come out in two weeks’ time.

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.]

restless2

In January, I published a talk about conversation as gameplay, and in particular my ECTOCOMP game jam piece Restless. There, I talked about using Character Engine to give the player more expressive ability. They can tune their dialogue to be open, scary, vulnerable, aggressive, playful; they can pick input topics that they want to focus on.

I’m now revisiting Restless to address some of the flaws I identified in that piece, to give it a better tutorial introduction, polish its use of dynamic text, and add some depth to the content. Tea-Powered has created some additional art, so we can better signal gradations of character emotion. And I’m also refining some of the mechanics under the hood, particularly those that deal with gradual changes in character emotion.

What I’m going for in terms of the design:

  • perceivable consequence:
    • all of the player’s actions should have some effect on the outcome of the story, even if just by moving stats in one direction or another
    • the NPC’s emotional state should be apparent to the player, communicated through art, words, and actions
    • some areas of the NPC’s emotional state space should trigger narrative progression, by having the character get angry, leave, reveal new information, go back to sleep, etc
  • intentionality:
    • the NPC’s reactions should be consistent and predictable enough that the player can choose what to do and be rewarded by an expected outcome, even if there is an additional unexpected consequence
    • the player should have some warning when the NPC is approaching a state that will trigger a significant reaction
  • hysteresis:
    • the NPC should not rapidly cycle back and forth between two emotional states in response to opposed actions from the player; the history of interactions should matter
  • varied narrative intensity and pacing
    • not all player actions should be of equivalent efficacy; some actions should be more important, memorable, or high-stakes
    • it should not be possible to achieve an important result by grinding repetition of an unimportant action

That last point possibly deserves a little bit of expansion. One of the issues with stat-based relationship tracking in games is that it can mean that you could do a lot of banal minor services for a character, and work your way to a point where you’ve maxed out your affinity and now they want to marry you.

This is bad for multiple reasons. One, it’s unrealistic; humans don’t work like that. Two, it’s boring gameplay and boring story. Doing minor favors over and over feels like a chore, from a gameplay perspective. And narratively, there’s no sense of rising stakes, or risk, or the thrill of the relationship becoming more intense.

One way to resolve this would be to throw away the consequences of player action after a certain point. If you’re already at 50% affinity, paying one more compliment to the character does nothing at all. Now you can’t grind your way to romance through compliments: problem solved! Except that this goes against the earlier design principle that all player actions should have consequences of some kind.

So, instead, what we have to do is turn off the player’s ability to do minor actions when we’re in major consequence territory. Compliment away… while your relationship is still in trivial flirt zone. But work your way up to where things are getting serious, and the available affinity moves also get more serious, more freighted. And just having those “bigger” moves popping up in the choice menu should communicate to the player, along with the character art, that we’re in a more important situation.

Fortunately, all of that is pretty doable, by restricting dialogue lines to particular ranges of the emotional space.

This work is still in progress — I’ll post when the new version of Restless is generally available.

Natural Language Understanding for Characters

[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.]

Character Engine is designed for two kinds of interaction: it can either generate input options for the player (as seen in Restless), or it can take natural language input, where the user is typing or using a speech-to-text system.

screen shot 2019-01-20 at 1.02.02 pm

That natural language approach becomes useful for games in AR or VR where more conventional controls would really get in the way. It’s also good for games that are using a chatbot style of interaction, as though you were chatting to a friend on Facebook; and a lot of interactive audio projects deployed on platforms like Alexa use spoken input.

There are plenty of business applications for natural language understanding, and a lot of the big tech players — IBM, Google, Amazon, Microsoft, Facebook — offer some sort of API that will take a sentence or two of user input (like “book a plane to Geneva on March 1”) and return a breakdown of recognized intents (like “book air travel”) and entities (“March 1”, “Geneva”). If you prefer an open source approach over going to one of those companies, RASA is worth a look.

For people who are used to parser interactive fiction, there’s some conceptual overlap with how you might set up parsing for an action: we’re still essentially identifying what the command might be and which in-scope nouns plug into that system. In contrast with a parser, though, these systems typically use machine learning and pre-trained language models to allow them to guess what the user means, rather than requiring the user to say exactly the right string of words. There are trade-offs to this. Parsers are frustrating for a lot of users. Intent recognition systems sometimes produce unexpected answers if they think they’ve understood the player, but really haven’t. In both cases, there’s an art to refining the system to make it as friendly as it can be, detect and guide the user when they say something that doesn’t make sense, and so on.

Some natural language services also let the developer design entire dialogue flows to collect information from the user and feed it into responses — usually interchanges of a few tens of sentences, designed to serve a repetitive, predictable transaction, and lighten the load on human customer service agents.

Those approaches can struggle a bit more when it comes to building a character who is part of an ongoing story, who has a developing relationship with the player or user, and who uses vocabulary differently each time.

That’s exactly where Character Engine can naturally provide a bit more support. We’re tracking character knowledge and personality traits. We’re doing text generation to build output that varies both randomly and in response to lots of details of the simulated world. And because dialogue in Character Engine is expressed in terms of scenes of interaction, making it easier to maintain large and complex flows where the same input should be understood differently at different times.

We don’t want to be in a race with the providers of existing NLU solutions, though. What we want to do is facilitate author-friendly, narrative-rich writing options that tie into whatever happens to be the current state of the art in language understanding. So here’s a bit about how we do that:

Continue reading “Natural Language Understanding for Characters”

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”

End of February Link Assortment

Events

springthing.jpgMarch 1 is the deadline for artists to send an intent to enter to Spring Thing 2019.  The games aren’t due until the end of the month, but if you want to participate, put your name in today.

March 2, the London IF Meetup does a workshop on Character Engine. This is already full at the moment, but if there’s interest we may do some more of these in the future.

March 2 will also be the next SF / Bay Area meetup.

March 15 is the deadline for designers to submit their work to Indiecade Festival. There is a late deadline of April 15, and the event itself is in October in Santa Monica, CA.

GDC is just around the corner, March 18-22 in San Francisco. I will be there, as will several other members of the Spirit team. I’ve recommended some talks from the lineup that I’m excited about, and I’m also around and meeting with people who are interested to talk about Character Engine. So if you’d like to know more about that, get a demo, or find out whether we might be a good fit for a project you’re working on, please let me know.

March 24 is the deadline for submitting full technical papers to the IEEE Conference on Games (CoG).  The conference itself will be August 20-23 in London.

March 29 is the deadline if you’d like to submit a paper to the Procedural Content Generation workshop at FDG this year. Demos will also be accepted, though the deadlines for this are not set yet. The conference itself will take place in San Luis Obispo, California, August 26th-30th, 2019.

This workshop aims to advance knowledge in the PCG field by bringing together researchers and facilitating discussion. Because academic workshops are a place for feedback and discussion of new ideas, our aim is to host three modes of submission and delivery: the standard full-paper format, the continuation of the demo session, and a short session for positions and provocations that will enable further discussion of topics and issues related to the community’s research and direction.

March 31 is the deadline for games to be submitted to Spring Thing 2019, and the festival opens on April 4.

wyCtxP.pngThe Rayuela de Arena gamejam is entering its second year, and this time it will be taking place in April (2018’s jam was in August).  A quick description can be found here on the intfiction forum.

The organizers are asking for Spanish language IF, and 2019’s theme is magical realism.  Submissions will be open from April 1-30. 

¡Buena suerte!

 

Continue reading “End of February Link Assortment”

GDC 2019 Previews

GDC is coming up, and I will be there! If you’d like to speak, please do get in touch. (And if you’re interested in learning more about Character Engine from me or one of the rest of the Spirit team, please drop me a line about that too.)

Also, if you’re an IF person coming to GDC for the first time, I’ve written previously about GDC survival strategies (scroll down), and most of the advice there still holds. This year, there is also a GDC 101 event for people who are attending their first conference.

I am one of the advisors for the AI summit this year, so I’ll be in that room pretty constantly Monday/Tuesday, and especially: participating in the Ethics panel and the AI Devs Rant session, as well as MCing the Experimental AI Workshop. I’m very excited about that session, as we’re bringing together some exciting projects from several different corners.

Below the fold I’ve pulled out my picks of things that might interest readers of this blog. As usual, there are too many talks I wish I could go to, many of them scheduled opposite one another, so I’m going to have to rely on the Vault for a few things…

Continue reading “GDC 2019 Previews”