{"id":20881759,"url":"https://github.com/skallski/dungen2d","last_synced_at":"2025-08-22T05:36:53.834Z","repository":{"id":111137720,"uuid":"494923776","full_name":"Skallski/DunGen2D","owner":"Skallski","description":"Plug \u0026 play 2D top-down procedural dungeon generator","archived":false,"fork":false,"pushed_at":"2022-09-20T12:34:12.000Z","size":4638,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-12T17:36:32.044Z","etag":null,"topics":["dungeon-generator","procedural-generation","roguelike","unity","unity-tool"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Skallski.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-22T00:24:58.000Z","updated_at":"2024-11-13T01:48:57.000Z","dependencies_parsed_at":"2023-06-03T00:19:48.272Z","dependency_job_id":null,"html_url":"https://github.com/Skallski/DunGen2D","commit_stats":null,"previous_names":["skallski/dungen2d"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Skallski/DunGen2D","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skallski%2FDunGen2D","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skallski%2FDunGen2D/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skallski%2FDunGen2D/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skallski%2FDunGen2D/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Skallski","download_url":"https://codeload.github.com/Skallski/DunGen2D/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Skallski%2FDunGen2D/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271591784,"owners_count":24786455,"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","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["dungeon-generator","procedural-generation","roguelike","unity","unity-tool"],"created_at":"2024-11-18T07:26:20.138Z","updated_at":"2025-08-22T05:36:53.789Z","avatar_url":"https://github.com/Skallski.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EZ Dungeon\n\"EZ Dungeon\" is procedural 2D top-down grid based generation tool.\n\n## Main Features:\n1. Procedural generation\n2. Customisable layout\n3. Room type classification system\n4. Interior generation subsystem\n5. Grid based design\n\n## Overview:\n\n### Dungeon generation\n\n\u003cimg src=\"images/scr_dungeonGeneration.gif\"\u003e\n\nWhole dungeon generation process is based on two implemented algorithms:\n* [\"Binary space partitioning\"](https://en.wikipedia.org/wiki/Binary_space_partitioning) in order to designate proper places for rooms to be created\n* [\"Random walk\"](https://en.wikipedia.org/wiki/Random_walk) in order to create floors and walls in spaces designated earlier\n\n### Room type classification\nOne of the main goals was to ensure some diversity, therefore a system of classifying rooms into types was created.\n\nI have designed some sample types with their primitive use cases:\n* Spawn room - starting room (e.g. place where player character will be spawned)\n* Enemy Room - (e.g. room where enemies are being spawned)\n* Exit room - ending room (e.g. place where gate to next level is located)\n* Special room - (e.g. treasure room or merchant's room)\n\nYou can easily add more or reduce number of room types by modifying system's parameters.\n\n\u003cimg src=\"images/scr_roomSystem.png\"\u003e\n\n### Interior generation\nIn order to add some life into dungeon rooms, an interior generation system has been implemented.\n\nOne of the main goals was to create the simpliest way of spawning prefabs of some objects and enemies inside grid based rooms.\nFor this purpose an [\"Interior object\"](EZ_Dungeon/LevelGeneration/InteriorGeneration/InteriorObject.cs) structure has ben designed.\n\nFor each interior object we store:\n* Its prefab\n* Its quantity range (between min and max)\n* Its grid width and height\n* Its possition offset (to prevent the need of playuing with every sprite's pivot)\n\nThanks to this approach, we are able to easily spawn and manipulate objects and fit them equally with the grid.\n\n\u003cimg src=\"images/scr_interiorSystem.png\"\u003e\n\n## My package\nHere is a link for my custom package, which i used in this project:\nhttps://github.com/Skallu0711/Skallu-Utils\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskallski%2Fdungen2d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskallski%2Fdungen2d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskallski%2Fdungen2d/lists"}