<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Track Mania &#8211; Finding Seconds</title>
	<atom:link href="https://www.findingseconds.com/tag/track-mania/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.findingseconds.com</link>
	<description>Making cars and bikes faster for 25 years. Follow to discover what works and what does not!</description>
	<lastBuildDate>Thu, 04 Apr 2024 12:21:10 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.5</generator>

<image>
	<url>https://www.findingseconds.com/wp-content/uploads/2023/09/cropped-FS-Logo-512-1-32x32.png</url>
	<title>Track Mania &#8211; Finding Seconds</title>
	<link>https://www.findingseconds.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Track Mania Scripting Quickstart</title>
		<link>https://www.findingseconds.com/track-mania-scripting-quickstart/</link>
					<comments>https://www.findingseconds.com/track-mania-scripting-quickstart/#respond</comments>
		
		<dc:creator><![CDATA[AJ]]></dc:creator>
		<pubDate>Tue, 17 Oct 2023 16:20:58 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Track Mania]]></category>
		<guid isPermaLink="false">https://www.findingseconds.com/?p=419</guid>

					<description><![CDATA[<p>Track Mania Scripting How-To Recently, I was sent a link to an outstanding YouTube video about someone who trained an AI to outpace them in a racing game. My curiosity</p>
<div class="read-more"><a class="btn button-secondary" href="https://www.findingseconds.com/track-mania-scripting-quickstart/">Read More</a></div>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://www.findingseconds.com/track-mania-scripting-quickstart/">Track Mania Scripting Quickstart</a> first appeared on <a rel="nofollow" href="https://www.findingseconds.com">Finding Seconds</a>.&lt;/p&gt;</p>
]]></description>
										<content:encoded><![CDATA[<div class="boldgrid-section">
<div class="container">
<div class="row" style="padding-bottom: 0px;">
<div class="col-md-12 col-xs-12 col-sm-12 col-lg-12">
<h1 class="color1-color">Track Mania Scripting How-To</h1>
<p class="">Recently, I was sent a link to an outstanding YouTube video about someone who trained an AI to outpace them in a racing game. My curiosity was immediately piqued, and I began to wonder if this could serve as a viable platform for prototyping my AI racing driver algorithms. In this post, I&#8217;ll provide a concise guide on setting up TrackMania with a script, focusing on the one detailed in the video: <a href="https://www.youtube.com/watch?v=Dw3BZ6O_8LY&amp;t=1s" target="_blank" rel="noopener">Training an unbeatable AI in TrackMania</a></p>
<h2 class="">Track Mania Nations Forever Installation</h2>
<p class="">From my research, TrackMania&#8217;s legacy goes back almost 20 years, to 2003. We will be using the completely free version titled &#8220;TrackMania Nations Forever.&#8221; While this version has its constraints, it&#8217;s ideal for our needs. To delve deeper into the game&#8217;s history, consult this informative Wikipedia article: <a href="https://en.wikipedia.org/wiki/TrackMania" target="_blank" rel="noopener">Track Mania</a></p>
<p class=""><span style="color: var(--color-neutral-text-contrast);">The game can be downloaded from: &nbsp;</span><a href="http://files.trackmaniaforever.com/tmnationsforever_setup.exe" target="_blank" rel="noopener">Track Mania Nations Forever</a>.</p>
<p class="">The installation process is straightforward, and unless necessary, I&#8217;d suggest sticking with the default settings in the installer.</p>
<p class="">&nbsp;</p>
<h2 class="">TMUnlimiter</h2>
<p class="">Introduced in 2010, TMUnlimiter added innovative features to the track editor, such as the ability to create oversized maps. If you&#8217;re keen on experiencing the three levels showcased in the aforementioned video, you&#8217;ll need to install TMUnlimiter along with TrackMania and another tool known as TMInterface by Donadigo.</p>
<p class="">Download TMUnlimiter from this link: <a href="https://unlimiter.net/download" target="_blank" rel="noopener">TMUnlimiter Download</a>.</p>
<p class="">Post extraction, there&#8217;s a readme that guides you through the installation.</p>
<p class="">It&#8217;s worth noting that TMUnlimiter necessitates the x86 version of the 2010 C++ redistributable package. If you encounter an error stating it can&#8217;t find &#8220;MSVCR100.dll&#8221;, it means you may have the x64 version and will need to procure the x86 version from Microsoft&#8217;s site: <a href="https://www.microsoft.com/en-us/download/details.aspx?id=26999" target="_blank" rel="noopener">Microsoft Visual C++ 2010 Redistributable Package Service Pack 1</a></p>
<h2 class="">Donadigo TMInterface</h2>
<p class="">Next, we have TMInterface, a TAS (Tool Assisted Speedrun) tool for TrackMania. Essentially, it allows users to script everything from car controls to UI enhancements. For a more satirical take, you can check this video: [Warning Satire] <a href="https://www.youtube.com/watch?v=WgJ3ayo1xwI" target="_blank" rel="noopener">[TUTORIAL] How to make TAS (Tool-Assisted Speedruns) in Track Mania</a></p>
<p class="">Downloaded from this link: <a href="https://donadigo.com/tminterface/" target="_blank" rel="noopener">Donadigo&#8217;s TMInterface website</a>.</p>
<p class="">Follow the<a href="https://donadigo.com/tminterface/installation" target="_blank" rel="noopener"> installation instructions on the website</a>, taking note that the process slightly differs for Steam installations compared to standalone ones.</p>
<h2 class="">Running TMInterface alongside TMUnlimiter</h2>
<p class="">Figuring out how to operate TMInterface in tandem with TMUnlimiter took a bit, but I chanced upon a tip on <a href="https://donadigo.com/tminterface/playing-with-infinity" target="_blank" rel="noopener">TMInterface website</a>.</p>
<p class="">Start TMInterface (execute TMInterface.exe) to launch TrackMania Nations Forever. Before selecting your driver profile, input &#8220;load_infinity&#8221; in the TMInterface console. Afterward, you can pick your driver profile and access both TMInterface and TMUnlimiter.</p>
<h2 class="">Sai-Moen Wallhugger Install</h2>
<p class="">Upon setting up the above, I sought ways to exploit the API for vehicle control beyond the scripting facilitated by TMInterface. In my quest, I discovered a YouTube video demonstrating a wallhugger script. <a href="https://github.com/Sai-Moen" target="_blank" rel="noopener">Sai-Moen&#8217;s GitHub</a> page has the Angel Script version, a direct adaptation from his original <a href="https://github.com/Sai-Moen/TMInterfaceClientPython" target="_blank" rel="noopener">Python Wallhugger</a> script, which is no longer supported or maintained (in the latest version of TMInterface).</p>
<p class="">To install the Angel Scripts, download a copy of <a href="https://github.com/Sai-Moen/TMInterface-AS-SaiMoen" target="_blank" rel="noopener">Sai-Moen&#8217;s TMInterface-AS module</a> (click on Code -&gt; Download ZIP), which contains a module as well as some other standalone scripts. There are instructions in the README.md but when I did this it was simply a case of copying the Incremental folder and the individual .as script files to the following location: C:\Users\&lt;username&gt;\OneDrive\Documents\TMInterface\Plugins. Substitute your username as appropriate and if you don&#8217;t use OneDrive just find your Documents folder. Basically you&#8217;ll need to hunt down where your TMInterface\Plugins folder lives.</p>
<h2 class="">Running the Wallhugger Bruteforce</h2>
<p class="">To execute a Bruteforce run, complete a run on the track and save a replay (alternatively you can download a replay from the internet).</p>
<p class="">Example: To save a replay of one of the levels seen in the video, make sure they are installed in the correct location and then:</p>
<ol class="">
<li>From the main menu</li>
<li class="">Play Solo</li>
<li>Browse</li>
<li>Challenges</li>
<li>My Challenges (assuming this is where you installed them)</li>
<li>Level 1 (or whichever you want)</li>
<li>Play</li>
<li>[Execute a run on the keyboard]</li>
<li>Save Replay</li>
</ol>
<p class="">Next, from the TMInterface console, go to the Settings tab and down to the Plugins section. You can disable everything except for the &#8220;Incremental Module&#8221;.</p>
<p class="">Still in the settings, find the Bruteforce section and select SaiMoen&#8217;s Incremental module. Check a few of the settings here including &#8220;Maximum evaluation time&#8221;. Expand the modes section and make sure wallhugger is selected. Change the other settings as appropriate.</p>
<p class="">Finally run the bruteforce by:</p>
<ul class="">
<li>From the main menu</li>
<li>Editors</li>
<li>Edit a Replay</li>
<li>Select the replay you want to bruteforce</li>
<li>Launch</li>
<li>Sai Moen&#8217;s Incremental module</li>
</ul>
<p class="">If everything is installed and running correctly, a new console window appears and it will start streaming. This will continue until one of three things happen:</p>
<ul class="">
<li>The finish line is reached</li>
<li>The Maximum evaluation time is reached</li>
<li>You hit escape</li>
</ul>
<p class="">If a faster time is found, you should have a results.txt to load back into the console (&#8220;load results.txt&#8221;). Now when you attempt to drive the track again, you will see the bot drive 🙂 Happy TM&#8217;ing!</p>
<p class=""><img fetchpriority="high" decoding="async" class="bg-img alignnone wp-image-424 size-large" style="color: var(--color-neutral-text-contrast);" src="https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-1024x640.jpg" alt="" width="1024" height="640" srcset="https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-1024x640.jpg 1024w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-300x188.jpg 300w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-768x480.jpg 768w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-1536x960.jpg 1536w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-2048x1280.jpg 2048w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-250x156.jpg 250w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-550x344.jpg 550w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-800x500.jpg 800w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-288x180.jpg 288w, https://www.findingseconds.com/wp-content/uploads/2023/10/TMScreenshot-480x300.jpg 480w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
</div>
</div>
</div>
</div>
<div class="boldgrid-section">
<div class="container">
<div class="row">
<div class="col-lg-12 col-md-12 col-xs-12 col-sm-12"></div>
</div>
</div>
</div>
<p>&lt;p&gt;The post <a rel="nofollow" href="https://www.findingseconds.com/track-mania-scripting-quickstart/">Track Mania Scripting Quickstart</a> first appeared on <a rel="nofollow" href="https://www.findingseconds.com">Finding Seconds</a>.&lt;/p&gt;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.findingseconds.com/track-mania-scripting-quickstart/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
