finds.dev← search

// the find

ihhub/fheroes2

★ 3,366 · C++ · GPL-2.0 · updated Jun 2026

fheroes2 is a recreation of Heroes of Might and Magic II game engine

A from-scratch C++ reimplementation of the Heroes of Might and Magic II engine, targeting full compatibility with the original game assets while adding high-resolution support, improved AI, and multiplatform builds (Windows, Linux, macOS, Android, iOS, Switch, Vita, browser via Emscripten). You still need to own the original game data — this is an engine, not a game. For developers, it's a well-maintained example of a large legacy game reverse-engineering effort done properly.

The CI setup is unusually thorough for a game project: clang-tidy, clang-format, SonarCloud, CodeChecker, and IWYU all run on PRs — the code quality bar is higher than most open-source C++ projects. Multiplatform reach is genuine, not aspirational: separate Makefiles and build configs exist for Switch, Vita, and Emscripten, not just desktop. Translation infrastructure is properly done with gettext .po files covering 24 languages and an automated update workflow. The included soundfont and Timidity instrument patches mean the game's music works out of the box without hunting down external dependencies.

The hard dependency on original game assets is a real barrier — the free demo covers only a fraction of the content, and the GOG/Ubisoft purchase step isn't optional. The codebase is large and organically grown from a SourceForge project; there's no architectural documentation explaining the engine's subsystem boundaries, so onboarding a new contributor means reading a lot of code. Android asset management is handled through a pile of Java Activities rather than anything structured, which will be painful to maintain as Android storage policies keep changing. The Emscripten build is a single static HTML page with no save-state persistence story — browser session ends, progress is gone.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →