Developers from Facebook have presented an algorithm that generates worlds for text role-playing games. It consists of several parts that create a map, prescribe characters, collect the world into a single whole, and generate new descriptions for locations and actors, offering the player to complement the created worlds. To create the algorithm, the developers used a dataset from several thousand descriptions of the components of text quests, which they collected earlier.
Some games (mostly desktop) require the creation of a world from scratch: it is necessary to prescribe all the characters and surrounding players with a fictional reality, as well as a list of possible actions in the game. Of course, codes of rules written specifically for the game (such as for Dungeons & Dragons) often come to the aid of the players, but often, from beginning to end, they have to use their own imagination.
In order to simplify the task for players, developers from Facebook under the direction of Jack Urbanek in March this year created the dataset LIGHT(“Learning to Speak and Act in a Fantasy Text Adventure Game“) – it contains descriptions of 633 locations, 1755 characters and 3,462 objects (different weapons and other things) that can be used in the creation of a text game – all the descriptions used were collected using Crowdsourcing.
In their new work, the researchers decided to use the dataset to create an algorithm that would generate text games from scratch. The system that is used for this is made up of several algorithms, each of which solves its own problem – all of them are part of the ranking training class in processing natural language.
The first algorithm creates a map on which the locations from the dataset are located, their names and descriptions: for this, the neighbours of each of the used locations are provided in the dataset (three neighbours in total), which are ranked. Also, the developers have provided 25 dummy locations (for example, a closet in which there is nothing) that connect locations without neighbours in order to increase the number of possible cards. The following algorithm focuses on the selection of individual items for the characters and is arranged in a similar way. Finally, a separate algorithm based on the Transformer neural network architecture creates new game elements that complement the cards and characters from the original dataset. To create them, the researchers used a dataset of two billion comments on Reddit.
As a result, a whole game world is created: for each location and character, description and prehistory are available in it, as well as for each character – a set of his improvised tools that can later be used in the game. In total, the researchers managed to generate five thousand different worlds, some of which were then evaluated by people – they were also allowed to use other options for characters and locations proposed by the algorithm to make the game world better. Even though most appraisers were not completely satisfied with the created worlds and used the proposed modifications, on average they agreed that they would like to play in the resulting setting (4 out of 5 points).
In their work, researchers also offer pseudo-code for generating game worlds based on the algorithms they proposed independently.