World of Smoke and Mirrors

AI Somnium is a Visual Novel about a Detective trying to solve a mysterious murder in future Japan. While the story of the game is great, one small feature that won me over is that when you are having a conversation with more than one character, you can see other characters' reactions to whatever is being said. It’s a small detail, but it really helps immerse you and convince you that the characters you are talking to are more than just props in the  main character’s story. That got me thinking about different ways that games try to convince the player that the world they are inhabiting is bigger than they are.

Three-way conversation in AI: Somnium Files. Notice, how the character in blue is annoyed at the character in pink.

Three-way conversation in AI: Somnium Files. Notice, how the character in blue is annoyed at the character in pink.

Developers who want to create an expansive world for players have to choose a spot in the spectrum between “simulate the entire world” and “lie to the player about the world”. For example, if I were to create a populated city in an rpg, I could create a schedule for every single NPC and have them follow it or write a system that simulates all of the people’s lives in the city. However, I could also just randomly spawn NPCs around the player and have them do random actions that make them look busy. One could argue that simulating an entire city is not very cost-effective, while randomly spawning NPCs might be not convincing enough. As such, I thought it would be interesting to look into different ways developers try to find a middle ground. How do developers strike a balance between cheap and convincing worlds?


Developers have to be clever about adding content. .The newest Animal Crossing game features hundreds of potential villagers that can come live on your island. However, the game has you interact often with the villagers and you slowly get to know each one over the course of weeks. Given how much you talk to each villager and how many of them there are, it would be impossible to create unique lines for each villager. Furthermore, having unique interactions between all the villagers would be even more of a development nightmare. So, the developers decided to give each villager one of 8 personalities. Each personality has hundreds of different text lines and different interactions with each personality. Since most players have around 7-10 villagers on their island, the chance of seeing the same voice lines from different villagers is very small. Furthermore, each villager has small and easy to add quirks that make them seem unique even if their personalities are the same. As a result, the player perceives hundreds of unique villagers that could come to their island. The Animal Crossing world seems huge! The lesson here is that grouping elements of the world together and making sure each group is well developed can help reduce development costs without losing too much veracity of the game world.

A chart showing how different personality types interact with each other.  Hearts is friendship, triangles is neutral and X is dislike.

A chart showing how different personality types interact with each other. Hearts is friendship, triangles is neutral and X is dislike.


Sometimes all immersion takes is one or two special moments that make you feel like all your actions . A long time ago, I was playing Bard’s Tale 3. While traversing one of the generic RPG villages, I was confronted by an angry NPC. The NPC explained that I kept running into other villagers and that it was really annoying. He asked me to stop bumping into others. While the scene was played for laughs, it also sent a clear message of “This is not just a regular RPG game, you can’t do whatever you want without consequences”. Note that the rest of the game falls into a lot of the regular RPG tropes, with unimportant NPCs being one of them. However, that small moment changed my perspective on the game. It was easier to see the NPCs as people. The lesson here is that sometimes all you need is one or two displays of the world being complex to prime the player into thinking your game world is more complicated than it is. 

It’s just a few examples, but it is interesting to see how developers try to handle this complex balancing act. Whether it’s by grouping elements together or crafting unique moments to convince you the world is complex, the techniques are very clever.

The Evolution of Developer Diaries and the Multimedia Developer

It is hard to be noticed by the public as a game developer. There are around 150 games released on Steam every week.  Small indie developers and large AAA studios all vie for consumers to notice their games and buy them. As a result, game developers have begun to rely on creating non-game entertainment content to build up interest in their game. I think this is a larger trend of indie developers trying to adapt to a market where more traditional game promotion methods aren’t as effective. Today’s case study in this phenomenon is the Dev Diary. 

Dev diaries are a cost-effective and simple way to involve your audience with your game before it is done. Historically, dev diaries were text posts posted online that detailed the progress on the game and went in-depth on features that would be included in the game. A good recent example of this would be the dev diaries from most Paradox games, like Stellaris. Every week a Stellaris developer would write a post detailing how a feature in the game is designed and implemented. People excited about the game could read about the upcoming features and fantasize about the finished game while also giving early feedback, which kept the public aware of the game’s existence. Written Dev Diaries are a cheap way of generating interest, since all you need is one of the developers to write about a feature for an hour every week or so. What is interesting is that a lot of people just enjoy reading about the development process. So, the blog posts are a form of entertainment on their own. Players are excited to learn about how the games they play were made. This gave some developers an idea on how to stand out from the crowd.

