Star on GitHubStar2.4k stars

Case study

Sourcehold: reimplementing the Stronghold game engine

Sourcehold is an early open-source engine for Stronghold, the 2001 castle game by Firefly Studios. It uses SDL2, OpenAL, FFmpeg, zlib blast, and the EnTT, filesystem, and cxxopts submodules. git submodule update fetches those. Windows builds use vcpkg for sdl2, ffmpeg, and openal-soft, then cmake --build build. macOS runs apple/build.sh macos. The iOS path builds only the simulator. --path points at the game data, or the files go in a data directory with binks, fx, gfx, maps, and stronghold.mlb.

Targets
Game
Category
Independent reconstruction cases
Relationship
Independent reconstruction project
Sources reviewed
Evidence class
C2 code & docs, no demo or download
Stars
283
Last commit
2024-07-08
Language
C++
License (GitHub)
MIT

GitHub data as of 2026-11-10

Copy as MarkdownView JSONCite

Evidence

Observed
Code, documentation and a demo observed; no download method found.
Checked
2026-11-09

How evidence classes are assigned

Requirements & limits

  • Original Stronghold data in the layout above. CMake, and SDL2, OpenAL, and FFmpeg.
  • The README does not name a license.

Cite

BibTeX

@misc{sourcehold,
  title = {{Sourcehold: reimplementing the Stronghold game engine}},
  howpublished = {\url{https://github.com/sourcehold/Sourcehold}},
  url = {https://github.com/sourcehold/Sourcehold},
  urldate = {2026-11-07},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/sourcehold/}}
}

Plain text

Sourcehold: reimplementing the Stronghold game engine. https://github.com/sourcehold/Sourcehold (accessed 2026-11-07). Awesome REA entry: https://awesomerea.org/resources/sourcehold/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · sourcehold/Sourcehold · Revision 779cc32

More in Games

All 2976 entries in GamesGames case studies (2832)

↑↓ move↵ open⌘↵ new tab