When we started making Prom Week, our mission was to make social interactions truly playable. While games have increasingly gotten better at physical simulation, social interactions in games still tend to be scripted, with most games using dialogue trees of some form. A result of this is that many games end up being about physical conflict, as the physical simulation is the only part of the system dynamic enough to enable interesting gameplay.
Just like physics simulations in puzzle games such as Angry Birds support many emergent solutions to game challenges, we want to support emergent gameplay for social interaction.
Prom Week puts social interaction at the forefront, with the social simulation providing rich and emergent “social physics.” Unlike The Sims, which provides a rich simulation of abstract characters, we want concrete characters, speaking detailed lines of dialog, who have particular likes, dislikes and histories. Also, we want to support both more casual story gameplay, where players manipulate characters to find out what crazy things might happen next, and more strategic gameplay, where players try to accomplish specific goals by manipulating the social environment.
The gameplay involves choosing what social actions characters take with one another. What social actions characters want to take with each other, and how characters responding during these social actions is determined by Prom Week’s social artificial intelligence system. Given a goal, such as making two characters date, and a set of characters, there are innumerable ways to accomplish this goal, all holding true to each character’s personality, social context and history. And the game remembers every action the player takes, with this history influencing character reactions and being brought up in character dialog.
This requires a very rich social simulation. The character’s desires and reactions are determined by over 5,000 social considerations, rules that determine which social actions characters want to do and how they respond to social actions initiated by others. On the simple end, these considerations capture concepts such as being more likely to do something nice to someone if your friends with them. On the complex end, the considerations handle situations like a friend spending a lot of time with someone you’re not friends with, combined with the fact that you’re friend hasn’t spent much time with you lately, causing you to get jealous and making it more likely you’ll be clingy with your friend. Additionally, the social actions play out with many dialog and effect variations depending on the characters involved and their traits, statuses and histories, using template-based natural language generation to create dialog fitting the situation. And to top it all off, social actions always have lots of repercussions across multiple characters, creating a dynamic social landscape for the player to navigate.