We are creating an extensible engine & modding environment that would make it possible to play original Might & Magic VI-VIII games on modern platforms with improved graphics and quality-of-life features expected of modern titles, and make modding and installing & playing the mods a pleasurable experience.
Currently only MM7 is playable. You can check out the milestones to see where we're at.
To download the code without having to compile it we have our releases at https://github.com/OpenEnroth/OpenEnroth/releases
Currently there are only the nightly builds which may have bugs.
Join our discord channel to discuss, track progress or get involved in the development of this project.
Regardless of what system you want to play OpenEnroth on, you will need a copy of OpenEnroth and the Might and Magic VII game data. Where and how you install these on your computer depends on your operating system.
You can buy Might and Magic VII from gog.com and download the installer from there; if you have a copy from another source (eg. an original retail disc) this should also work with OpenEnroth.
At the very least, OpenEnroth requires the ANIMS
, DATA
, MUSIC
and SOUNDS
directories from the game data.
Install or extract your copy of the game as normal.
On Windows, you can simply run the installer to extract the game data to your computer.
The installer cannot be run directly on Linux and macOS but you can use innoextract
to extract its contents.
- On macOS, install Homebrew if you don't have it already (run
brew --version
in a Terminal window to see if you do) and installinnoextract
usingbrew install innoextract
- On Linux, the exact command depends on your distribution.
- For Ubuntu or Debian-based systems (including eg. Linux Mint, Pop!OS, etc):
sudo apt install -y innoextract
- For Fedora or other RedHat-based systems (except for "immutable" distributions like Bazzite):
sudo dnf install -y innoextract
- For other systems, please check the distribution's user guide. Repology has an extensive list of Linux distributions and the name of the package for innoextract on each.
- For Ubuntu or Debian-based systems (including eg. Linux Mint, Pop!OS, etc):
Once you have innoextract, create a new directory for the game data, then open a terminal window and run:
innoextract -e -d <new game data directory> <path to GOG installer .exe>
This will extract the game data to the new directory.
You can set an environment variable called OPENENROTH_MM7_PATH
to point to the location of the game data.
If this variable is set, OpenEnroth will look for game assets only in the location it's pointing to. You
might also want to add the following line to your shell profile (e.g. ~/.profile
on Linux or ~/.zshrc
on Mac):
export OPENENROTH_MM7_PATH="<path-to-mm7-game-assets>"
- Download one of the prebuilt releases and unzip the files.
- Copy
OpenEnroth.exe
andOpenEnroth.pdb
to the directory containing the game data. - Run
OpenEnroth.exe
.
- Move the game data to
~/Library/Application Support/OpenEnroth
, creating this directory if needed. - Download one of the prebuilt releases and unzip the files.
- Run
xattr -rc <extracted-path>/dist/OpenEnroth.app
. This is needed because OpenEnroth binaries are unsigned, without this step the app bundle won't start. - Run
OpenEnroth.app
.
The Flatpak package is the easiest choice if you aren't using Ubuntu 24.04, or you cannot install system packages on your computer for any reason (as long as Flatpak is available), e.g. because you're using an "atomic"/"immutable" Linux distribution such as Bazzite or SteamOS.
- Check for Flatpak support:
- Run
flatpak --version
. - If you receive a message listing a version number, you're ready to go; otherwise please visit https://flatpak.org/setup/ and follow instructions there to set up.
- Run
- Install OpenEnroth:
- Download the
io.github.openenroth.openenroth_*.flatpak
package from one of the prebuilt releases. - Run
flatpak install --user /path/to/io.github.openenroth.openenroth_*.flatpak
to install the OpenEnroth package. - Create
~/.var/app/io.github.openenroth/openenroth/data/mm7/data/
- Move the game data (at least the
ANIMS
,DATA
,MUSIC
andSOUNDS
directories) into this new directory
- Download the
- Run OpenEnroth from your desktop's application menu or using
flatpak run io.github.openenroth.openenroth
The loose executable bundle is the easier option if:
- You want easy access to the OpenEnroth executable for development or debugging
- You absolutely need specific control over the installation location for OpenEnroth and the game data
- You can install system packages (specifically, SDL2,
libdwarf
,libelf
andlibgl1
) - You're using Ubuntu 24.04 - other distributions may not have the required libraries available or not in compatible versions
- Install the required libraries (SDL2,
libdwarf
andlibelf
):sudo apt-get install libsdl2-2* libdwarf1 libelf++* libgl1
(Ubuntu 24.04)- For other distributions, check your distribution's user guides and package management tools to find the correct package names for these libraries.
- Install OpenEnroth:
- Download one of the prebuilt releases and unzip the files
- Copy the game data (at least the
ANIMS
,DATA
,MUSIC
andSOUNDS
directories) to the directory you unzipped the release to, next to theOpenEnroth
executable
- Run the
OpenEnroth
executable (you may need to runchmod a+x OpenEnroth
first) from a terminal or by double-clicking it in a file browser.
See the HACKING document for information on how to compile or if you intend to contribute.
See the code DOCUMENTATION.