yggdrasil world generation a modular approach to procedural world generation
Post on 18-Jan-2016
223 Views
Preview:
TRANSCRIPT
YGGDRASIL WORLD GENERATIONA modular approach to procedural world generation
Features• Highly flexible• Semi predictable output• Modular framework• Automatic world update• Step-by-step generation • Random and prefabricated rooms
• High control over room layouts and spacing
• Three different graph generators• Ensured connectivity
• Two different corridor generators
Generation Screenshots
Normal distribution
Generation Process• Generation is split into modules
• Room and layout generator• Node graph generator• Node graph simplifier• Corridor generator• Grid conversion• Wall generator• Binary space partitioning
• Run in order, can require data from others• External configuration files
Generation Process
Rooms and layout• Prefabricated Rooms
• High variety and control
• Randomized Rooms• Normal distribution
• Room Layout• Circular algorithm
• Portals• Connectivity between rooms• One on each side
Rooms and layout
Node graph generators• Connect the rooms• Three algorithms
• Delaunay triangulation• Gabriel graphs• Relative neighborhood graphs
• Circles• Greedy and expensive algorithms
• Problem: All nodes are checked• Solution: Sort nodes on XY-axis
Node graph generators
Node graph simplifiers• Minimum Spanning Tree (MST)• Lowest edge cost• Ensures node connectivity to graph• Remove redundant edges
• Remove loops• End with tree structure
• Greedy algorithms
Node graph simplifiers
Corridor generator• Node graph for connectivity
• Either complete or simplified graph
• Portals• Find closest between two rooms
• Various shapes• L-shapes• Straight lines• Bresenham’s algorithm
• Width
Corridor generator
Grid conversion and walls• Convert dungeon data to grid format
• Wasteful on memory
• Walls• Line between void and non-void cells in grid• Internal walls between corridors and rooms
Grid conversion and walls
Binary space partitioning • Splits dungeon grid into smaller pieces• Later usable for
• Render optimization • Physics• Artificial Intelligence• General performance
optimization
Step-by-step generation• Generate in real time
• One frame = one step
• Three stage process• Pre step• Step• Post step
• Highly useful• Graphic representation of generation process• Preloading next level
• No loading times!
Live demonstration
Time for a live demonstration of
Yggdrasil World Generation
Questions?
Any questions about anything?
top related