{
  "added_at": "2026-11-09",
  "additional_evidence_urls": [
    "https://github.com/leidav/Castlekeep/blob/aafceb6b13c43866976aaf71ce33db1f37e6cd44/src/game/game.cpp",
    "https://github.com/leidav/Castlekeep/blob/aafceb6b13c43866976aaf71ce33db1f37e6cd44/CMakeLists.txt"
  ],
  "category": "reconstruction-cases",
  "class": "game",
  "description_en": "Castlekeep reimplements Stronghold 1 as a C++ game engine. Its code initializes a world, loads assets, generates terrain and renders it through an SDL2 platform layer and OpenGL renderer.",
  "description_zh": "Castlekeep 用 C++ 重建《Stronghold 1》游戏引擎。现有代码初始化世界、加载资源、生成地形，并通过 SDL2 平台层和 OpenGL 渲染器显示。",
  "entry_url": "https://awesomerea.org/resources/castlekeep-stronghold-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/castlekeep-stronghold-case/",
  "evidence_class": 3,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/leidav/Castlekeep/blob/aafceb6b13c43866976aaf71ce33db1f37e6cd44/README.md",
  "group": "cases",
  "id": "castlekeep-stronghold-case",
  "json_url": "https://awesomerea.org/resources/castlekeep-stronghold-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/castlekeep-stronghold-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/castlekeep-stronghold-case/index.md",
  "name": "Castlekeep: a Stronghold 1 engine reimplementation",
  "name_zh": "Castlekeep：重建《Stronghold 1》游戏引擎",
  "reconstruction_method": "engine-reimplementation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "license"
  ],
  "requirements": [
    "CMake 3.9 or newer, SDL2, OpenGL, LibEpoxy and PNG support are required.",
    "GPL-3.0 license."
  ],
  "requirements_zh": [
    "需要 CMake 3.9 或更新版本、SDL2、OpenGL、LibEpoxy 和 PNG 库。",
    "采用 GPL-3.0 许可证。"
  ],
  "scope": "notes",
  "targets": [
    "game"
  ],
  "url": "https://github.com/leidav/Castlekeep",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
