{"adoption": {"forks": 95, "observed_at": "2026-08-28T04:05:03.226967+00:00", "stars": 1556}, "canonical_url": "https://ross.abutalabs.com/products/openblack", "card": {"archived": false, "artifact_type": "application", "description": "openblack is an open-source game engine that supports playing Black & White (2001).", "domain": ["gaming-tools", "cross-platform"], "enriched": true, "function": ["game-engine", "graphics", "reverse-engineering"], "health_score": 86, "homepage": null, "language": "C++", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["openblack/openblack"], "name": "openblack/openblack", "platform": ["windows", "cpp", "cross-platform"], "pushed_at": "2026-08-05T04:03:37+00:00", "repo": "openblack/openblack", "stars": 1556, "tags": ["black-and-white", "game-reimplementation", "opengl", "vulkan", "open-source-engine", "game-development", "linux", "macos"], "topics": ["openblack", "c-plus-plus", "blackandwhite", "contributions-welcome", "reverse-engineering", "game-development"], "urls": [], "use_cases": ["play black and white 2001 on modern systems", "open source reimplementation of black and white engine", "run black and white on linux or mac", "modern vulkan renderer for black and white", "reverse engineer the black and white game engine", "contribute to a classic game engine rewrite"], "what_it_is": "openblack is an open-source reimplementation of the Black & White (2001) game engine written in modern C++ with OpenGL and Vulkan rendering. It requires the original game's assets to run and provides pre-built binaries for Linux, macOS, and Windows.", "when_to_avoid": ["you do not own the original game, since openblack requires the original assets", "you expect a fully polished, feature-complete experience, as the project is still in development", "you want to play other games, since it only supports Black & White (2001)"], "when_to_choose": ["you own the original Black & White game and want to play it on modern hardware or operating systems", "you want a native cross-platform version of Black & White without compatibility shims", "you are interested in studying or contributing to a reverse-engineered game engine in modern C++"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/openblack", "repo": "openblack/openblack", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "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:05:03.226967+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:03.226967+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:29:59.593766+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cbe6655ce0950f4dd344d0554f62a6ab964b16fff4b0c1acbdfb13a0c51ee46f", "fetched_at": "2026-08-28T04:05:03.226967+00:00", "kind": "readme", "missing": false, "url": "https://github.com/openblack/openblack"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3152, "days_push": 28, "days_rel": 728, "gap_med": null, "n_releases_24m": 1}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}