/OpenEnroth

Open reimplementation of Might and Magic 6 7 8 game engine

Primary LanguageC++OtherNOASSERTION

Might and Magic Trilogy

Windows Linux MacOS Doxygen Style Checker

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.

screenshot_main

Download

To download the code without having to compile it we have our releases at https://github.com/OpenEnroth/OpenEnroth/releases

Note: Currently there are only the nightly builds which may have bugs.

Discord

Join our discord channel to discuss, track progress or get involved in the development of this project.

Discord channel invite

Getting Started on Windows

  1. You will need a GoG or any other version of Might and Magic VII. Just run the installer and install the game into default location.

  2. Build OpenEnroth as described in HACKING.md. Alternatively, you can use the prebuilt releases.

  3. Copy OpenEnroth-specific resources from the resources folder of the repo to the folder where the game was installed:

    xcopy "resources\shaders" "C:\Program Files (x86)\GOG Galaxy\Games\Might and Magic 7"

    Or just use your mouse like a good Windows user.

  4. It is recommended to set OPENENROTH_MM7_PATH env variable to point to the game installation folder. OpenEnroth might work by reading the paths from registry, but this is not guaranteed.

  5. Run the freshly built OpenEnroth.exe binary. If you forget to copy content of resources subfolder, or if OPENENROTH_MM7_PATH points into the wrong folder, you will see errors in the console.

Getting Started on Linux or Mac

  1. You will need a GoG or any other version of Might and Magic VII. If you have an offline GoG installer, then follow these steps:

    • Install innoextract. If you're on Ubuntu, sudo apt-get install innoextract should work. If you're on Mac then you'll need homebrew, and brew install innoextract should do the job.
    • Run innoextract -e -d <target-folder> <mm7-gog-folder>/setup_mm_7.exe, where <target-folder> is the folder where you want to have game data extracted from the mm7 installer.
    • Check the files in <target-folder>, it should now contain the app subfolder. This is where game assets were extracted into.
  2. Build OpenEnroth as described in HACKING.md.

  3. Copy OpenEnroth-specific resources from the resources folder of the repo to the folder where the game assets were extracted to:

    cp -rv resources/shaders <target-folder>/app

  4. Set OPENENROTH_MM7_PATH env variable to point to the location of the game assets. You might also want to add the following line to your bash profile (e.g. ~/.profile on Ubuntu or ~/.zshrc on Mac):

    export OPENENROTH_MM7_PATH="<target-folder>/app"

  5. Run the freshly built OpenEnroth binary.

Development

See the HACKING document for information on how to compile or if you intend to contribute.

See the code DOCUMENTATION.

Screenshots

screenshot_1

screenshot_2

screenshot_3

screenshot_4