Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

TMInterface

From Trackmania Wiki
Revision as of 10:33, 10 December 2024 by Miku (talk | contribs) (changed size of picture)

TMInterface (TMI) is a public Trackmania TAS tool created by donadigo. TMI was programmed in C++ and then later on, added further support for plugins in AngelScript, which is also used for Openplanet in Trackmania (2020) and Maniaplanet. Though before AngelScript was added to TMI, Python was used to make "Custom Scripts" for custom Bruteforce settings. Before TMI there was no publicly available TAS tool for Trackmania, and still is the only public TAS tool.

TMInterface logo

TMInterface requires further knowledge of how the tool behaves in the game and knowledge about Trackmania's Game Mechanics, this can be anything from Tickrate and Speedslides, to Noseboosts and Uberbugs. This can be a daunting task to guide the tool to your own advantage, with features such as Bruteforce.

TMInterface has actually some versatility when it comes to things other than TAS, people can use TMInterface as a practice tool for RTA runs, by copying inputs of a good start or a good setup for something, and then replaying them over and over again. This is a really great way to practice but not a lot of people do.

History

TMI was started by donadigo around 2018, where it was initially just a simple long-term project. Later on in 2019, donadigo made a blog post about TAS and Trackmania, where he talks about TAS and its availability. Most TAS tools were privately owned and not shared, due to the risk of cheating, because back then there was no cheat detection. People with these tools never uploaded these runs on the offical leaderboards, but rather posted them as videos on youtube, to showcase their Tool-Assisted Speedruns.

After the events of the Cheating Scandal, donadigo published a cheat detection software, Competition Patch. Over the following months, it became mandatory to use in order to upload runs to the more prestigious tracks on TMX.

The first version of TMI was version 1.0.0, which was released shortly after the report about the Cheating Scandal, on the 30th of May 2021.

Version History

Below is the list of versions and their release dates for TMInterface:

  • 2.1.1 - 2024-08-11
  • 2.1.0 - 2024-06-10 - Modloader release
  • 2.0.1 - 2023-09-14
  • 2.0.0 - 2023-08-01 - AngelScript support added, replacing Python
  • 1.4.3 - 2023-03-13
  • 1.4.2 - 2023-02-24
  • 1.4.1 - 2023-01-31
  • 1.4.0 - 2023-01-28 - Big update with a bunch of added features
  • 1.3.2 - 2022-09-27
  • 1.3.1 - 2022-06-03
  • 1.3.0 - 2022-06-01
  • 1.2.0 - 2022-06-15
  • 1.1.1 - 2022-04-07
  • 1.1.0 - 2022-03-02
  • 1.0.9 - 2021-12-23
  • 1.0.8 - 2021-09-12
  • 1.0.7 - 2021-07-30
  • 1.0.6 - 2021-08-24
  • 1.0.5 - 2021-06-15
  • 1.0.4 - 2021-06-03
  • 1.0.3 - 2021-06-03
  • 1.0.2 - 2021-06-01
  • 1.0.1 - 2021-06-01
  • 1.0.0 - 2021-05-30 - TMI release

Commands & functions

Finish

Forcefully finishes the current race. Useful when you need to save the replay without finishing the map e.g: to retrieve the inputs. The command may be used in any race context and TMInterface will force the game to finish the current race.

Syntax & Example:

finish

Finishes the current race

Speed

You can control the speed of the game by typing the following command into the console:

set speed x

Or you can bind the command to a key:

bind a "set speed x"

This will make it so pressing the "a" key will run the "set speed x" command, effectively setting the game speed to x.

The value of the normal game speed is 1

Toggles

There is a bunch of toggles in TMI that you can activate to show useful information in a race, here is some of them here:

toggle_info

Will open a window that shows you the properties of the car, camera, real speed ect.

toggle_wheels

Will toggle a wheel display and show in what state each wheels is in, if its on grass, dirt, water, airborne ect.

toggle_inputs

Will toggle an input display and will display the inputs of the current loaded input file.

Saving & Loading files

There are many ways to save inputs from a run. Here are some of the commands:

recover_inputs

Will recover the inputs that were last played, this is useful when you try to mess around with a setup or something similar manually.

dump_inputs filename.txt

You can use this command after validating a replay to save it straight to a file, in this case it saves into the filename.txt file. Dumping inputs into a file that doesnt exist on your computer, will create a new file with the chosen name and it will be loaded instantly. If you dump into an already existing file, it will then overwrite that file.

Remember that you cannot grab inputs out of online replays using this method, instead get the autosave replay if possible.

Or else head to here: Tm TAS discord, and type /inputs and put the online replay there. Unfinished replays are impossible to grab inputs from.

load filename.txt

This command will load your filename.txt file and the game will read the inputs from that file.

unload

Will unload the currently loaded file.

Plugins

Another crucially important part of TASing, is the use of plugins. Plugins are an important aspect when it comes to creating TAS runs, this is due to their usefulness and utility. With a good understanding of Bruteforce, you can really get some good results out of plugins. The plugins can vary, since there is a lot of them that can be downloaded, anything from a nose position finder also known as Nosepos+, to Incremental, that is a combination of speedslide, wall hug and input simplifier Bruteforce.

There is probably hundreds of plugins by now and people keep creating new ones in order to make TASing easier.

The Config File

The config.txt file, normally located in Documents > TMInterface, can be used to execute preset commands upon every launch of the application. Most commonly, custom binds are specified in the text file to drastically increase the usage efficiency of the tool.


External Links

For further information about how to setup TMInterface and how to use it, go to this documentation: Igntul's TAS Tutorial Docs

For further documentation of TMInterface and its API, head to donadigo's website.