Running and playing the game - TheXTech/TheXTech GitHub Wiki

The pre-build game packages are usable in the same way as old SMBX games were. Once you downloaded one of latest releases of the game, unpack the archive and run the executable to start the game itself. Unlike SMBX, there are native builds for Linux-based and macOS operating systems. Right now there are two game packages that were released officially:

  • "Super Mario Bros. X" - the successor of the old fan game which is fully compatible with the rest of the episodes made for previous SMBX versions.
  • "Adventures of Demo" - the remixed game that uses the characters and content made by Talkhaus community of raocow and his fans.

New features of TheXTech

Since the TheXTech project was created, it gives you a set of new features that will make your life better:

  • Built-in support for the episode and level-wide music.ini and sounds.ini to override default music and sound assets.
  • Support for the LVLX and WLDX file formats from the Moondust Project that gives more features.
  • Players can resume the episode playing at the last entered door in the HUB episodes rather than appear at the episode beginning.
  • Support for the PNG custom graphics.
  • Speed-Runner mode allows you to count your episode and individual level playthrough time accurately (Can be activated via command line arguments).
  • Using the MixerX audio library that allows you to use many music and sound formats including chiptunes and trackers!
  • Built-in GIF recorder you can use by the F11 key (F10 on macOS).
  • The full integration with the Moondust Editor (a.k.a. PGE Editor): you can run direct level tests, and you can perform real-time editing by taking items from the Editor and placing them into the Game directly as you did at the Legacy Editor.
  • Using less RAM than SMBX had.
  • Faster loading of the game.
  • Checkpoints now have multi-points! You can use them in your levels multiple times without limits!
  • Fixed the rest of the most annoying gameplay bugs with keeping the ability to re-enable them back.
  • Some internal limits have been expanded, for example, you can use more than 21 sections on your levels (the 201 section maximum).

And more of other things...

Controlling the game

The game supports many ways of controlling.

Keyboard

The first and most important way is the keyboard. There are default keys for every in-game control that you can change in the settings:

  • Left - left
  • Right - Right
  • Up - Up
  • Down - Down
  • Jump - Z ('Y' on German QWERTZ keyboard)
  • Run - A
  • Alt-Jump - X
  • Alt-Run - S

However, there are also functional keys used that you can't re-map:

  • F1 - Show/Hide the standard HUD (i.e. lives, points, health, and coins).
  • F3 - Show/Hide the render statistics at the top of the screen. Mainly used to debug the performance of the game.
  • F11 - Start/Stop the GIF recording (except macOS, the key has been reserved for use with the "show desktop" built-in feature).
  • F10 - Start/Stop the GIF recording on macOS. The taken record will be saved in the system's default screenshot directory.
  • F12 - Take the screenshot. The taken screenshots will be saved in the "screenshots" sub-directory in the game’s user directory.

And key-combinations:

  • Alt-F / Alt-Enter - Toggle the Full-Screen and Windowed modes.

Joysticks and gamepads

The game does support a wide amount of game controllers and joysticks that can be used with the game. You can plug in your game controller at any convenient moment. You can switch the controller for the specific player into the gamepad you want to use with the game and be sure all controls were mapped properly, otherwise, set them up manually.

Note: at TheXTech version 1.3.4 and older you should plug the device in before starting the game. Then, open the OPTIONS / and choose the player to set up controls.

PS Vita

The PS Vita version has some touch support for selecting menu items. It also supports DualShock controllers, which are mapped the same as the PS Vita gamepad swapping out the L & R buttons for L1 & R1 respectively.

  • Left - DPad Left
  • Right - DPad Right
  • Up - DPad Up
  • Down - DPad Down
  • Jump - (X)
  • Run - (Square)
  • Alt-Jump - (Circle)
  • Alt-Run - (Triangle)
  • Pause - (Start)
  • Drop Item - Select)

Platform notes

Unlike the SMBX, TheXTech is a cross-platform game that can be built and run also on other platforms than Windows and run on other architecture than x86.

Windows and Linux

There are Windows native builds for x86_64 (modern computers), x86 (old computers manufactured up to the 2005'th year), and ARM64 (some tablets and rare models of laptops that use ARM architecture). Simply unpack the archive with the game package and run the executable (there would be "smbx-win64.exe", "smbx.exe", or "advdemo.exe" depending on the downloaded package). Linux packages were usable in the same way as Windows. The Linux builds were pre-built for x86_64 and i686 architectures only, using Ubuntu 16.04, 18.04, and 20.04. The assembly that was made on Ubuntu 16.04 may work on other distros (confirmed the work on Debian 10 and the latest openSUSE). If the game doesn't work on your distro or you do use an architecture different from the x86_64 (for example, x86, ARM, ARM64, PowerPC-x, etc.), you can try to build the game from the source code by yourself.

macOS

Unlike Linux and Windows versions, the Mac version getting different ways of use:

  • The game is shipping as a DMG image with the app bundle that includes the executable and all embedded game assets inside of it.
  • Custom episodes should be stored in the User's home directory in the ~/TheXTech Games/<game name>/worlds/ sub-directory that will appear on the first launch.
  • You should know how to deal with the GateKeeper to run the unsigned application.
  • All screenshots and GIF recordings get saved into the sub-directory that will be automatically created in your screenshots directory specified at your local settings (the desktop is the default location for all screenshots).
  • All logs, settings files, game saves, and other things were saved in the ~/Library/Application Support/PGE Project/thextech directory.

The game builds for macOS do support the x86_64 (the rest of Mac devices) and ARM64 (the new Apple Silicon M1 processors that appear in modern laptops and MacMini devices) architectures.

Android

The version for Android is the sort of a general runtime package. You can unpack various assets archives and switch between them while launching the game. Every asset pack means a different set of default resources, and also may mean a different game or modification.

Haiku

Right now there are no pre-built packages made for Haiku yet. However, you can build the game from the source code yourself.

PS Vita

  • The Vita version is distributed as a .vpk file, which is really just a fancy wrapper for a zip that contains the Vita's EBOOT.BIN (Executable), icons, manifest, and live area contents
  • The Vita version is also unique in the sense that it uses SDL2 for everything except video. A small, custom vitaGL renderer written in C is used for video.
    • The original reason for this was severe graphical issues while using SDL2 for video in this project
  • User "DerpyBubblez" has found that Bluetooth keyboards technically work on PS Vita. However, not all keys are 100% supported.
  • The game supports split screen on PS Vita TV natively, it can also work on a handheld Vita in a pinch, provided both players use a Bluetooth controller (DualShock 3/4)
  • Axiom contributed the bulk of the PS Vita code, based on ds-sloth's 3DS version. - The bulk of the code modification needed was contained in the src/FrmMain.cpp. The Vita-specific version is in src/vita/FrmMain.cpp.
⚠️ **GitHub.com Fallback** ⚠️