Running game assets on Linux or xBSD - TheXTech/TheXTech GitHub Wiki

Running game on Linux, FreeBSD/OpenBSD/NetBSD/etc. and other compatible UNIX-like systems

To run any game on UNIX-like systems like Linux or any xBSD (FreeBSD, OpenBSD, NetBSD, etc.), there are two ways:

  • For Linux distributions for i386 and x86_64 architectures, there are prebuild packages available: you need to mix content of two archives in the same directory: the plain engine package for Linux, and the game assets package. In result, you will get a fully portable copy of the game that you can put on your USB stick and take between different computers with the similar environment.
  • For Linux environments for architectures like ARM/MIPS/PowerPC/etc., for FreeBSD/NetBSD/OpenBSD, etc., you will need to build the game executable from the source code using this instruction and once you reach the "Running and debugging a build" paragraph, stop.

Before to start

  • You will need to have a 7zip module to unpack 7-zip archives (p7zip and/or p7zip-full packages), however, there is a high chance that your default archive manager will support 7z archives by default without of any other actions.
  • Download the archive of the game engine itself: you will need to download the Plain runtime edition (the stable, or the in-development version). Depending on your processor and type of opeating system, you should download the build compatible with your processor. If there is no available prebuild pacakges for your system, do build the engine from the source code using this instruction and once you reach the "Running and debugging a build" paragraph, stop.
  • Download one of the archives of the game assets package itself.

Preparing the game

  • Create an empty directory at any convenient place (for example, /home/<your-user>/TheXTech/<Name of game>/, later refered as game directory).
  • Unpack content of the game assets arichve into the game directory.
  • Now, you need to put the thextech executable file depending on the obtaining way:
    • If you use a prebuilt package, open the engine archive and unpack all content of the thextech-bin sub-directory inside the archive into the game directory. It's possible that some text files may conflict: you can easily rename them.
    • If you built an engine from the source code by yourself, take the thextech file the output/bin sub-directory at your CMake build directory, and put into the game directory.

Running the game

  • Once all stuff is ready, to start the game, run the ./thextech executable.
  • You can create a desktop shortcut or open any compatible LVL, LVLX, WLD, or WLDX files via the game executable (Use the "Open with..." menu, or drag and dropping the file to the desktop shortcut (it should contain the %f marker after the path to executable) to play them directly.
  • As an icon, you can use any PNG file from the graphics/ui/icon sub-directory at the game directory.

Extra directories

During use of the game, there are next directories will be created:

  • logs - Debug logs of the game. Once you get any troubles with the game, please attach one of these log files to the bug report.
  • screenshots - Screenshots taken via the game itself using F12 key.
  • gif-recordings - Recorded GIF animations via the game itself using F11 key.
  • settings - Settings of the game:
    • settings/thextech.ini - Setup of the game. You can edit it via notepad to enable or disable some features including the Discord Rich Presence support.
    • settings/controls.ini - Setup of game controls: all key bindings and game controller buttons setup were saved here.
    • settings/gamesaves - The storage of game saves: all saved games appears here. However, if you moved an old episode with game save files presented (such as save1.sav, save2.sav, save3.sav), they will be imported by the game, however, updated gamesaves will appear at the new storage at the settings/gamesave directory, keeping the episode directory clear.
  • gameplay-records - Recorded gameplays demos: when you enable the recording of gameplay in the settings, every attempt to play a level will create a new replay file that you can open by the game and see the full playthrough. In some cases, these replays can help to reproduce various bugs that happen very rare.
⚠️ **GitHub.com Fallback** ⚠️