{"adoption": {"forks": 89, "observed_at": "2026-08-28T04:04:47.229268+00:00", "stars": 1459}, "canonical_url": "https://ross.abutalabs.com/products/dungeontemplatelibrary", "card": {"archived": false, "artifact_type": "library", "description": "🌏: Dungeon free resources (terrain & roguelike generation)", "domain": ["graphics", "simulation", "gaming-tools"], "enriched": true, "function": ["simulation", "graphics", "game-engine", "sdk"], "health_score": 29, "homepage": null, "language": "C++", "license": "BSL-1.0", "license_family": "other", "maturity": "active", "member_repos": ["AsPJT/DungeonTemplateLibrary"], "name": "AsPJT/DungeonTemplateLibrary", "platform": ["cpp", "cross-platform", "windows", "game-engine"], "pushed_at": "2025-04-09T07:08:03+00:00", "repo": "AsPJT/DungeonTemplateLibrary", "stars": 1459, "tags": ["procedural-generation", "roguelike", "dungeon-generation", "terrain-generation", "fractal", "voxel", "unreal-engine", "unity", "godot", "game-development"], "topics": ["unreal-engine-4", "ue4", "unreal-engine", "procedural-generation", "roguelike", "fractal", "voxel", "procedural", "terrain", "virtual-reality", "vr", "simulator", "unity", "unity3d", "3d-graphics", "creative-coding", "generative-art", "godot", "graphics-programming", "ue5"], "urls": [], "use_cases": ["generate roguelike dungeon layouts in C++", "procedurally generate terrain for a game", "create fractal or voxel-based maps", "generate dungeon maps for Unreal Engine or Unity projects", "prototype procedural generation algorithms", "visualize generated dungeon maps with a viewer app"], "what_it_is": "Dungeon Template Library (DTL) is a C++11/14/17 library providing free resources and algorithms for procedural dungeon, terrain, and roguelike map generation. It integrates with game engines such as Unreal Engine, Unity, and Godot, and ships with viewer applications for Windows and Android.", "when_to_avoid": ["you need a ready-made game rather than a generation library", "your project is not C++ or lacks C++11/14/17 support", "you need 3D mesh generation rather than 2D map/terrain data"], "when_to_choose": ["you need dungeon or roguelike map generation in a C++ or game-engine project", "you want reusable procedural generation algorithms across Unreal, Unity, or Godot", "you need cross-compiler C++ generation code with permissive BSL-1.0 licensing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dungeontemplatelibrary", "repo": "AsPJT/DungeonTemplateLibrary", "role": "main", "score": 30}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.229268+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:35:25.789935+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2041307bca8dd23f8dfcfb57066e3f44bbbcb4382f89a803e20564c41a3c87d0", "fetched_at": "2026-08-28T04:04:47.229268+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AsPJT/DungeonTemplateLibrary"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 15, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2819, "days_push": 511, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 30, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}