Dungeon and Visibility World Generator
Organizations: McGill University, Montréal QC H3A 0G4, Canada · Université Paris-Saclay, 91190 Gif-sur-Yvette, France · CNRS, Laboratoire des Signaux et Systèmes (L2S), 91190 Gif-sur-Yvette, France
Abstract
Robotic exploration, coverage, and multi-agent deployment algorithms require reproducible environments with controllable geometry and visibility. This paper presents the Dungeon and Visibility World Generator, an open-source framework for constructing two- and three-dimensional environments and evaluating geometric line-of-sight. The framework supports orthogonal, polygonal or polyhedral, and curvilinear geometries, with six construction families covering scattered rooms, clusters, winding passages, caverns, branches, and loops. Room dimensions, passage structures, obstacles, and spatial placement can be controlled through configurable parameters and probability distributions. Each generated environment provides continuous free-space geometry and a corresponding discrete occupancy representation. A Rust-based visibility engine supports line-of-sight queries in both representations, enabling the evaluation of observable regions from arbitrary agent positions. The framework records configurations, generated geometries, occupancy grids, and visibility results to support reproducible experiments. We demonstrate the generator across all six geometry classes, examine how geometry and spatial resolution affect visibility, and evaluate generation time and reproducibility. The resulting framework provides a configurable foundation for evaluating robotic exploration, coverage, and multi-agent deployment algorithms in diverse environments.
Figures & tables
| Class | Family | Rooms/passages | Free entries | Median (s) | Range (s) |
|---|---|---|---|---|---|
| 2D Orthogonal | Scattered rooms | 10/12 | 1,775 | 0.027 | 0.026–0.033 |
| 2D Polygonal | Scattered rooms | 10/12 | 1,127 | 0.025 | 0.025–0.032 |
| 2D Curvilinear | Winding passages | 8/5 | 1,503 | 0.029 | 0.028–0.030 |
| 3D Orthogonal | Room clusters | 9/10 | 18,512 | 1.909 | 1.888–1.950 |
| 3D Polyhedral | Scattered rooms | 10/12 | 8,179 | 2.853 | 2.781–3.308 |
| 3D Curvilinear | Branches | 9/8 | 8,409 | 3.162 | 3.144–3.344 |
| Compared artifact | Timed comparisons | Fresh-process replay |
|---|---|---|
| geometry.geojson or solid.json | 24/24 match | 6/6 match |
| free.npy | 24/24 match | 6/6 match |
| layout.json | 24/24 match | 6/6 match |
| Requested and resolved configurations | 24/24 match | 6/6 match |
| connectivity_certificate.json | 24/24 match | 6/6 match |
| primitives.geojson (2D only) | 12/12 match | 3/3 match |
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
Procedural Content Generation
Procedural content generation creates game levels, 3D worlds, assets, stories, and simulation environments through algorithms and learned models.
See all 67 papers