A Stellaris Development Diary on the Paradox Forums about the MegaCorporations feature. Users can make comments and suggestions under the dev diary.

A Stellaris Development Diary on the Paradox Forums about the MegaCorporations feature. Users can make comments and suggestions under the dev diary.

Some game developers took dev diaries to another level: dev diary videos. A good example of this are the Satisfactory development diaries. Every month or so, the developers would record 15 minutes of gameplay of their unfinished game while talking about the features. Again, people would watch the videos to learn about the game but ALSO to enjoy the video by itself. The developer playing the game was likable and created enjoyable content. So, the popularity of the video exploded due to viewers who were interested in the game AND/OR the videos. The downside of the videos was that they had to be edited and took more time to make than a regular dev diary. The studio would need a dedicated video person. However, the videos attracted a huge audience: over 250 thousand viewers. A few developers saw these numbers and realized that making an enjoyable video will bring in a big audience and decided to go even further.

The Satisfactory Development Blog Video is a play-through of an alpha with developer narration, very reminiscent of let’s plays.

The Satisfactory Development Blog Video is a play-through of an alpha with developer narration, very reminiscent of let’s plays.

This brings us to the newest iteration of the dev diary: a video series on making a game that is heavily edited to be appealing as a standalone video. A great example is the channel Randall. The videos he makes are dev diaries that they detail development of his game. However, the way the videos are structured and edited suggests that they are meant to be enjoyed on their own. The videos feature sketches, non-sequiturs and jump cuts. People enjoy these videos for their humorous nature as well as their look behind the scenes of game development. The author has a Patreon to support him throughout the development and video-making process. This suggests that people are getting value just from his videos. They are entertaining enough on their own to warrant attention. However, the videos require a lot of time spent editing and recording footage. This is not a simple task and it requires hours and hours of work. However, you can’t argue with the results: some of his videos are close to reaching a million views.

Randall’s videos are development diaries on his game, but also feature skits to make the video more enjoyable.

Randall’s videos are development diaries on his game, but also feature skits to make the video more enjoyable.

Randall has found a huge audience by creating both a game and a video series. This raises a question for the future: Is this going to be a big way developers get noticed? Will developers have to embrace the multimedia to find an audience?

I think this trend illustrates the way that audience for indie games is changing. People have become less receptive to web ads and traditional promotion (possibly due to the over saturation of game ads). However, people do enjoy watching YouTube videos about games. It makes sense that people would be attracted to a YouTube series about the development of a game. If a developer is able to make enough money from the creation of these videos to fund their game and still have enough time for development, this presents an interesting new funding model for indies. However, there is no guarantee that views on dev diary videos will translate into sales. It could be very likely that people have no interest in playing the game. Instead, they just enjoy learning about game development and seeing the development journey. In that case Randall’s game may not have great sales. There have certainly been many cases of games made popular by YouTube, like Five Nights and Freddy’s or Happy Wheels. I’m curious to see how Randall’s game will sell once it is released into the world. All I can say is that it is fascinating to see how game developers adapt to an ever-evolving market.

Supernarratives in Games

We are familiar with the idea that games can tell narratives. However, a game can also be an important element of narratives that are created in the real world by the game’s players. Some examples of such narratives are:

  • The story of players deciphering a mystery in the game.

  • The story of players competing against each other in a game tournament.

  • The story of a player’s mastery over a game.

I couldn’t find a coined term for such narratives, so for the purposes of this blog I’ll call them “Supernarratives” i.e. narratives that are outside the scope of the game’s story but utilise the game as a key object in their story. 

Game supernarratives are real-life stories that form about the game and the people playing it. Some people might think ARGs fit into this category, but ARGs are about the game narrative including the real-world in its fictional story. However, a game supernarrative is firmly rooted in the real world and only has the game act as a story element. 

I think supernarratives are an underexplored area of games. I will go over the example of the players deciphering a game mystery to show how engaging and powerful supernarratives can be and how games can create supernarratives. 

