top of page
Search

Down the Rabbit Hole

  • Writer: Skye Winters
    Skye Winters
  • Nov 4
  • 12 min read

After a one week break from writing, I return to describe my progress in Project Conversation and some updates from literature / talks I’ve been analyzing.


Research Through Design


Gossip System V1.2


So in the last development update, the gossip system was encountering several issues and a new gossip data approach was proposed. The goals of the new system were as follows:


  1. Simplifying the tag system

  2. Simplifying the Action / Target System into an event system

  3. Allowing for texts that have some using past and some using present tense


Since then, I’ve been going through V1.1 and applying the proposed updates and evaluating their payoff. In the end, I had a slightly different gossip data structure than I originally was planning due to discovering that a few of the aspects were indeed useful to have in the trimming down process. Thus, in V1.2 the new gossip data structure is as follows:


  • ID: The unique identifier of the piece of gossip

  • Subject: The person that this gossip is about

  • EventPresentTense: The thing that the subject did in present tense

  • EventPastTense: The thing that the subject did in past tense

  • Target (Optional): Who is the target of the event

  • Tags (Optional): What type of identifiers exist for this information

  • Starting NPC: Who already knows this when the game starts


Currently, we have found this to work overall quite well for the purposes that we are trying to do in this early stage of our project.


To then share this information, our twine nodes now use a metadata label to describe both the id that is being shared and the targets who are receiving that information. Furthermore, we have added that if a choice starts with Gossip: {Character: gossiptag} then we evaluate it as a conditional checking if the character knows the piece of gossip.


Now we are in the stage of evaluating it for any additional changes that are needed but are shifting focus over to our other system overall.



Social Media System V1.1


For the social media system, our aim is to


  1. Increase NPC Social Believability through having them interact and respond to one another

  2. Increase world building through information shared while texting

  3. Allow for dynamic narrative generation through mad lib style posts


To accomplish these three goals, our social media system will, after every in-game time advancement step, poll game characters for gossip information that they wish to share and then have matching characters create a new gossip post. After several iterations, we now have V1.1. The new system using the following data structure to accomplish the posting style:


  • Author: The person who posts the information

  • Related Tags: The tags that this post must match to be used

  • Anti Tags: The tags that this post must not match to be used

  • Post Content: What the post should say, can include the identifiers “{subject}”, “{event}”, “{event-p}”, “{target}” to give more relevant seeming posts


One key difference between V1 and V1.1 is that V1.1 now includes Anti-Tags instead of Negative tags. While the name seems to indicate similarity, the previous system used a method of checking for connotation while the new method uses a method of checking for exclusion. For example the negative tag of dog would mean that if it's a slam post against dogs, then it will use that reply whereas the anti tag of dog means that if it's about dogs it will not use that reply.


Thanks to this new system, and some playtesting, we have also now added in special tags of


  • Post Worthy: Marks the gossip as being one that can be used for social media

  • No Target: Marks the gossip as one that does not contain a target.


Additionally we started running into the issue of repeated posting using the same mad lib so it would ruin the intended immersion. To account for this, posts now have a last used state tracker that marks the time stamp they were last used. As a result, they will now have that as a negative to their priority to prevent repeat usage.

Using these systems, the new goal is to now 


  1. Attempt to clean up the UI for the system

  2. Add more types of posts to decrease likelihood of repeats

  3. Increase state indication to let players know a new post has been made.



Story Engine


So one issue that we are running into is that the amount of gossip in the game is quite limited due to needing to prioritize the main gameplay story. Additionally, there is a large amount of permutations that would need to be taken into account to fill up the social media with unique and fun events. For example, in the first scene, about 6 people are at the bar, 3 of which you could talk to one on one. As a result, there are 3 different permutations for what the ensemble could be doing in the background at this time. And then we have 3 more scenes following this one resulting in 12 different permutations that need to be taken into account. Finally, these permutations could also be starting at different relationship levels between the characters down the road which could add more complexity to each permutation. Thus we have decided that to help mitigate this, we will be experimenting with a story engine that will dynamically orchestrate interesting scenes between the characters when they are not being interacted with by the player.


In the coming week, we will have more updates on this system, but it currently is pretty barebones. The basic system though is that after each time step, it will randomly create groups of NPCs, then select through a list of different events, and then cast the NPCs as characters in the events to play out. Then the event will be broadcasted on social media.


For example, in one version, Periwinkle, Baby, and Olive were selected to perform the “Witness Drink Spilling Event” where the subject spills their drink on the target which is observed by a bystander. So in this scenario, Baby was chosen to spill their drink on Olive while Periwinkle watched and then posted the result on social media.

Future versions will aim to have more different types of events, different priority of events, and different relationship dynamics for causing an event and because of an event.



Other Systems


