Making Your Own Buildings

Regardless of whether you're running the Free Edition or the Gold Edition of IsoMetro™, our asset tool is available to you for the purpose of making your own buildings in case you want to add something that you feel is missing from the game.

The IsoMetro™ Asset Tool is distributed as a Docker image.

In contrast with its predecessor:

  • The tool itself is written in Rust instead of C++.
  • The asset scripts are Rust instead of Jank.
  • The tool is run from the command line, instead of being a graphical app with its own window.
  • The tool automatically invokes Blender to export models, and they are in the more modern GLTF (.glb) format instead of Wavefront OBJ (.obj).

The Original "Exporter" Tool

The "Exporter" tool, which was (and remains) publicly available, was the original asset creation tool for IsoMetro™ but should not be used for new content, as this older tool is unmaintained. There is no attention given to backward compatibility, so content made by it may not load at all in the current version of IsoMetro™. Instead, please use the newer Asset Tool described below.

Source code for the original Exporter wired together several components:

  • Assets were ultimately defined by scripts written in Jank, a custom scripting language. The scripts could directly generate geometric shapes, as well as emit markers that would instruct the tool to import a 3D model from a file.
  • Blender models had to be exported as .obj files manually, for the tool to be able to import them.
  • The tool would watch for script file changes. After executing a script, it would load both the geometry directly generated by the script and the geometry from .obj files indirectly referred to by the script into the Slice game engine, which would render the 3D scene from the necessary perspectives that the actual IsoMetro™ game uses at runtime, and save screenshots of those perspectives to disk.
  • Metadata about how the building works (how much pollution it creates, economic details, cost for the player to place it, etc.) was also exported from the Jank script, and the tool would serialize it into a JSON file via the GJSON library.

Playing Custom Music in the Game

Whether you're running the Gold Edition which includes the full official IsoMetro™ soundtrack, or the Free Edition which does not include the soundtrack, in either case you can get the game engine to load your own music files as long as you place them where the game looks for soundtrack files.

  • Navigate to where the game's files are installed on your system (for example, where isometro.exe is, on Windows).
  • Within the directory named audio, navigate to (or, if using the Free Edition, create) the folder named soundtrack.
  • Put the files you want the game to play in this directory. They should be Ogg Vorbis (.ogg) format.
  • If there are songs already in this directory that you want to remove from the game's playlist (for example, if you want to remove the official IsoMetro™ soundtrack, perhaps because it clashes with the genre of your custom music, or you feel that we missed the mark on a particular song), you could create a separate directory next to soundtrack perhaps called soundtrack_inactive and move such files over to that directory so the game won't find them when it looks in the actual soundtrack folder.

Modding Support Questions

If you need any help using the tools, please feel free to ask us and/or the community. We will be glad to expand and improve documentation as needed.