Five Nights at Freddy’s (shortened to FNaF) is a great example of how to create a mystery supernarrative. While the FNaF is a huge franchise now, when the first game came out, it was just a small and low-budget indie horror game. The player’s goal was to survive five days working as a night-shift security guard at an entertainment center where the animatronics were trying to kill you. This first game exploded in popularity. While I do think that the high popularity helped turn the game into a franchise, I think that the supernarrative that formed around the game is the real reason the series is able to last so long. So, what was the supernarrative?

Well, if you play through the first FNaF game, you will find that it has a very light story. You are a guard and you have to survive your shift. The animatronics get more unsettling every night. At the end of your five days, you are fired and the game is over. However, some more dedicated players noticed details in the game that seemed to suggest a more sinister backstory about a child serial killer. Some of these players started posting online theories about the backstory. People became fascinated with these theory videos, many channels like Game Theory would have millions of views on their theory videos. With every new release of a FNaF game that would contain more story details, the question on everyone’s mind would be: were the theorists right or wrong? The supernarrative formed around the community’s goal of solving the mystery. People began to latch on to the story of how these theorists would hit dead ends or discover new clues. Sometimes, paradigm shifts would occur as a new game revealed a new fact and the whole community would scramble to reinterpret old games. Online feuds would be formed between prominent theorists with different theories. As a result, people kept talking about the FNaF games and the theorists analyzing them. The series had a constant presence on Youtube without spending much on marketing and as a result, FNaF still reliably tops the top selling list on Steam whenever a new game is out. Most of the early FNaF games have been made quite fast and on a low budget, but they still manage to out-sell many longer and more polished games. 

So, how can games create such a mystery solving supernarrative? Note that as a game developer, I don’t think you can guarantee a supernarrative to form around your game. There are only things that you can do to increase the chance a supernarrative will appear. In this case, consider some of the games that have had more than 1 million views on popular theory videos:

  1. Five Nights at Freddy’s

  2. Undertale

  3. Duck Hunt VR

  4. Hollow Knight

All of these games have an in-depth story that is not fully told in the game. FNaF has the serial killer plot, Undertale has a hidden story about a scientist suffering from a horrible experiment and so on. All of these games utilise environmental storytelling and clues to tell a bigger story than what playing through the game explicitly tells you. So the most important thing to include in your game is a mystery that is not resolved within the game. That way, players will have to put in effort and decipher the story. Furthermore, adding content over time with more hidden story details is a good way to add story beats to the narrative of solving the mystery. As new FNaF games came out, some details forced theorists to scrap a lot of their previous assumptions about the hidden backstory. Those points generated a lot of interest because it felt like a rise of tension in the mystery supernarrative. Furthermore, when a new game falsified old theories, people became more excited for new releases because they expected that a new game would have an impact on the mystery solving. As a result, each installment of the series attracted a huge audience.

There are many more interesting supernarratives to are worth discussing, but for now I’ll end on the above example. I think that games can be designed to foster specific supernarratives and games with supernarratives tend to attract very large audiences. After all, players just want to experience a good story, and that story doesn’t have to be the in-game narrative.

Making the Most out of Procedural Generation

Procedural generation gives developers the ability to use random number generation to automatically create content on the fly during gameplay. How do we make sure that we use this tool to its full potential?

First, procedural generation is not a replacement for game design. At launch, No Man’s Sky was able to randomly generate an expansive universe with millions of planets for players to explore. However, the gameplay at the time was not well fleshed out and the game was panned by critics. As a result, the initial reception was very negative. Even if a game utilizes advanced procedural generation, it is not guaranteed that the game is enjoyable. We need to utilize game design principles to create good procedural generation. For example, consider creating platformer levels. We could choose to create every single level by randomly arranging tiles and putting a start and end on a random tile. Surely, some of the levels we generate are going to be interesting and will lead to an engaging experience. However, if we consider the possibility space of all levels we could generate, we’ll find that the percent of well designed levels is close to 0. It’s hard enough to create an engaging level by hand! Now, one could argue that we could fine-tune our procedural generation algorithm so that it always creates well designed levels. However, now we rely on level and game design principles to create the algorithm, so we are back where we started!  