Finally, as an overall game, we have also begun adding in the ability to swap backgrounds during dialogue, added in some placeholder characters / locations from images we found online, and added the ability for the player and the NPC companion to have side bar chats between dialogue interactions.


Literature Review


Game Design Research: An Introduction to Theory and Practice

Chapter 5 - Game Design Research Through Game Design Practice


In this chapter, the author writes on their views that research is mainly being dominated by the lens’ of other disciplines like HCI, Philosophy, and Media Theory. To help balance this, they make the call for more research to be conducted through a practice based approach. They then go on to describe how one could thus conduct research using a Research through Design Approach.


In such an approach, the research is described to begin by having an open-ended research aim / question rather than a specific hypothesis. Through doing so, the results are obtained through reflection and the emergence of understanding rather than quantifiable outcomes. Additionally, this allows for greater adaptability throughout the process as more and more insight is gained allowing for an iteration of approach to be used in response to said insight. Overall, it describes how the goal of such research is to be “the study of principles, practices, and procedures of design” rather than "empirical claims, laws, and theories”.


They then discuss different approaches to ground one research in to address the issue of where the validity of such an approach comes from. They mention some good foundations are post-modernism, constructivism, and grounded approaches. The overall takeaway is that it's important to address and acknowledge one's biases, background, and inspirations that therefore influenced their own work.

They then discuss different approaches to take to conduct said research and provide such insights. For example, the creation of an annotated portfolio helps showcase what your typical practices are and how those influence your present work. Additionally, one can use the approach of creating as many alternatives as possible to help prevent the missing of assumptions, comparisons, and potential solutions.


Finally, they discuss critical play and rhetoric for how they could relate to the process of game design research.


Overall, this chapter is quite a good foundational one for my research since it provides an excellent description of how to conduct games research. As a result, the main takeaways from the paper were the value of qualitative research in games and how one can use iteration effectively for furthering the quality of research.



Versu - A Simulationist Storytelling System


Versu is a social simulation engine designed by Richard Evans and Emily Short. Unlike other systems, their engine relies on the usage of what they call social practices which are essentially how people normally would act in a given social scene. For example, if at a dinner party, they could chat with other guests, eat their food, drink some wine, or even propose a toast. And if you stack multiple different social scenes on top of one another, then you can suddenly have a large number of different potential actions you can take during any given moment of the scene. Additionally, by having an algorithm that can determine what any given NPC would do in a given situation, the game allows for large amounts of emergent storytelling to unfold. As a result, they also are able to allow players to play as different characters in the game, let an NPC take control for a period of time, and allow the player to experience a strongly branching narrative with high replayability. To describe how they reached such a solution and what it ended up resulting in, they wrote the paper described below.


From the get go, the authors address the initial questions of why a simulation and why an agent based simulation? For the former, the reasons they provide are


  1. To allow for greater replayability

  2. To allow for greater player control over the outcome through predictability / understanding. Essentially allows for better planning rather than needing to guess what the designer intended


Then for the later question they state that it allows for easier swapping in and out of characters since no hard coding and also allows for the assigning of different roles to different characters in different playthroughs. Overall, their paper in many ways is a direct response to the issues present within Facade and their attempt to address those such as


  1. How to make it easier to produce content

  2. How to give player greater agency over the plot

  3. How to communicate feedback

  4. How to make the interface easier to use.


To solve these, they moved to a text based experience, with a finite number of responses to a given situation, giving the player the ability to hover over characters to view their state, and grouping together choices in order to help players understand what is going on under the hood.


To make their game work, the entire game is essentially represented through a database of sentences describing the world state and what agents can do. Then through taking actions, new sentences are added and old sentences are removed or updated. Then the actions that an agent would be able to take would be represented as social practices within given social situations which they aimed to make be role agnostic (NPC vs Player). They also included the ability to detect if a practice would break a social norm to account for a check and balance system to allow player agency, prevent NPCs from doing weird behaviour, and to respond believably to a player’s choices. More specifically on the last point, if the player violates a practice, they could either receive disapproval, forgiveness, anger, or eviction from other NPCs. 


To determine NPC actions, they developed their game in such a way that it is easy to run a simulation and undo the simulation actions with minimal computational cost allowing for perfect evaluation of how a behaviour would unfold to allow for optimal planning. Then to determine the result, the NPCs each have wants described by sentences that each have their own weighting. Additionally, each NPC can hold evaluations of others that can be from starting state, observation, or through gossip. Furthermore, each of the NPCs can have one emotion state which contains the emotion, target, and reason. Additionally, each NPC uses world knowledge but can have beliefs that impact actions taken. Finally, each character has a set of character arcs that they could fulfill. 


Finally, they spend the remainder of the paper talking about the core model and how it impacts gameplay, the story manager system and how it acts as laid back manager occasionally prompting social situations, and comparisons with other similar papers.


