Procedural Generation Methods for Dynamic Game Worlds A Comprehensive Guide Procedural Generation Methods for Dynamic Game Worlds The Power and Promise of Procedural Worlds Procedural Generation Methods for Dynamic Game Worlds
Procedural Generation Methods for Dynamic Game Worlds A Comprehensive Guide Procedural Generation Methods for Dynamic Game Worlds
The Power and Promise of Procedural Worlds
Procedural Content Generation (PCG) represents a paradigm shift in game development, moving from manually crafted static worlds to algorithmically created dynamic environments. A "dynamic game world" implies not only initial procedural creation but ongoing evolution—worlds that change in response to player actions, simulate their own ecosystems, or fundamentally reshape themselves over time.
Procedural generation has become a cornerstone of modern game development, enabling designers to create vast, varied, and dynamic game worlds with minimal manual work. From early roguelikes to massive open-world experiences, procedural methods deliver replayability, unpredictability, and computational efficiency. As games continue to grow in scale and complexity, procedural content generation (PCG) plays a crucial role in crafting environments, missions, items, enemies, and entire ecosystems. This document explores the fundamental principles, algorithmic techniques, design challenges, and practical applications of procedural generation. It provides developers, researchers, and gaming enthusiasts with a deep understanding of how dynamic worlds are built using mathematical models, AI systems, and creative design philosophies.
Procedural generation refers to the algorithmic creation of game content rather than hand-crafting every detail. Instead of manually designing every terrain segment, dungeon layout, or quest, developers create rules and systems that produce infinite or highly varied content. Properly implemented, procedural generation enhances:
-
Replayability
-
Immersion
-
Scalability
-
Development efficiency
Games like Minecraft, No Man’s Sky, Hades, Diablo, and Terraria use PCG to create unique experiences every time players start a new session. However, procedural generation is not simply about randomness—it relies on carefully structured algorithms, constraints, and logic to produce content that is both meaningful and engaging.
This document presents an in-depth exploration of procedural generation methods, from basic randomization techniques to advanced AI-driven systems, highlighting how dynamic game worlds are constructed.
The benefits are profound:
Vast Scale: Generate worlds larger than any team could manually design (e.g., No Man's Sky's 18 quintillion planets)
Replayability: Unique experiences with each playthrough (The Binding of Isaac, Rogue Legacy)
Development Efficiency: Automated creation of content variants
Emergent Complexity: Systems interacting in unexpected ways create novel gameplay
Player Agency: Worlds that truly react and adapt to player presence
This document explores the technical foundations, implementation strategies, and emerging trends in procedural generation for creating living, breathing game worlds.
2. Philosophical Foundations: What Makes a World "Dynamic"?
Before examining methods, we must define our objectives. A dynamic procedural world exhibits:
2.1. Reactivity
The world responds to player actions in meaningful ways. Cutting down trees creates clearings; killing predators allows prey populations to flourish; building structures attracts NPC settlements.
2.2. Internal Logic
Systems operate independently of player observation. Weather patterns shift, resources gradually replenish, factions expand territories.
2.3. Persistent State
Changes persist across sessions, creating a unique history for each generated world.
2.4. Coherent Identity
Despite procedural origins, the world feels intentional and consistent, not random.
3. Core Generation Techniques and Their Applications
3.1. Noise-Based Generation
The fundamental building block of procedural terrain.
Perlin/Simplex Noise
Concept: Smooth, continuous gradient noise ideal for natural-looking terrain
Implementation: Multiple octaves (frequencies) combined create fractal complexity
Dynamic Application: Use world coordinates plus time variable for animated effects (waving grass, shifting clouds)
Value Noise: Grid-based, faster but less smooth than Perlin
Voronoi: Creates cellular patterns ideal for biomes, territory maps, or crystal formations
Combination: Layering noise types creates richer textures
3.2. L-Systems and Grammar-Based Generation
Formal grammars for structured content.
Context-Free Grammars for Architecture
Generate cities with district-level consistency
Create dungeons with logical room connectivity
Grow organic structures (fungal networks, coral)
3.3. Wave Function Collapse (WFC)
A constraint-based generation method gaining popularity.
Core Principles:
Define tiles with compatibility rules (which tiles can neighbor each other)
Initialize grid with superposition of all possible tiles
Collapse one cell to a definite state
Propagate constraints to neighboring cells
Repeat until all cells resolved or contradiction reached
Advantages for Dynamic Worlds:
Local modifications possible without regenerating entire world
Can incorporate player changes as new constraints
Generates locally coherent but globally varied output
3.4. Agent-Based Methods
Simulate entities that modify the environment.
Ant Colony Terrain Generation:
4.1. Layered Generation Pipeline
A robust system separates concerns across multiple layers:
Critical for multiplayer and save games.
Level of Detail (LOD) Systems
Essential for infinite or extremely large worlds.
Multi-resolution Representation:
Global Scale: 1km cells with biome and major feature data
Regional Scale: 100m cells with terrain height, resource zones
Local Scale: 1m voxels or polygons with full detail
Micro Scale: Texture details, small vegetation
Chunk-Based Loading:
5.1. Ecological Simulation
Create self-regulating ecosystems.
Population Dynamics Model:
Procedural City Growth:
Foundation Phase: Place initial settlement based on resources
Organic Growth: Expand along paths of least resistance
District Specialization: Commercial near roads, industrial near resources
Historical Layers: Older districts show different architectural styles
6. Player Interaction and World Reactivity
6.1. Persistent Modification Systems
Voxel-Based Editing (Minecraft-style):
Store modifications as sparse 3D arrays
Merge modifications with base generation
Support undo/redo within chunk boundaries
6.3. Quest and Narrative Generation
Procedural Quest Framework:
7.1. Asynchronous Generation Pipeline
Don't block the main thread during generation.
Multi-level Cache:
Seed Cache: Store generator outputs for common seeds
Chunk Cache: Keep recently generated chunks in memory
Disk Cache: Serialize fully generated chunks to disk
Difference Cache: Store only modifications from base generation
8. Case Studies: Lessons from Implementations
8.1. Dwarf Fortress: Complexity Through Simulation
Key Insights:
Every entity has simulated needs, memories, and relationships
History is generated recursively (create civilizations, then heroes, then their artifacts)
Emergent storytelling through system interaction
Lesson: Deep simulation creates unparalleled dynamism but at tremendous computational cost
8.2. No Man's Sky: Scale Through Mathematical Elegance
Key Insights:
Everything derived from a single 64-bit seed
Mathematical functions determine everything from creature morphology to planet colors
Post-launch updates added true dynamics (terraforming, base building)
Lesson: Mathematical consistency creates coherence at astronomical scales
8.3. RimWorld: Directed Emergence
Key Insights:
"AI Storyteller" directs rather than purely simulates
Systems designed to create dramatic arcs, not just realism
Procedural generation serves narrative, not replaces it
Lesson: Curated randomness creates better stories than pure simulation
9. Future Directions and Emerging Techniques
9.1. Machine Learning in Procedural Generation
Current Applications:
Style transfer for consistent aesthetic (neural style transfer)
NPC behavior learning (reinforcement learning)
Content quality assessment (discriminative networks)
Future Possibilities:
Generative Adversarial Networks (GANs): Train on high-quality handcrafted content, generate new content in same style
Procedural Quality Assurance: AI playtesters to identify generation flaws
Adaptive Generation: World generation that learns from player preferences
9.2. Neural Radiance Fields (NeRFs) for World Generation
Train on example environments, generate novel but coherent 3D spaces
Potential for infinite, photorealistic procedural worlds
Current limitations: High computational cost, difficult to edit
9.3. Quantum-Inspired Generation
Superposition of possibilities until observed (like Wave Function Collapse but probabilistic)
True parallel generation of alternative timelines/worlds
Theoretical at game-dev scale but promising for research
10. Best Practices and Pitfalls to Avoid
10.1. Design Principles for Dynamic Worlds
Progressive Disclosure: Reveal complexity gradually as player engages
Meaningful Consequences: Ensure player actions have noticeable, logical effects
Recoverable States: Avoid irreversible world states that could soft-lock players
Perceived vs Actual Complexity: The illusion of depth can be as valuable as true simulation
10.2. Common Pitfalls
The "Sameness" Problem:
Cause: Over-reliance on noise functions without high-level structure
Solution: Layered generation with distinct phases; handcrafted "hero assets"
Performance Death Spiral:
Cause: Unchecked simulation complexity
Solution: Distance-based simulation LOD; player-focused simulation
Unmanageable State:
Cause: Tracking too many modifications or entities
Solution: Aggressive state compression; forget irrelevant details
Procedural Generation (PCG) is a computational method that creates game content algorithmically rather than through manual, human-driven design.
The true power of PCG lies in its application to dynamic game worlds, where content is generated not just once before the game begins (static generation), but on-the-fly during execution.
Foundations of Procedural Generation
Procedural generation rests on a few key concepts:
2.1 Randomness and Pseudorandomness
Random numbers are at the heart of procedural generation. Most games use pseudorandom number generators (PRNGs), which produce deterministic sequences based on a seed value. Using a seed allows:
-
Reproducibility
-
Efficient memory usage
-
Consistent generation across platforms
This ensures players can share worlds simply by using the same seed.
2.2 Rules and Constraints
Pure randomness produces chaotic, unplayable worlds. Developers impose constraints, such as:
-
Maximum room size
-
Minimum path connectivity
-
Smooth terrain transitions
-
Logical biome distribution
Rules transform randomness into meaningful structure.
2.3 Hierarchical Generation
Complex worlds are generated in layers:
-
Macro-level: overall world map, biomes, continents
-
Meso-level: terrain details, resource distribution
-
Micro-level: objects, enemies, items, decorations
This hierarchical approach ensures cohesion and prevents disjointed world elements.
2.4 Determinism vs. Dynamic Generation
Procedural content can be:
-
Pre-generated at world creation (e.g., Minecraft overworld)
-
Generated on the fly during gameplay (e.g., infinite runners)
Deterministic generation makes worlds predictable yet varied, while dynamic generation can respond to player behavior.
3. Procedural Terrain and Environment Generation
Environment generation is one of the most common uses of PCG. Several algorithms dominate this field.
3.1 Noise-Based Generation
Noise functions generate smooth, natural-looking terrain.
3.1.1 Perlin Noise
Developed by Ken Perlin, this gradient noise produces smooth hills and valleys. It is widely used for:
-
Heightmaps
-
Clouds
-
Textures
Its multi-octave extension, fractal noise, adds complexity.
3.1.2 Simplex Noise
A faster alternative to Perlin Noise, especially in 3D. It is used in large worlds due to its lower computational cost.
3.1.3 Worley (Cellular) Noise
Creates cellular patterns ideal for:
-
Cave networks
-
Cracks
-
Organic structures
Noise functions form the foundation for most terrain systems.
3.2 Heightmaps
Heightmaps convert grayscale images into terrain. Procedurally generated heightmaps use noise or formulas to determine elevations.
Applications include:
-
Mountains
-
Plateaus
-
Plains
-
Valleys
Heightmaps can be blended with erosion algorithms for realism.
3.3 Erosion Simulation
To mimic natural land formation, erosion algorithms apply processes like:
-
Hydraulic erosion
-
Thermal erosion
-
Wind erosion
Erosion adds rivers, smoother slopes, and sediment deposits, improving realism.
3.4 Biome Distribution Techniques
Biome placement requires logic to create believable transitions.
Methods include:
-
Voronoi diagrams
-
Heat/moisture maps
-
Layered noise combinations
This approach produces deserts, forests, snow biomes, and swamps that feel coherent.
4. Procedural Dungeon and Level Generation
Dungeon generation forms the backbone of roguelike and action RPG designs.
4.1 Binary Space Partitioning (BSP)
BSP recursively splits a map into rooms and corridors. It ensures:
-
Good room distribution
-
Logical connectivity
-
Flexible layouts
It is a popular method in classic roguelikes.
4.2 Cellular Automata
Cellular automata simulate natural cave formations. Each tile evolves based on neighbors.
Results include:
-
Organic cave systems
-
Lava chambers
-
Underground tunnels
Perfect for games with underground exploration.
4.3 Drunkard’s Walk (Random Walk)
A random walk algorithm carves paths through a grid.
Used to generate:
-
Maze-like dungeons
-
Random corridors
-
Organic tunnels
The algorithm is simple yet highly flexible.
4.4 Room-and-Corridor Systems
Designers manually define room structures, and algorithms place them:
-
Randomly
-
Based on templates
-
Using adjacency rules
This method offers handcrafted feel while enabling procedural variation.
4.5 Graph-Based Generation
Levels are represented as nodes and edges. The game places rooms according to:
-
Difficulty curves
-
Key-lock puzzles
-
Thematic progression
Graph-driven generation ensures strong structure and pacing.
5. Procedural Object, Item, and Loot Generation
Dynamic games rely on procedural item systems to maintain long-term engagement.
5.1 Affix-Based Item Generation
Popularized by Diablo, items are created by combining:
-
Base items
-
Prefix modifiers
-
Suffix modifiers
E.g., “Flaming Sword of Speed”
This method supports millions of variations.
5.2 Attribute Randomization
Stats such as damage, durability, or speed are randomly rolled within ranges. Ensures:
-
High variability
-
Tiered power levels
-
Replayability
5.3 AI-Driven Item Generation
Machine learning models can balance item stats or generate fresh content based on player preferences.
Applications include:
-
Adaptive loot
-
Personalized rewards
-
Procedural crafting trees
AI expands procedural potential dramatically.
6. Procedural Quest and Narrative Generation
Narrative generation is one of the most challenging forms of PCG.
6.1 Template-Based Generation
Quests follow predefined structures:
-
Fetch quest
-
Escort quest
-
Defeat enemy
-
Explore location
Variables (names, locations, rewards) are procedurally filled.
6.2 Grammar-Driven Systems
Using formal grammars (like Tracery), games generate:
-
Dialogue
-
Lore text
-
NPC responses
-
World descriptions
Grammatical systems ensure linguistic coherence.
6.3 AI and Story Simulation
Advanced games use simulation systems to generate evolving stories.
Techniques include:
-
Agent-based modeling
-
Behavior trees
-
Utility AI
-
Goal-Driven Procedural Storytelling
Games like Dwarf Fortress simulate entire historical epochs before gameplay begins.
7. Procedural Ecosystems and AI Behavior
Dynamic worlds require ecosystems that feel alive.
7.1 Flock and Herd Algorithms
Boids algorithms simulate:
-
Bird flocks
-
Fish schools
-
Animal herds
Simple rules create intricate group behavior.
7.2 Population Simulation
NPCs can have:
-
Life cycles
-
Needs (food, rest, social interactions)
-
Economic behavior
Simulated societies generate emergent stories.
7.3 Procedural Schedules
NPCs follow routines based on:
-
Time of day
-
Weather
-
World events
These dynamic systems enhance immersion.
8. Combining Procedural and Handcrafted Content
Most modern games use hybrid systems.
Benefits:
-
Handcrafted quality for key moments
-
Procedural variety for exploration
-
Strong pacing and thematic consistency
This “curated procedural” approach is becoming standard.
9. Challenges of Procedural Generation
While powerful, PCG has difficulty producing:
-
Emotional depth
-
Narrative nuance
-
High-quality aesthetics
-
Consistent balance
Common pitfalls include:
-
Repetition
-
Messy layouts
-
Unfair difficulty spikes
To avoid these issues, developers must blend creativity with strong constraints.
10. Future of Procedural Generation
The next generation of PCG will be shaped by:
10.1 AI-Enhanced PCG
Neural networks can generate:
-
Terrain
-
Dialogue
-
Levels
-
Characters
AI will enable worlds that evolve uniquely for each player.
10.2 Real-Time Reactive Worlds
Worlds will soon adapt dynamically to:
-
Player behavior
-
Skill level
-
Story choices
Every playthrough may become a deeply personal experience.
10.3 Procedural Worlds at Massive Scale
With improved hardware, games will generate worlds spanning:
-
Millions of planets
-
Entire galaxies
-
Fully simulated civilizations
Procedural generation will continue shaping gaming’s future.
11. Conclusion
Procedural generation is more than randomness—it is a powerful design approach that fuses mathematics, algorithmic logic, creativity, and simulation to create dynamic game worlds. From terrain and dungeons to ecosystems and narratives, PCG enriches gameplay by offering variation, depth, and endless replayability.
As AI advances and player expectations grow, procedural methods will become even more sophisticated, producing worlds that feel alive, personal, and artistically compelling. The future of games lies in dynamic, ever-changing environments—and procedural generation is the key to unlocking that potential.
🎲 Core Algorithmic Foundations
The effectiveness of PCG hinges on a foundation of algorithms designed to simulate natural processes, structure, and randomness while maintaining coherence and playability.
1. Noise Functions: The Illusion of Organic Terrain7
Noise functions are the backbone of natural-looking procedural landscapes.
Perlin Noise: Developed by Ken Perlin, this is the most famous noise function.
9 It generates a smooth, gradient-based pseudo-random texture. In 2D, its output values can be directly mapped to terrain height (a heightmap), creating rolling hills, continents, and oceans. In 3D, it can define the density of resources or the shape of caves. The noise is generated by creating a grid of random gradient vectors, then interpolating between the dot products of these gradients and the vector from the grid point to the sampling point.10 Simplex Noise: A refinement of Perlin Noise, Simplex Noise is often preferred for its improved computational efficiency, fewer directional artifacts, and cleaner visual look, especially in higher dimensions (3D and 4D).
11 Fractal Noise/Octaves: To create more realistic detail (e.g., jagged mountain peaks on top of smooth hills), multiple layers of noise (called octaves) are generated at different frequencies (scale) and amplitudes (influence) and then summed together.
12 The term fractal refers to the self-similar detail created at various scales.
2. Space Subdivision and Partitioning
These methods focus on breaking down a large, empty space into smaller, manageable sections, which is crucial for generating structured environments like dungeons, towns, or star systems.
Binary Space Partitioning (BSP): A recursive method that repeatedly divides a space (e.g., a rectangular map area) into two smaller sub-spaces using a randomly placed line or plane. This process continues until a desired minimum size is reached. The resulting leaf nodes represent rooms, and the partitioning history dictates a structure for connecting them with hallways, guaranteeing connectivity and a non-linear layout.
Voronoi Diagrams: These partition a space based on proximity to a set of initial seed points. Every location in the space is assigned to the nearest seed point. This naturally creates cells with boundary lines, which is highly effective for generating political borders, distinct biomes (where seed points represent different climate centers for altitude, rainfall, and temperature), or distinct architectural zones within a city.
3. Simulation and Iterative Methods
These algorithms start with a simple state and apply rules iteratively to evolve the structure into a complex, desired form.
Cellular Automata (CA): A grid-based system where the state of each cell (e.g., floor or wall) in the next iteration is determined by the state of its immediate neighbors in the current iteration, based on a fixed set of simple rules. For example, a common rule for cave generation is: "If a floor tile has fewer than $N$ floor neighbors, it becomes a wall; if a wall tile has more than $M$ floor neighbors, it becomes a floor." Running this rule set for several iterations produces highly natural-looking, irregular caves and tunnels.
Random Walk (Drunkard's Walk): This method simulates an agent (the "walker") moving randomly across a grid, leaving a "path" behind it.
13 By modifying the agent's behavior (e.g., turning only a percentage of the time, placing rooms after a certain number of steps, or adding branching points), developers can generate organic-looking paths, maze-like dungeons, or winding corridors that feel less structured than BSP.
🎨 Advanced and Hybrid PCG Systems
Modern, large-scale dynamic worlds rarely rely on a single algorithm, instead using hybrid approaches that stack and interleave methods to achieve both macro-level structure and micro-level detail.
4. Grammar-Based and Graph-Based Systems
These methods allow designers to impose higher-level, creative constraints over the randomness, ensuring the generated content adheres to a specific style, theme, or narrative structure.
L-Systems (Lindenmayer Systems): A set of rules that recursively rewrite an initial axiom (a starting string of symbols).
15 Primarily used to model the growth of biological systems, they are perfect for procedurally generating realistic plants, trees, rivers, and fractal-like structures. For example, a rule for a tree might be:F -> F[+F]F[-F]F(where F means "draw forward," and brackets denote branching). The recursive application of this simple rule generates a complex, natural-looking fractal tree.Generative Grammars: Systems where the design intent is expressed as a set of rules and relationships (a grammar).
16 For dungeon design, this might be a graph grammar where nodes represent "Boss Room," "Treasure Room," or "Combat Encounter," and edges represent hallways. The algorithm's job is to generate a valid graph (a playable sequence of actions/rooms) and then translate the graph structure into a physical room layout.17
5. Wave Function Collapse (WFC)18
WFC is an increasingly popular, powerful constraint-solving algorithm used for local pattern generation, such as textures, indoor layouts, or small terrain patches.
Concept: WFC takes a small set of input tiles (or modules) and rules dictating which tiles can be placed next to others.
19 It then attempts to "collapse" the wave function of the whole grid—initially, every cell can be any tile—by iteratively enforcing the adjacency rules.Application: Excellent for generating coherent, detailed content (like town architecture or cave walls) that avoids artifacts or visual breaks.
20 In a city, it ensures that a road tile is always next to another road tile or a building entrance, while a roof tile is never placed at ground level.
6. Learning-Based and AI Methods
The integration of Machine Learning (ML) is the cutting edge of PCG, allowing for the generation of content that is not just random, but adaptive, personalized, and aesthetically informed.
Generative Adversarial Networks (GANs): Two neural networks, a generator and a discriminator, are trained against each other.
21 The generator tries to create content (e.g., a level layout) that fools the discriminator into thinking it was human-designed. Trained on a dataset of handcrafted levels, GANs can produce novel content that captures the stylistic and structural features of the source material.Reinforcement Learning (RL) Agents: An agent is trained to design levels by being rewarded for creating maps that meet certain playability metrics (e.g., a path to the goal exists, the difficulty curve is smooth, the player can complete the level). The agent learns to construct high-quality, balanced levels without explicit rules.
Dynamic Difficulty Adjustment (DDA): A simple form of AI-driven PCG, DDA uses the player's performance data (kills, deaths, time taken) in real-time to adjust the complexity of the next generated section, ensuring the game is always challenging but never frustrating.
🏗️ Implementing Dynamic World Generation
The dynamic aspect of these methods addresses the challenge of creating a world too large to generate entirely upfront, often referred to as lazy evaluation.
1. Seeded Determinism
For a world to be consistently reproducible across different play sessions or between multiplayer clients, PCG relies on a Pseudorandom Number Generator (PRNG) initialized with a single value: the seed.
The Seed: A number (or a string converted to a number) that, when fed to the PRNG, will always produce the exact same sequence of "random" numbers. This means that if two players use the same seed, the world generated will be identical, even though the content was generated dynamically. This is a crucial feature for sharing worlds and ensuring consistency.
2. Multi-Resolution Generation and Chunking
Massive worlds like those in Minecraft and No Man's Sky are not generated as a single entity, but in smaller, localized, and hierarchical units.
Chunks/Tiles: The world is divided into discrete spatial units called chunks. Generation is triggered only when a player approaches a chunk that has not yet been loaded.
Level of Detail (LOD): Generation often proceeds in multiple steps, from coarse to fine detail:
Macro-Level: Global noise functions determine continental shape and biome distribution.
Meso-Level: Localized algorithms (like Cellular Automata) generate regional structures like mountains, rivers, and major cave systems within the biome boundaries.
23 Micro-Level (Detail): Final, highly-localized elements like resource veins, decorative props, and enemy placements are generated just before the chunk is loaded.
By combining deterministic algorithms with dynamic, player-driven loading, Procedural Generation methods offer game developers the ability to craft universes of near-infinite scale and variety, making every playthrough a unique adventure.
The evolution of these methods, particularly the integration of machine learning, points toward future game worlds that are not just randomly generated, but intelligently crafted to the individual player's tastes and abilities.
11. Conclusion: The Art of the Living World
Procedural generation for dynamic worlds represents one of gaming's most ambitious frontiers. The methods described here—from mathematical noise to complex simulations—provide tools to create worlds that feel alive, responsive, and unique to each player.
The ultimate goal is not pure simulation for its own sake, but the creation of meaningful spaces for play. The most successful implementations balance technical achievement with human-centric design, ensuring that beneath the algorithms and data structures, there remains a world worth exploring, affecting, and caring about.
As technology advances, particularly with AI and computational power, the line between "generated" and "created" will continue to blur. The future belongs to worlds that don't just change, but learn; that don't just react, but remember; and that offer not just novelty, but meaning.
The challenge and opportunity for developers is to wield these powerful tools with intention, creating procedural worlds that feel less like mathematical constructs and more like places we briefly inhabit—and that remember we were there.
Appendix A: Recommended Tools and Libraries
Unity: Procedural Toolkit, MapMagic, Gaia
Unreal: Houdini Engine, PCG framework
Standalone: libnoise, FastNoise, Tracery (for text generation)
Appendix B: Further Reading
"Procedural Generation in Game Design" by Tanya Short
"Procedural Content Generation in Games" by Noor Shaker et al.
"Generative Design" by Hartmut Bohnacker et al.

Comments
Post a Comment