Designers of successful games with procedural generation put in a lot of effort to make sure that their games can be engaging even if procedural generation is removed. The designers of Spelunky, a 2D platformer featuring randomly generated levels, realized that simply randomly generating levels won’t make an engaging experience. Levels in Spelunky are created by arranging pre-designed segments to create a level that the player can always get through. These segments are designed so that each one presents a player with interesting choices and challenges. As a result, the randomly generated level is always guaranteed to challenge the player while having reasonable difficulty.

Spelunky generates maps out of preset pieces in such a way that there is always an unobstructed path from the entrance to the exit.

Spelunky generates maps out of preset pieces in such a way that there is always an unobstructed path from the entrance to the exit.

This raises a question: If we have to put in a lot of design effort anyways, why bother with procedural generation? Why not make everything by hand? I think there are two reasons procedural generation is used:

  1. Procedural Generation reduces the feeling of repetition for repeating game elements. When a player notices that a game element (map, encounter, enemy etc.) repeats, the game can lose much of its charm. Imagine doing the same level twice. The second time will be much less enjoyable because there is nothing new to encounter. Procedural generation lets us change up a given game element so that it doesn’t seem to repeat. The player will notice the pattern after a while, but the time until they notice the pattern is much longer than the time to notice a repeating element. This is one of the reasons that roguelike games rely on procedural generation so much. You have to go through the same levels every time you die in a roguelike. If the levels weren’t procedurally generated, this would get old very fast.

  2. Procedural Generation counters dominant strategies and encourages adapting to random circumstances. Players are forced to adapt their strategy on the fly if they do not know what exact challenges await them in the future, or are given different resources each time they play. As a result, players feel less confident with sticking to a dominant strategy, since there is always a chance their plans may be foiled. Consider Rimworld, a management game about running a colony on an alien planet. Each time the player starts a new colony, they are given a randomly generated piece of land to settle. Due to the procedural generation, the area poses new challenges to the player each time. For example, if a player ran their last colony by growing a lot of plants, they may think growing plants is the best way to play. If the next time they play they need to settle an area with very little arable land, they will need to reassess their strategy. Similarly in Slay the Spire, a roguelike deck-building game, the map and cards the player encounters are generated in a different order each time. This means the player cannot always rely on the same deck of cards to traverse the map in the same way.

Now that we established when to use procedural generation, let’s look into how to make the most of it. Stellaris is a 4X simulation game about running a space empire that is an example of a game with lackluster procedural generation. In the game, the appearance of each AI empire is randomly generated by selecting a set of colors, flags, species and backgrounds. On my first playthrough, the universe seemed to be teeming with life. Each empire had its own combination of visual elements that made it feel unique. However, with each consecutive playthrough, the empires started to visually blend in more and more. Soon enough, encountering a new civilization stopped being exciting. All of the empires felt bland and uninspired. Because of how the random generation was set up, you would see each element in every possible combination. As a result, there were no surprises anymore! So, how do we make sure procedural generation does not become stale fast?

1) Make sure that more interesting and intense events occur less often than common events.  Consider the two following maps. Which one looks like it would lead to more interesting gameplay?

Everything equally randomly distributed.

Everything equally randomly distributed.

Bigger structures have a lower chance of showing up.

Bigger structures have a lower chance of showing up.

I would argue that the image on the bottom looks like a much more interesting space to explore. The common elements help act as a background to the rarer and more surprising elements. You can see this idea in a lot of successful procedurally generated games. For example, Nuclear Throne is a roguelike top-down shooter that generates maps with ammo chests and weapon chests. However, very rarely one of the chests can be a mimic that attacks the player. The designers found that the mimic was the most exciting and surprising when it was very rare. The mimic was so rare that players forgot it existed most of the time. Rarity is what makes the crazy moments special. If crazy/special events occurred all the time, they would lose their charm quickly. That said, we can improve the map on the right even more.

2) Make the probability of events dependent on other events to create a sense of theming.

Below is another set of maps. Again, which one do you think seems more interesting?

Everything is independently generated.

Everything is independently generated.

Structures are generated dependent on what is nearby.

Structures are generated dependent on what is nearby.

