Heroes III

I like to keep Heroes III around for the old times’ sake. I have the Complete edition, which unfortunatelly has no Linux version. The Complete edition can be installed and played via WINE, but it is not stable and keeps one of my CPU cores constantly at 100%. I looked for another option and came across the VCMI project, which seems quite promising.

The people behind VCMI aim to rewrite the entire Heroes III engine giving it new possibilities. VCMI is an open-source project and can be compiled for Linux. Great!

NOTE: if you are looking for a quick and automated set up, check this newer post.

VCMI is available at SBo, originally submitted by Dimitris Zlatanidis. The complete build order for everything required is as follows:


The x264 and lame packages are deselected, as they are optional dependencies for ffmpeg, not required by default since the recent update of ffmpeg to version 2.6.3 at SBo. The deselected innoextract package is optionally required at runtime (see below).

Due to some reason, the compilation of QT5 in a virtual machine broke… Therefore, I downloaded the precompiled package for x86_64 available at SlackOnly. Seems to work just fine, at least here. Later I managed to compile QT5 on my host system without any problems. Weird!

Once everything is installed it is time to copy some data, either system-wide or locally. I prefer the local approach, so place the following for your user in the locations listed below.

  1. Data, Maps and Mp3 from Heroes III: Shadow of Death or Complete edition go here:
  2. Unpack the core vcmi data and the unofficial WoG addon here:
  3. The extraResolutions and bonusIcons.

If you have the Complete edition from GOG, this command will install the game data for you. You need to have innoextract (deselected in the queue above) at runtime for this:

vcmibuilder --gog /path/to/setup_homm3_complete_2.0.0.16.exe

By default, there will be no music, because the SDL_mixer package built from SBo is compiled without mp3 support. To make music work, the files should be converted to ogg. The vcmibuilder can do this for you:

vcmibuilder --convertMP3

Keep in mind that this will also delete the original mp3 files, leaving only the converted ogg. Of course, you could compile SDL2_mixer with mp3 support, but this needs smpeg2, which is not available from SBo at the moment. I have not tried this!

Now it’s time to start the game! The VMCI project has a neat graphical interface that allows you to easily download Mods and change settings:



The “High-res menu” option is a nice touch. A very useful enhancement is the option to run the game in a number of extra resolutions. You can even set it to 1920×1080 in fullscreen mode. I just choose the 1280×800 pixels resolution to be run in a window:



The game works quite well, but still crashed once, so I got the habit to save it regularly. The AI players are active, although they seem a bit stupid. However, I have not had the time to play long enough to be sure.

I hope the VCMI project continues and reaches high stability!


Just in case, I uploaded all downloads (except the original game data, of course) here. Original HowTo and forum discussions:

Installation on Linux
Mod resolutions other than 800×600
More about the bonus resolutions

EDIT (10 May 2015): after a short discussion with Dimitris, we agreed that I take the maintenance of VCMI at SBo. I updated the script to build the latest stable version (0.98 at the moment) and edited this post, because some of the steps were no longer required.

EDIT (20 June 2015): after adding core, resolutions and wog to SBo, the game set up can be very much automated. I edited the post, inserting a note in the beginning. Also, with the recent update of ffmpeg at SBo, x264 and lame are no longer required by default, so I edited the build queue.

3 Comments on “Heroes III”

  1. […] my post count passed 100, this being the 100th […]

  2. […] That’s it! For more detailed explanation and complete files paths, check the previous post about Heroes III. […]

  3. […] a year ago, I wrote a post about playing Heroes III natively in Linux thanks to the VCMI project. Unfortunatelly, the VCMI engine is not yet stable enough for me to […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s