RimWorld Technology - Region System

Tynan Sylvester · 53K views · 2014 · 29:03

Open on YouTube

Game programming & enginesAlgorithms & data structuresIndie game developmenttalk

Why Game Development Stack Exchange recommends it

Game Development Stack Exchange users link it when answering questions about pathfinding, map segmentation and room detection, since it explains region-based hierarchical pathfinding with a real shipped game.

Recommended by 3 people across 3 different months, 2014 to 2023.

What it is

A roughly half-hour technical talk by RimWorld creator Tynan Sylvester on how the game's region system works. It covers splitting the map into regions to speed up pathfinding and room detection in a colony-sim with many entities.

What people said

Recommends Sire · 2014-11 · Game Development Stack Exchange · on “How does Dwarf Fortress keep track of so many entities without losing performance?”

I found this video from the RimWorld developer very enlightening. It's a similar game, while only in 2D. He explains the basics behind pathfinding and the benefits of separating the map into regions. [this video]

Recommends hoffmale · 2018-07 · Game Development Stack Exchange · on “How can I detect "rooms" in a 2D side scrolling game?”

A more sophisticated approach would be to divide the world into regions, thus reducing the amount of space to check with flood-fill. This video [this video] .gives a good explanation of the concept.

Recommends genfy · 2023-01 · Game Development Stack Exchange · on “What's the best way to store irregular areas of my map? (hierarchical pathfinding and grid segmentation)”

This is for the development of a roguelike/management game. I'm trying to implement HPA (hierarchical pathfinding with A*), and I've found a few good resources (suggestions appreciated) in the forms of: Rimworld's Technology Overview [this video] Songs Of Syx Pathfinding for 30K entities [LINK] Archived Implementation Article [LINK] Something not mentioned in most of the resources (other than the Rimworld Tech Overview), is the need for splitting the super-grid if it is split up by things like walls. If there is a wall running through the center of a grid cell, then the cell needs to be split in two. Sometimes these wall shapes will mean that the grid will need to have irregularly shaped sizes, a