{"adoption": {"forks": 859, "observed_at": "2026-08-28T04:10:46.063727+00:00", "stars": 11083}, "canonical_url": "https://ross.abutalabs.com/products/opendiablo2", "card": {"archived": true, "artifact_type": "application", "description": "An open source re-implementation of Diablo 2", "domain": ["gaming-tools", "cross-platform"], "enriched": true, "function": ["game-engine", "graphics"], "health_score": 10, "homepage": "https://opendiablo2.com/", "language": "Go", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["OpenDiablo2/OpenDiablo2"], "name": "OpenDiablo2/OpenDiablo2", "platform": ["windows", "go", "cross-platform"], "pushed_at": "2021-10-21T13:18:36+00:00", "repo": "OpenDiablo2/OpenDiablo2", "stars": 11083, "tags": ["diablo-2", "arpg", "game-reimplementation", "reverse-engineering", "2d", "game-development", "linux", "macos"], "topics": ["game-engine", "diablo2", "2d", "diablo", "engine", "games", "golang", "go", "arpg", "open-source", "game"], "urls": [], "use_cases": ["play diablo 2 on linux without the original engine", "open source reimplementation of diablo 2", "cross platform arpg engine in go", "run diablo 2 with an open source engine", "study how a diablo 2 engine is built"], "what_it_is": "An open-source reimplementation of Diablo 2, built as an ARPG game engine written in Go that can run the original game using legally purchased assets. The project is being split into the Abyss Engine and the OpenDiablo 2 game project.", "when_to_avoid": ["you want a finished, complete Diablo 2 replacement - the project is incomplete and in maintenance", "you don't own the original game assets, since none are shipped", "you need an actively developed engine - development moved to Abyss Engine"], "when_to_choose": ["you own a legal copy of Diablo 2 and want to play it on an open-source cross-platform engine", "you want to study or contribute to a Go-based ARPG engine", "you're interested in the successor Abyss Engine project"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/opendiablo2", "repo": "OpenDiablo2/OpenDiablo2", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "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:10:46.063727+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:46.063727+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:16:49.008805+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "768d8e21b734cd602365110487168f01f215c4fd78b3a4eaa71a91b8da29c950", "fetched_at": "2026-08-28T04:10:46.063727+00:00", "kind": "readme", "missing": false, "url": "https://github.com/OpenDiablo2/OpenDiablo2"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2841, "days_push": 1777, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}