Author: Canny Tencent Interactive Entertainment Game Planning
What is a programmatically generated narrative? How to use the program to realize story creation? Is it possible to generate narrative programmatically so that players can realize the real “one thousand readers, one thousand Hamlet” in the game?
In 2017, my friend told me that there was an immersive drama “Sleep no more” in Shanghai, which would give people a unique experience, so you must take the time to watch it. As an amateur theater lover, I have also heard of “immersive drama”, but this is the first time I have seen it.
Winter nights in Shanghai are extremely cold, and the McKinnon Hotel is full of people stomping their feet. The entire five-story building is a stage. When Shakespeare’s classic tragedy “Macbeth” is staged over and over again, the audience can wander through the five-story building as they please. To be precise, it is running. In order to catch up with the character you want to follow, many times you have to run upstairs and downstairs in embarrassment.
Yes, the play is always on, you can choose where you want to go and what you want to watch. Sleep no more seems to provide a huge narrative space, and the story experienced by each person who walks into it is unique. The official also specially set up a bar to allow the audience after watching the performance to share the stories they just saw and talk about the parts they did not see.
The removal of the “fourth wall” allowed the audience to walk into the play, and made everyone into Alice jumping into the rabbit hole. Not only drama, we also hope to bring unique stories to players in the game.
This is about to talk about a direction worth exploring in game narrative-Procedual narrative (Procedual narrative).
1. What is a procedurally generated narrative
In roguelike games, procedural generation of levels and maps is nothing new. Every level in the well-known “Spelunky” (Spelunky) is automatically generated procedurally. The designer makes a basic plan, so that the plots, enemies, items, and entrances are randomly distributed according to certain rules. Every time the player opens the game, the experience is never the same. Compared with manually editing levels, this method achieves a great enrichment of the game content at a small cost, which is very helpful to improve the replayability of the game.
Similar to levels, the game plot is also a consumable to some extent, especially for games with linear plots. Text AVG games usually provide the option of “skip read text”, because watching the same story repeatedly will bore most players. Even knowing the ending in advance and being spoiled will detract from the player’s pleasure in watching the plot.
We hope that the game plot can be automatically and randomly generated according to certain rules, just like levels, so that players can see a different story every time they experience it, and enhance its freshness and replayability. Furthermore, we also hope that the story can satisfy everyone to the greatest extent. Turnip greens have their own loves. We hope that no matter what preferences the players have, they can be satisfied in the game narrative, and everyone can get what they want.
But this is not an easy task.
Randomly generating the plot itself is not difficult, but the difficulty is how to programmatically generate a wonderful story that satisfies the players.
When we were young, we might have played such a game: write names, times, places, and events on a piece of paper, knead it into a ball, sort it out, and then take out a piece of paper to form a sentence and read it out loud. This kind of game is often a good time to take a classmate out. Because the names of the people are the names of classmates, they often achieve some dramatic effects, forming words like “Zhang San takes off his pants and farts at home in the morning”.
Can we accumulate enough such sentences to become a story? Yes, but it may not be a good story. We can’t split the story elements and simply combine them randomly and push them to the player. For a good story, the arrangement of characters (characters), events (plots), and scenes must be carried out according to the narrative purpose, so as to convey a specific and specific emotion or concept, and make the audience feel meaningful after watching it.
2. Two ways to realize the procedurally generated narrative
When writing a story, there may be two starting points, one is to arrange wonderful and attractive plots, and the other is to create unforgettable characters. For many playwrights or novelists, these are even two different starting points for creation. However, it is often found that some stories have strong plots, but the characters are very flat and facial makeup; some story characters are portrayed as lifelike, but the plot is as plain and boring as boiled water. Anyway, most good stories have both.
When the program realizes story creation, we may be able to think from these two perspectives.
We can start from the characters to construct the story, define the characters’ names, appearances, personalities, and experiences (that is, personal settings), and then match the characters’ motivations and the relationship between the characters and the characters according to these characteristics. After the characters are established, and then let the characters interact with the characters, the story will naturally come out. For example, the “The Sims” series created a rich and diverse emergent narrative from this perspective.
In addition, we can also construct a story from the plot.
Below I give two examples of games to talk about their realization ideas, which may bring some inspiration.
[Character-based Narrative Generation]Wildermyth
“Wildermyth” (Wildermyth) is the best work I have seen in recent years to do procedurally generated narratives.
This is a turn-based strategy RPG. At the beginning, players can get three characters. The appearance, attributes, experience and characteristics of the characters are randomly generated. The professions are warrior, hunter and mage. The three characters form a team to take an adventure on the map, and the player controls to destroy monsters in a war-like battle mode. At the beginning, the player can specify the relationship between the three characters, be friends, lovers or opponents, which will affect the subsequent plot dialogue to a certain extent. After the initial settings are completed, the three embark on an adventure journey, and the subsequent legendary stories are written by the players.
As soon as I entered the game, I was immediately attracted by the multi-frame comic-style plot expression. We know that some games that have both performance ambitions and want to allow players to experience narrative freedom have become slaves to the bottomless pit development cost. In the end, they can only use exquisite 3D cutscenes to show the little bit of negligence brought about by player choices Variety. And “Man Ye Qi Tan” is undoubtedly very smart. Whether it is the minimalist character style or the plot expression of multi-frame comics, they chose not to dig holes for themselves, but also brought greater freedom.
Going further, you will find that the plot, narration, and character dialogue of the game will vary depending on the role defined by the player and the choices made. A reckless character and a humorous character make completely different comments when facing the same thing. When a character is in danger, whether the relationship is a lover or an opponent will also affect what the other character says is concern. Still mocking. Although the plot script is somewhat random, no matter what character the player chooses, it is very natural and appropriate most of the time. How is this done?
In fact, the story of each act of “Man Ye Qi Tan” is independently written by an author. The story writer compiles a scene by scene performance to form a performance library. They will mark that this performance requires specific characters to participate. For example, a certain performance specifies three characters: leader, brat and fool, which corresponds to the character of the player when creating the character. When the three protagonists selected by the player experience a plot point, the system will search the performance library to see if there is any suitable performance for these three. This is like selecting suitable scripts from Curry based on the characteristics of the actors at the beginning of filming. Each performance has its own performance parameters, and the performance can start as long as the actors are in place.
The advantage of this approach is that the control is handed over to the story author, that is, the context and core of the story are still tightly controlled by the author, and no meaningless or out-of-control stories will be produced due to random and combination of programs. However, when matching performances based on character characteristics, if the screening conditions are too strict, many performances will not have a chance to be staged; if the conditions are too loose, the characters will be inconsistent, and the audience will not be able to feel his character characteristics from the consistency of the role behavior. .
In order to solve this problem, they added some detailed settings. Each event in the game will have a set of marking systems, allowing the author to set some differences according to the specific personality, relationship, and even some macro status of the player in the game. This is the inspiration found in comedy performances. Comedies performed in theaters often have improvisational parts, that is, play outside the script with the actor’s personal understanding. This kind of play often makes the audience feel more authentic and credible.
The producer also revealed in an interview that they had tried to generate a story based on the plot, but found it too difficult to achieve. You can arrange for the player to encounter random events, but experiencing a series of unrelated events does not make the player feel “meaning.” That’s right, a good story must combine events into a strategically significant sequence to inspire specific and specific emotions or express a specific and specific outlook on life.
At the point of generating narrative based on plot, we can look at another example.
[Plot-based narrative generation]80Days
“80Days” (80Days) is a masterpiece of narrative based on Verne’s original adaptation. In this game, we can see very subtle plot-based narrative generation.
The game is about, in order to complete a bet with others, Fokker and the servant Passepartout have to set off from London and travel around the globe in less than 80 days.
The game does not spread the route of the entire map in front of the player’s eyes from the beginning, but allows the player to make decisions about the routes and destinations they will embark on at each location. If you buy train route maps, ship flight schedules and other items in various places, you can dig out more routes you can take. While weighing which way to go, players must also consider factors such as travel expenses, Fokker’s health, and the number of days spent.
The entire game map can be seen as a directed map composed of various locations and the passable routes between them (see below). Taking London as the starting point, players can choose one from 1 to N locations as their next destination for each departure, stay there for a certain period of time, experience some events, and then set off again. This kind of “graphic” narrative structure is much more convenient than the previous tree-like structure. The actual number of paths formed by choices is much larger. It is almost difficult for two players to play this game. The same route.
In the event, players will experience some choices. Most choices have no effect on the actual play path and clearance, but they will bring a completely different experience in the story. One choice may bring you a romantic encounter, while another incomprehensible choice will make you miss it. What is very clever is that some of the choices in the early experience will be echoed in the events of the subsequent experience, which does give people a feeling that the player can influence the story.
The producer uses the self-developed Ink engine to achieve this. I have seen their introduction. This engine is designed to be more friendly to screenwriters (story planning) when creating interactive narratives. You don’t need to fill in the excel sheet during traditional development, or write lua scripts to insert the game plot text in quotation marks in the code logic, but directly write the plot text and insert a small amount of code to implement the logic.
The following is a script example of a plot at the beginning of the game presented in Ink. We will find that various marks (zany and dull) are placed in front of the selection part in the text. The choice made by the player in the previous paragraph will affect the branch text that can be seen later. In addition to marking and presenting according to the player’s choice, the engine also supports concise language to realize that when the same paragraph is repeated, the specific expression will be slightly different (orange part), and it will determine which expression to present to the player in the current state according to the mark. .
Of course, tools determine the output efficiency to a certain extent, but what can support “80 Days” to achieve its higher degree of freedom narrative experience is the designer’s control of the entire narrative. The higher the degree of freedom of the narrative, the more it is necessary for the designer to clearly control the causes, consequences, and logical sequence of the player’s experience in the entire game experience.
It is said that the game maker said that the entire game has a massive amount of text of about 750,000 words, and only about 3% of them can be seen in a single pass. This 3% is completely determined by the player, and the narrative is tied to the player’s choice of route. A large amount of text and a “graphic” narrative structure allow each player to see a unique scenery while playing the game.
Perhaps it is because the use of programmatic narrative generation can break the boundaries between game mechanics and the story, make the two more integrated, and players can participate more in the story, which makes me so interested. The reader is no longer the monkey monkey who can’t reach Wuzhishan, and can only follow the route set by the author. The story will change due to the player’s choices, the state and attributes in the game, so that people truly have a nearly unique experience. After two players have played the same game, they can sit together and talk about the differences in their stories.
However, when using programmatically generated narratives, it is also necessary to weigh the pros and cons with more weights, and do not use them for the sake of use. Otherwise, it is likely to make things more complicated due to excessive pursuit of technical realization. Either the final product quality is not good enough, or it will fall into the bottomless pit of development costs.
In addition, I feel that the use of programmatically generated narratives needs to be very careful that the player’s sense of trust is broken. When players realize that there is a small dissonance in the generated story, it is easy to destroy their trust in the story. Perhaps this can be called the “uninteresting valley effect” of programmatically generated narratives. Once players realize that this is just a story fabricated by computers, and their trust is shattered, they will soon no longer have expectations for this story.
[Some Cases of Programmatically Generated Narrative]
Wildermyth (“Man Ye Qi Tan”)
80 Days (“80 Days”)
Sunless sea (“No Light Sea”)
Dwarf Fortress (“Dwarf Fortress”)
The Shrouded Isle (“Misty Isle”)
Curious Expedition (“Curious Expedition”)
Middle-earth: Shadow of Mordor (“Middle-earth: Shadow of Mordor”)
Source: Tencent Game Academy GWB