I would say that the one on the bottom is more interesting. Each area feels like it has a set theme and feels consistent and unique. You can see this kind of idea in a lot of procedurally generated games. Minecraft and Terraria both utilize the idea of “biomes” to group together randomly generated elements into a cohesive set. This approach to procedural generation also helps support design, where designers can design themes with specific goals in mind (e.g. making sure different areas have different difficulty).

Minecraft map where four different biomes meet.

Minecraft map where four different biomes meet.

There is a place for procedural generation. It is a really powerful tool for countering dominant strategies and introducing variation into what would be a repetitive game. We can make procedural generation interesting by using unequal probabilities for different events and using dependent probabilities to introduce themes into our generated content. Just remember procedural generation is not a replacement for good game design!






If I Can't See It, It Doesn't Exist: Systems and Simulations in Games

Dreaming up worlds can be a very fun activity. When we make a game with a complex setting, we may be tempted to try to simulate as much of the world as we can so that it can truly be alive. Games like Dwarf Fortress show us how satisfying playing in a well simulated world can be, so it is tempting to think that simulating more and creating more complex systems leads to having a better game. However, game developers have limited development time. We have budgets, constraints and all manner of things preventing us from making another Dwarf Fortress. So the question is, what should we simulate and how should we simulate it so that our game is improved? Below are a few lessons we can learn from existing games:


1) Make complex systems only if they are relevant to game mechanics/goals

Oblivion and Stardew Valley are both great games that share one surprising similarity: all inhabitants have simulated daily routines. Below is a picture of Roderic Pieranne, an NPC character in The Elder Scrolls 4: Oblivion. Each Sunday Pieranne leaves his wife and home to sleep with another woman in a local inn. 

900px-OB-npc-Roderic_Pierrane.jpg

Here is a picture of Mayor Lewis from Stardew Valley. Officially he’s single, but through the course of the game the player learns that he is in a secret relationship with another NPC, Marnie. Every Wednesday Lewis goes to Marnie’s house to spend time with her.

b33pzbgwl0jx.jpg

What is the difference between these two characters (other than that one of them is committing adultery and the other isn’t)? Players who have played Stardew Valley know about all of these behaviors while most Oblivion players are not even aware of Roderic, less so his routines. Both characters have detailed routines, so why is it that in one game players are aware of the schedules and in the other they are not? The main reason for this discrepancy is that Stardew Valley’s mechanics encourage the player to visit and follow the NPCs in the game often. In addition, there are only a few characters in the game, so the player has time to become familiar with their routines. On the other hand, Oblivion is a game with hundreds of NPCs where you spend most of your time exploring dungeons and fighting monsters. Interacting with NPCs is very limited and you very rarely talk to a given NPC more than 3 times. Therefore, there never is a point where you would become aware of the NPCs simulated routines. This raises the question of whether it was worth it to create all of these detailed schedules if most players never notice them. So, this leads us to the first lesson: complex systems and simulations have to be relevant to mechanics and player goals or otherwise the player may not realize the system exists.

2) Show and tell the player that the simulation is doing things

There seems to be consensus among gamers nowadays that game AI “sucks” nowadays. When asked for examples of good AI, two games stand out: FEAR and Halo. Why are these two games seen as great AI examples? I don’t think the answer is “better AI systems”. If that were the case, we would see more modern examples of games with “fantastic AI” given how much money game studios pour into making sophisticated AI systems. I think this a design issue at its core, which is illustrated by a few points Mark Brown makes in his video “What Makes a Good Game AI?”. One observation that he makes is that enemies in FEAR are very aggressive and loudly shout out what they are planning on doing. So, if a player is fighting a group of enemies and one of the screams “Fall back!”, the player thinks that the AI made a decision to retreat. This gives the player the feeling that they are playing against thinking enemies, when in reality this action is just the result of a single AI system controlling agents.

Enemies in FEAR flank the player aggressively, forcing the player to follow their movements if they want to survive. Consequently, the player is painfully aware of the enemies’ tactics skill.

Enemies in FEAR flank the player aggressively, forcing the player to follow their movements if they want to survive. Consequently, the player is painfully aware of the enemies’ tactics skill.

