This is a reading note from pcgbook (pcgbook.com/)

1.1 Definition of PCG

PCG, procedural Content Generation, is an algorithm that creates game content through limited or indirect user input. PCG refers to the creation of game content by computer software alone or in collaboration with one or more players or designers. Kowalski, (2018). Strategic Features and Terrain Generation for Balanced Heroes of Might and Magic III Maps. 1-8. 10.1109 / CIG. 2018.8490430. Content includes levels, maps, and game rules Rules, Textures, Stories, items, quests, music, weapons, vehicles, characters do not include game engines or NPCS. Due to AI and intelligent computing in games, CI and AI are also used more for speech on character behavior than content generation. And the AI that learns how to play the game. Games By games I mean video games, computer games, board games, card games, puzzles, etc. The same must be considered for the design, burden, and constraints of the game it generates. Unlike derivatives and computer graphics, they don’t have to consider game design constraints. One of the key requirements for generated content is that it must be playable, such as able to reach generated levels, able to climb generated stairs, able to use generated weapons, and able to win generated games. Procedural and generative means that we are dealing with algorithms or computer programs that create something. A PCG method can be run by a computer (perhaps with some help) and will output something. Systems that use the PCG approach as part of it, such as adaptive games or AI-aided game design tools, can be seen as things that use the PCG:

  • A tool for creating new levels for action adventure games such as Zelda without input from anyone. Every time the tool runs, a new level will be created.
  • A system for creating new weapons in space design games. In response to player actions, each player gets a different evolved version of the weapon than the others.
  • A program that can independently generate board games with integrity, playability and balance. (Start with some existing games)
  • A game engine middleware. Quickly fill the game world with vegetation.
  • A map design tool. Allows users to design maps for strategy games while constantly evaluating the game properties of the map they are designing and suggesting improvements to make the map more balanced and interesting.

The following are not considered to have used PCG:

  • A map editor for a strategy game that only allows the user to place and remove elements without taking any initiative or doing any generation on their own
  • Artificial players of board games.
  • A game engine that integrates automatic vegetation generation

1.2 Reasons for using PCG

  1. Reduce labor costs for artists and designers.
  2. Enhance individual creativity, allowing small teams and even amateurs without large companies to create rich games.
  3. Make new kinds of games possible.
    1. If you can generate a game as fast as you can play it, you can generate content without limit.
    2. It can be customized according to players’ tastes and needs. By combining PCG with player modeling, players’ responses to single game elements are modeled using neural networks to create games that fit players
  4. You can understand the design better

1.3 Games using PCG

Elite, one of the early games to solve space problems, stored seed numbers that were used in the program to generate eight galaxies, each with 256 planets, each with unique properties. Rogue, the early dungeon game, randomly generated levels every time the game started. Diablo is a role-playing RPG where a program randomly generates elements and monsters of different types, numbers, and locations. _Spore _, the player designs creatures using procedural animation techniques, and then fills the programmed galaxy with these personalized creatures. Civilization IV, a turn-based strategy game that builds a unique Minecraft experience through randomly generated maps, makes extensive use of PCG technology to generate the entire world and its contents. Spelunky, a 2D platform roguelike indie game, uses PCG to generate game level changes Tiny Wings, a 2D game with a procedural terrain and texture generation system, giving each game a different look.

1.4 PCG’s vision

  1. A multi-level, multi-content PCG is a content generator that generates all the content of a game for a given game engine and set of game rules, enabling content to be put together in a high quality and perfect way. For example, given the engine and rule set of a popular role-playing game, the content generator can generate backgrounds, missions, text, elements, weapons, vegetation, terrain, images, and so on. In this way, a coherent and stable game world is formed.
  2. Pcg-based game design not only relies on procedural content generation during the creation of the game, but the PCG is an absolutely central part of the game. If the content generation part is removed, the game will no longer exist.
  3. Generate the complete game, not only for the content of a given game, but also for the generator of the game itself. This includes rules, structure, graphics, levels, text, etc.

1.5 Necessary attributes of PCG

We can think of the IMPLEMENTATION of the PCG as a solution to the content generation problem. A content generation problem. The necessary attributes vary from program to program, but there are still trade-offs to consider. For example, between speed and quality, between performance/variety and amount of reliability, the following are common essential characteristics of PCG:

  • Speed: The requirements for speed vary widely, from milliseconds to months, depending on whether the content is generated during the game or game development.
  • Reliability: rationality. Ensure that the generated content meets the given quality requirements. This is important for certain types of content. A dungeon without an exit or entrance would be a catastrophic failure, while generating a flower that looks a little weird doesn’t necessarily break the game if it just looks a little weird.
  • Controllability: Content generators need to be controllable in a sense so that users or algorithms (such as player adaptive mechanics) can customize aspects of content. There may be some dimension to control. Like a smooth rectangular rock, a car that can take sharp turns and come in many colors.
  • Expressiveness and diversity: A different set of content needs to be generated so that the content does not appear to be on the same topic. In some extreme cases, the level always generates the same elements, only randomly changing the color of individual stones. At the other extreme, a completely random assembly of components can be confusing and unplayable. So you need to balance expressiveness and produce different content without compromising quality.
  • Creativity and credibility: In most cases, we want content that doesn’t look like it was designed by a procedural content generator.

1.6 Classification of PCG

There will be multiple dimensions to classify PCGS

1.6.1 Online and Offline

  • Online, infinite variations can be generated while the player is playing, making infinite play possible.
  • Offline means generating complex content such as environments and maps during game development or before the game session begins. You can also create and share content (that is, upload generated content to a central server).

1.6.2 Required and Optional

PCG can be used to generate and complete the game content necessary for a level, as well as to generate optional ancillary content. The main difference between essential and optional content is that essential content is guaranteed to always be accurate, while optional content is not. Optional content such as different types of weapon generation in first-person design games, or auxiliary bonus levels in Super Mario Bros. Essential things like the structure of a Super Mario level.

1.6.3 Degree and scope of control

Control the content generated by the PCG in different ways:

  • Control generators using random seeds
  • Use a set of parameters for multi-dimensional control

1.6.4 Generics and personality

Generic content: The PCG paradigm in which content is generated regardless of player behavior. Commercial games deal with PCGS in a generic way. Personalized content: Adaptive, personalized, player-centric content generation. Such as assigning different levels of intensity based on the player’s level, evolving weapons based on the player’s previous weapon use and preferences, etc

1.6.5 Certainty and randomness

In a deterministic PCG, given the same starting point and method parameters or the same random seed, the same content can be generated again. In a random PCG, recreating the same content is almost impossible

1.6.6 Constructiveness and generation and testing

In a constructive PCG, content is generated once, as in a roguelike. The other type of PCG is built and tested in a continuous loop until a perfect solution is produced.

1.6.7 Fully automatic generation and blending of designer input

In some uses of THE PCG, it allows the designer or player to have priority input to control or direct the production of content by adjusting the parameters of the algorithm.

1.7 Connotation of PCG

Khaled et al. proposed four connotations of PCG:

  1. PCG as a tool. Similar to programmer development environment or designer CAD, give designers more powerful capabilities.
  2. PCG can create new generative materials, called substances
  3. The PCG can be designed independently, creating parts or entire games. Design not only the content of the game, but also the rules of the game
  4. The PCG acts as a domain expert to critique or modify the game.