Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrmarble/procedural-dungeons
Visualize different procedural map generation algorithms
https://github.com/mrmarble/procedural-dungeons
algorithms bevy dungeon-generator roguelike wasm
Last synced: about 1 month ago
JSON representation
Visualize different procedural map generation algorithms
- Host: GitHub
- URL: https://github.com/mrmarble/procedural-dungeons
- Owner: MrMarble
- License: mit
- Created: 2022-09-11T08:52:59.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-20T22:19:39.000Z (almost 2 years ago)
- Last Synced: 2024-05-01T16:50:27.784Z (8 months ago)
- Topics: algorithms, bevy, dungeon-generator, roguelike, wasm
- Language: Rust
- Homepage: https://mrmarble.dev/procedural-dungeons/
- Size: 154 KB
- Stars: 12
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Procedural map generation
[![GitHub deployments](https://img.shields.io/github/deployments/mrmarble/procedural-dungeons/github-pages?label=deployment&logo=Github)](https://mrmarble.dev/procedural-dungeons/)This is a simple demo to visualize different map generation algorithms.
> :warning: This is a work in progress. I'm still working on the algorithms and the UI. The code is full of bugs and the algorithms are not optimized.
Try the wasm version: https://mrmarble.dev/procedural-dungeons/
![](/assets/example.png)
## Algorithms
- [x] Random walls
- Make the boundaries of the map walls and fill the rest with random walls.
- [x] Random rooms and corridors
- Fill the map with walls and place rooms randomly. Then connect the rooms with corridors.
- [x] Random rooms and corridors with BSP
- Fill the map with walls and place rooms randomly. Then connect the rooms with corridors. The rooms are placed using a binary space partitioning algorithm.
- [x] Random rooms with BSP interior
- Fill the map with walls and place rooms randomly. The rooms are placed using a binary space partitioning algorithm. The entire map is filled with rooms.
- [x] Cellular automata
- Fill the map with random walls. Then apply the cellular automata algorithm to smooth the map.
- [x] Drunkard's walk
- Fill the map with walls, pick a random point and start walking. The drunkard will leave a trail of walls behind him.
- [ ] Voronoi Hive
- Subdivide the map into regions and place walls between them.