Overall, the paper presents a more industry focused approach for creating a game. Furthermore, provides an interesting approach for creating potential scenes between characters which is serving as inspiration for my current story manager. Finally, it provides a good example of how to situate one's work within the field they are writing for.



An Oz-Centric Review of Interactive Drama and Believable Agents


In this paper, Mateas (1999) proposes what he calls the “Oz perspective” on Believable Agents. This perspective described by Mateas, as well as the work conducted by the oz group, are what led to the shaping of modern NPC Believability. To define believability, the group leans on the writings of Lajos Egri in his Art of Dramatic Writing and the goal of creating an architecture that “treat character and story in interactive drama as seriously as do dramatic artists in traditional media.” Mateas proposes the definition that “a believable character is one who seems lifelike, whose actions make sense, who allows you to suspend disbelief.” The core traits he found to be of importance are


  1. Personality

  2. Emotion

  3. Self Motivation

  4. Change 

  5. Social Relationships

  6. Illusion of Life


He then describes the concepts of Classical AI and Behavioural AI with how they compare and contrast with one another and then make the clarification that their view of Believable Agents is inspired by and provides insight for AI but is not under the AI umbrella. This is due to personality being the chief trait whereas AI primarily focuses on intelligence and that it relies on audience perception rather than an objective measure. Additionally believability is about specificity of the personality rather than a generalization and characters rather than being based on reality. A core goal of theirs is to facilitate artistic intent. The goal is not to mimic reality but rather create an artistic abstraction of reality.


He then discusses artificial life, humanoids, embodied characters, chatterbots, and behavioral animation to differentiate their definition of believable agents from these topic areas. 


Finally, he discusses why researchers would study this field and provide the following four reasons:


  1. He believes that believable agents are necessary if you want to build interactive story worlds.

  2. Believable agents can enhance learning in educational settings

  3. Will likely be important for building anthropomorphic interface agents

  4. In pursuit of the AI Dream


He then provides a discussion of their interactive story system and how they define interactive story systems. He mentions the difficulty balancing story plot structure with interactivity and their solution of having a system that strings together a series of plot points. They then mention the three axis of story generation systems which include:


  1. Local vs Global control / knowledge

  2. Granularity of story control

  3. How much generation vs fixed storytelling


Overall, this paper very clearly illustrates why it's a foundational one within the believability field. With regards to my own research, it provides more reasoning to keep in mind for why believability is important, it serves as the definition I now use for believability, and it gives a few interesting questions to consider while designing my story generation system.


GDC and Other Conference Talks

Forget Protagonists: Writing Npcs with Agency for 80 Days and Beyond


In this talk, Meg Jayanth describes a post mortem of their experience working on 80 Days and Beyond. In particular, they describe how important it is to limit a protagonist to make NPCs stand out more. A few key takeaways were as follows:


  1. Immersion is social, we want to play with people / characters that feel real

  2. Agency isn’t a goal, it's an effect

  3. Agency doesn’t need to come from action, can also be from allowing players to express an opinion, have an emotional response, or be a reaction

  4. You can have the player have high agency without having high power. It's good to have NPCs that cannot be stopped or altered in their action by the player

  5. More NPCs allow for better ability to avoid stereotypes / mouth pieces / token characters


Overall, the main takeaways from this talk that apply to my own work are


  1. Believability is important since it helps with immersion

  2. Have my npcs have their own actions that are independent of the player

  3. Have more opportunities for the player to have agency without needing them to take an action


The Wrap Up

Overall, a quiet literature and reflection heavy week. Hopefully in this coming week I’ll have more time to delve once again into the nitty gritty of implementing these systems. However, as I’ve learned this week, it's still very important to include reflection into one's process when conducting research. So yeah, that was this week, thank you for making it this far if you have.


Work Cited

Crawford, C. (2004). Chris Crawford on interactive storytelling. New Riders Games.

Evans, R., & Short, E. (2014). Versu—A Simulationist Storytelling System. IEEE Transactions on Computational Intelligence and AI in Games, 6(2), 113–130. https://doi.org/10.1109/TCIAIG.2013.2287297


Lankoski, P., & Holopainen, J. (2018). Game design research: An introduction to theory & practice. ETC Press.


Mateas, M. (1999). An Oz-Centric Review of Interactive Drama and Believable Agents. In M. J. Wooldridge & M. Veloso (Eds.), Artificial Intelligence Today (Vol. 1600, pp. 297–328). Springer Berlin Heidelberg. https://doi.org/10.1007/3-540-48317-9_12



 
 
 

Recent Posts

See All
Wrapping Up

This week, I begin wrapping up Project Conversation and reflect upon what was learned from its development. Additionally, I discuss my believability metric and progress on conference talk review. Rese

 
 
 

Comments


bottom of page