How to Put Your Own Game Files into VCMI, OpenRCT2 and Other Engines on Android

Open-source engines such as VCMI and OpenRCT2 run games you already own. Which files each one needs, where they go on Android, and why Android/data is off limits.

Some of the games on this site are engines: open-source programs that run a classic game from that game’s own data files. VCMI runs Heroes of Might and Magic III, and OpenRCT2 runs RollerCoaster Tycoon 2. The engine is free; the game’s graphics, sounds and maps are not, so you need a copy you own, for example from GOG, Steam or the original CD. This site never provides game files, and neither do the projects.

Each engine wants the files in a different way. This guide covers the ones we host, and the Android storage rules that explain why.

How Android lets an app reach your files

Android has several ways for an app to reach files you copy onto the phone. The engines in this guide involve three of them:

  1. You pick a folder in the system file picker. The app gets access to that folder only, “and any of its sub-directories”, and Android notes that this “doesn’t require any system permissions”. Since Android 11, though, the picker won’t let you choose “The root directory of the internal storage volume”, “The Download directory” itself, or anything in “The Android/data/ directory and all subdirectories”. So put the files in a subfolder, such as Download/Heroes3, not loose in Download. VCMI’s import works this way.
  2. The app reads a fixed folder on main storage. For that it needs all-files access: Android sends you to a settings page where you turn on Allow access to manage all files for that app. OpenRCT2 works this way, reading a folder called rct2.
  3. The app keeps the files in its own folder, Android/data/<package name>. This is where VCMI keeps the game after importing it through the picker, so it uses both the first and the third way. Since Android 11, other apps can’t reach these folders: “apps can no longer access files in any other app’s dedicated, app-specific directory within external storage”. Even a file manager with all-files access “still can’t access the app-specific directories that belong to other apps”. That’s why copying files straight into Android/data with a file manager usually fails, and why you should use the engine’s own import button instead. Also: “When the user uninstalls your app, the files saved in app-specific storage are removed.”

On most phones, “main storage”, /sdcard and /storage/emulated/0 are the same place, the phone’s internal storage, not a memory card.

Copying the files from a computer

Connect the phone with a USB cable. Google’s steps: tap the Charging this device via USB notification, and under Use USB for, select File Transfer. The phone’s storage then appears on the computer and you can copy folders onto it. If nothing shows up, Google suggests trying another cable: “Not all USB cables can transfer files.”

You can also copy the folders to the phone any other way, for example from a USB stick or a cloud drive, and move them into place with a file manager such as Material Files.

VCMI: Heroes of Might and Magic III

VCMI “requires original Heroes of Might and Magic III: Shadow of Death or Complete data files”. The first-start screen offers two ways to import them.

From the GOG installer (recommended by VCMI).

  1. On GOG.com, download the offline backup installer, not GOG Galaxy. It comes as two files, an .exe and a .bin; download both and copy them to the phone.
  2. Start VCMI and choose Install gog.com files.
  3. Select the .exe first, then the matching .bin when asked. VCMI extracts what it needs.

If you pick the Galaxy installer by mistake, VCMI tells you: “You selected a GOG Galaxy installer. This file does not contain the game.”

From an installed copy.

  1. On the computer, find the game folder and copy its Data, Maps and Mp3 folders into one folder on the phone, for example Download/Heroes3.
  2. In VCMI choose Copy existing data and select that folder. You can select the folder that contains the three folders, or the Data folder itself.

VCMI then copies everything into its own storage, Android/data/is.xyz.vcmi/files/vcmi-data. You can delete the copy in Download afterwards. Uninstalling VCMI deletes the imported game and your saves, so back up first.

The 2015 HD Edition can’t be used on its own: “Heroes III: HD Edition files are not supported by VCMI.” Since VCMI 1.7, HD Edition data can be added on top of a Shadow of Death or Complete installation.

OpenRCT2: RollerCoaster Tycoon 2

OpenRCT2 needs the desktop game: “Only original RCT2 or RCT Classic desktop versions (from GOG, Steam, CD-ROM, etc.) are supported. It’s not possible to use the Android or iOS version of RCT Classic”.

  1. On the computer, open the RCT2 folder. The wiki lists Steam’s default as C:\Program Files (x86)\Steam\steamapps\common\RollerCoaster Tycoon 2. Without Windows, OpenRCT2’s documentation explains how to unpack GOG’s offline installer with innoextract; the default GOG Galaxy installer won’t work for that.
  2. On the phone’s main storage, create a folder called rct2.
  3. Copy the Data and ObjData folders into it; they are required. Landscapes, Saved Games, Scenarios and Tracks are optional.
  4. Start OpenRCT2 and allow the storage access it asks for. On Android 11 and later that is the Allow access to manage all files page.

If the game says it needs the original files and asks you to set game_path, open the openrct2-user folder it created on main storage, edit config.ini, and set game_path = "/sdcard/rct2". The wiki’s warning is worth repeating: “Make very sure there are no typos in rct2. We’ve seen many times that people accidentally type it as rtc2”.

Your saves go to that openrct2-user folder too. It is on shared storage, not in Android/data, so it isn’t one of the folders Android removes when you uninstall the app. For the original RollerCoaster Tycoon, copy its Data folder into a folder called rct1 in the same way; that part is optional.

OpenTTD: nothing to copy

OpenTTD needs no game files. The APK already includes OpenGFX, OpenSFX and OpenMSX, free replacements for the original graphics, sounds and music. The desktop game can also use the original Transport Tycoon Deluxe graphics (sample.cat and the trg*.grf files go in its baseset folder), but the Android port has no instructions of its own for adding them, so we don’t describe a method here.

Common problems

Can I use the files from the phone version of the game? No. OpenRCT2 rules out the Android and iOS versions of RCT Classic, and VCMI rejects the HD Edition on its own. These engines need the PC game’s files.

Do the Steam and GOG versions work? Yes, for both engines. For VCMI, use GOG’s offline backup installer or copy the three folders from an installed copy; the Galaxy installer doesn’t contain the game.

My file manager can’t open Android/data. That is Android’s rule since version 11, quoted above, not a fault of your phone. Use the engine’s import option, or the folder it reads on main storage.

Will uninstalling delete my game? For VCMI, yes: the imported files and saves live in its own folder in Android/data. For OpenRCT2, the rct2 and openrct2-user folders are on shared storage, outside the folders Android removes when you uninstall it.

Apps in this guide

Sources

Related topics