Furthermore, Mark Brown mentions that enemies in Halo were seen as smart partly due to the fact that enemies had enough health to make decisions before being killed by the player. As a result, the player could see the enemies move or attack in smart ways instead of just mowing them down the moment an encounter started. So, simply telling or showing the player that choices/events are chosen by the system lets them know the simulation exists and therefore makes the simulation feel real.    

All in all, the main thing to consider is that systems and simulations in a game have to be visible to the player and relevant to the game mechanics if we want them to really improve the gameplay experience. Otherwise, we could have spent a lot of energy on something that just makes the player go “oh ok cool”.





Do Developers Do Digital Drug Dealing?

The longer and more engaging a game experience is, the more likely it is that the player will start to ignore their real life responsibilities for that experience. Expansive and immersive MMOs like World of Warcraft have been accused of facilitating gaming addiction for years[1]. This isn’t a new problem. Back in the old arcade days parents had to control the finances of their kids so that they wouldn’t blow all of their money on arcade machines[2]. Even in cases that aren’t explicit game addiction, many people can give examples of games that sucked them in so much they had to force themselves to stop playing[3]. So, the question is: are game developers fated to be digital drug dealers?  Game designers can argue that the experiences we make are important and transformative, but that just makes us acid dealers instead of cocaine dealers. Can we make long and immersive experiences without ruining a few lives on the way?

First of all, is every game equally likely to be addictive? Definitely not. Admittedly there is a non-zero chance that a player may become addicted to any game. That said, for most games the addiction chance is very low. Studies confirm that while gaming addiction is real and life-destroying to those who experience it, on average gaming addiction is still pretty rare[4]. However, I do think there are games that are much easier to get addicted to, and we can identify qualities in games that are major driving factors in addiction:

  1. Unending Gameplay - A game that ends gives you a natural stopping point. Once you reach the credits, there is not much more to do. With games that don’t have a set end, nothing stops you from playing forever.

  2. Limited Time Events - Any time content in a game is available for a limited time, the player has to make a choice: do I miss the content or do something in real life?

  3. Social Community in Game - If the only way to contact your closer friends is through the game, you will end up playing the game to experience social contact.

It is worth mentioning those features are often very engaging. It’s not like designers add those features just to glue people to the game. There is real enjoyment to be had from games that you can play for a very long time. However, we do have to face the reality that these features can compel people to play the game for unhealthy amounts of time. 

We can choose to make games that are more or less addictive. However, is it actually a smart business decision to do so? In the end, game studios are businesses that need to generate an income to exist. The truth is that the games that do all of the addictive things listed above are also some of the most profitable/engaging games out there right now. The fact that World of Warcraft is still running is a good testament to that! If you want to keep your studio afloat amidst a sea of competitors, your game will most likely need some of the above addictive features. So, as long as studios need to support themselves on their own and competition increases, we will most likely see more and more of these addictive features. The current evolution of “Games as a Service” continues this addictive trend. A game that is a service continues to evolve over time and will never be truly finished. So, if you want to experience the game at its best you should be playing it right now. 

All of this leads me to believe that we are currently stuck in a very awkward position as game designers. We have to strike a balance between creating a game that is engaging enough to keep the company afloat without making a game that encourages compulsive play. I don’t really think there is an easy solution here, all we have right now are just ideals. For example, I think the ideal for an unending game is a game that encourages the player to play when they have the time to do so. However, I’m not sure how we can facilitate that reliably. That said, additional laws and policies regarding addictive mechanics would help level the playing field and game companies would not have to rely on them to stay competitive in the market. Finally, additional research in ways developers can detect and help with serious addictions cases would also go a long way. I still believe games bring much more joy than suffering in the world, but we cannot ignore those who suffer.

SOURCES

[1]https://www.theguardian.com/technology/2011/aug/29/world-of-warcraft-video-game-addict

[2]https://www.quora.com/Was-gaming-addiction-ever-a-big-problem-back-in-the-70s-when-commercialized-arcade-computer-and-console-gaming-was-relatively-new

[3]content=bufferb5c82&utm_medium=social&utm_source=twitter&utm_campaign=buffer-pcgamertw

[4]https://www.vox.com/science-and-health/2018/12/6/18050680/video-game-addiction-gaming-disorder-who