{"id":20699928,"url":"https://github.com/mrmarble/procedural-dungeons","last_synced_at":"2025-04-22T22:33:32.973Z","repository":{"id":59067498,"uuid":"535240733","full_name":"MrMarble/procedural-dungeons","owner":"MrMarble","description":"Visualize different procedural map generation algorithms","archived":false,"fork":false,"pushed_at":"2023-01-20T22:19:39.000Z","size":158,"stargazers_count":13,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T19:34:28.610Z","etag":null,"topics":["algorithms","bevy","dungeon-generator","roguelike","wasm"],"latest_commit_sha":null,"homepage":"https://mrmarble.dev/procedural-dungeons/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MrMarble.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-11T08:52:59.000Z","updated_at":"2025-01-26T11:23:35.000Z","dependencies_parsed_at":"2023-02-12T06:01:30.623Z","dependency_job_id":null,"html_url":"https://github.com/MrMarble/procedural-dungeons","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrMarble%2Fprocedural-dungeons","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrMarble%2Fprocedural-dungeons/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrMarble%2Fprocedural-dungeons/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MrMarble%2Fprocedural-dungeons/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MrMarble","download_url":"https://codeload.github.com/MrMarble/procedural-dungeons/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250333948,"owners_count":21413482,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","bevy","dungeon-generator","roguelike","wasm"],"created_at":"2024-11-17T00:32:50.229Z","updated_at":"2025-04-22T22:33:32.925Z","avatar_url":"https://github.com/MrMarble.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Procedural map generation\n[![GitHub deployments](https://img.shields.io/github/deployments/mrmarble/procedural-dungeons/github-pages?label=deployment\u0026logo=Github)](https://mrmarble.dev/procedural-dungeons/)\n\nThis is a simple demo to visualize different map generation algorithms.\n\n\u003e :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.\n\nTry the wasm version: https://mrmarble.dev/procedural-dungeons/\n\n![](/assets/example.png)\n\n## Algorithms\n\n- [x] Random walls\n    - Make the boundaries of the map walls and fill the rest with random walls.\n- [x] Random rooms and corridors\n    - Fill the map with walls and place rooms randomly. Then connect the rooms with corridors.\n- [x] Random rooms and corridors with BSP\n    - 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.\n- [x] Random rooms with BSP interior\n    - 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.\n- [x] Cellular automata\n    - Fill the map with random walls. Then apply the cellular automata algorithm to smooth the map.\n- [x] Drunkard's walk\n    - Fill the map with walls, pick a random point and start walking. The drunkard will leave a trail of walls behind him.\n- [ ] Voronoi Hive\n    - Subdivide the map into regions and place walls between them.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrmarble%2Fprocedural-dungeons","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrmarble%2Fprocedural-dungeons","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrmarble%2Fprocedural-dungeons/lists"}