Submission Text Full Submission Page
Mario Forever: Community Edition v2.0.1 - Any% TAS (Tool-Assisted Speedrun) by OmerAras55 (me)

General Info

Game version: 2.0.1 (Linux version)
TAS Tool: libTAS v1.4.6 - interim f60dfb5e (2025-07-19)
Note: I have the "libtas_1.4.6_f60dfb5_amd64.deb" file, I can share it because this interim version is no longer available on the web. (Its expiration date has passed.)
OS: Ubuntu

SHA1 Values

89b43a34a69f99b588c04ffd5d0b6667393e6df7 libgdmpt-License.txt
84da1119cade05cc250866f782916a758a0268ca libgdmpt-linux.release.64.so
3a35943c865747ef4ff03116b9e9fb5778d94583 Mario Forever Community Edition.pck
b6fd1d120c7657d66ba1a9b3247608c1c11d14eb mfce-skin-editor.pck
47f31471a4fc6ccc5f5f3b3929f970f05d3a6246 02. Launch in Compatibility Mode (angle).sh
5b075549a05f92a394a72f02878750aa6a751dc6 00. Launch in Recommended Mode.sh
79f2e17747dd7736e5c4fd7984c3cff0372a73e2 Launch MFCE Skin Editor.sh
e477eeecc2514d22fcb189078d08399cc593d14e 01. Launch in Compatibility Mode.sh
9dfa2d9934ef67011156e777eeb647246341b383 Mario Forever Community Edition.x86_64
63f3eb3283eb028599d5b5ffa7e6a721454d52cd OpenMPT-License.txt

MD5 Values

cb8662ef8df58cca44d05c575c661be9 libgdmpt-License.txt
81b5140b264cccc9105bd22d258c0afb libgdmpt-linux.release.64.so
ca384a4984e3299e59e1fc580a48bfa8 Mario Forever Community Edition.pck
16005498f9e2363c6f73e75de7d64931 mfce-skin-editor.pck
e90148b0c80ac47ed5c47ad642daec97 02. Launch in Compatibility Mode (angle).sh
79f34de2d87482314caa9ff4cafd7246 00. Launch in Recommended Mode.sh
d98762e4caba2b8ef7169a5e5f39954b Launch MFCE Skin Editor.sh
e1271f81ae8b8f52590a4bdb794ddfa9 01. Launch in Compatibility Mode.sh
10321f61213772fe26f6cdf051bef28e Mario Forever Community Edition.x86_64
949ce5c427e8fc2936500cc92756f2f2 OpenMPT-License.txt

libTAS Settings (All default):

Runtime Settings

  • General
    • Force locale: "English"
    • Prevent writing to disk: "On"
    • Virtual Steam client: "Off"
    • Allow downloading missing libraries: "On"
  • Savestates
    • Incremental savestates: "Off"
    • Skip unmapped pages: "Off"
    • Compressed savestates: "On"
    • Fork to save states: "Off"
  • Timing
    • time(): "Off"
    • gettimeofday(): "Off"
    • clock(): "Off"
    • clock_gettime() realtime: "Off"
    • clock_gettime() monotonic: "Off"
    • SDL_GetTicks(): "Off"
    • SDL_GetPerformanceCounter(): "Off"
    • GetTickCount(): "Off"
    • GetTickCount64(): "Off"
    • Query PerformanceCounter(): "Off"
    • Wait timeout: "Native waits"
    • Sleep handling: "Advance time on main thread"
  • Asynchronous events
    • jsdev: "Off"
    • XEvents at frame beginning: "Off"
    • SDL events at frame beginning: "Off"
    • evdev: "Off"
    • XEvents at frame end: "Off"
    • SDL events at frame end: "Off"

Movie Settings

  • Inputs
    • Mouse support: "Yes"
    • Joystick support: "No"
  • Time
    • Framerate numerator: "60"
    • Framerate denominator: "1"
    • Auto-restart: "No"
    • Initial elapsed time seconds: "1"
    • Initial elapsed time nanoseconds: "0"
    • Initial system time seconds: "1"
    • Initial system time nanoseconds: "0"
  • Time tracking
    • time: "-1"
    • gettimeofday: "-1"
    • clock: "-1"
    • clock_gettime_real: "-1"
    • clock_gettime_monotic: "-1"
    • sdl_getticks: "-1"
    • sdl_getperformance counter: "-1"
    • GetTickCount: "-1"
    • GetTickCount64: "-1"
    • QueryPerformanceCounter: "-1"

Comment-Line Options

-- --speedrun-stats

Timing and Frame Counts

TAS Timing: 8:09.300
RTA Timing: 7:49.050
Movie frame count: 29358 [Starts on frame 0, ends on frame 29357 (when Bowser is defeated).]
RTA frame count: 28143 [Starts on frame 1215 (pressing "z" to start to World 1-1), ends on frame 29357 (when Bowser is defeated).]
Rerecord count: 4236

Improvements Over Previous TAS Total: (-157f (≈-2.616))

Actually, I saved 259 frames (≈-4.316s), but before World 1-1 started, I lost a total of 102 frames (+1.7s) in the menu due to the new update.
  • Until the start of 1-1 (+102f)
  • World 1 (-8f)
    • 1-1 -1f
    • 1-2 -1f
    • 1-3 -4f
    • 1-4 -2f
  • World 3-1 (+1f (Bad subframe))
  • World 8 (-252f)
    • 8-1 -43f
    • 8-2 -7f
    • 8-3 (-196f)
    • 8-4 (-6f)
      • Pre-Bowser Fight (0f)
      • Bowser Fight (-6f)

Run Goals and Route

The goal is to complete Mario Forever: Community Edition v2.0.1 as fast as possible by using warp pipes to skip worlds and minimize stage count. RTA timer starts when pressing jump to begin World 1, and ends upon Bowser’s defeat in 8-4. Although the game contains 32 main levels, this run plays only 9 levels, using warp pipes in 1-4 and 3-1 to reach World 8 early.

Full-Run Commentary

Selecting Game Style

When the game opened, I quickly selected "Classic" from the gameplay settings because it saves me a total of 1 frame in the menu. I'll explain the reason for this shortly.
Before entering save game room and 1-1, I changed some settings in the menu:
  • Options
    • Game Speed: 1x → 1.2x
    • XScroll: Off → On (needed for 8-1 strat)
  • Tweaks
    • Gameplay
      • Super jump bug: Off → On (needed for 8-3 strat)
    • Aesthetic
      • Replace circle transitions with crossfades: Disabled →Enabled (For faster transitions)
      • (Note: If I hadn't selected Classic game style at the beginning, the "Blur transitions between pipe warp areas" tweak would be enabled, and this tweak needs to be disabled to save time during the run. Since I selected Classic, this tweak is automatically disabled, saving me 1 frame since I don't need to disable it.)
    • Character: Mario → Luigi (Because Luigi is faster than Mairo when he has the Green Lui power-up.)
  • Exiting the tweaks
And then I pressed the Start button to go to the save game room.
In the save game room, I ran immediately to the right and grabbed the 4th power-up, Green Lui...
-which is actually called “Red Lui.” Because when we play with Luigi, it turns red and rolls instead of jumping, but it doesn't roll here because we're in the menu-
...The reason for this is that Luigi normally runs at 350 speed, but with Red Lui, he runs at 400 speed. And also, with Red Lui, Luigi jumps higher. (If I were playing as Mario, he would still jump higher like Luigi does, but his speed would remain the same.)
Right after that, I went left toward the pipes used to start the game and entered through the third pipe closest to me.
After entering the pipe, I held down the "z" key to skip the cutscenes as quickly as possible.

Level-by-Level Commentary

1-1

I used a new tactic at this level and other levels that I recently learned. When the "Replace circle transitions with crossfades" tweak is enabled, you can control Luigi for 1 tick while the level is loading. This allowed me to save 1 frame in most levels.
Still a very short and simple stage though. I'm pretty sure no improvements seem possible anymore. I quickly move left at the start and then enter an invisible pipe near the start point, which leads to the end of the stage, a common trick used by speedrunners known as the Mushroom Plague pipe skip.

1-2

I used the same strategy as in 1-1 and saved another frame. Other than that, I'm 99.999% sure there's no room for improvement at this level because I'm constantly running to the right until the level ends.

1-3

I don't think there is any improvement left in this level. Maybe landing earlier on the red moving platform in the picture could gain us 1 frame. Because the platform is accelerating from right to left, and even if we land on it and jump immediately, our movement carries over a little bit. The reason we need to land as early as possible is to land on it while it's still moving slowly, and jump off with minimal speed loss, allowing us to get further ahead. After dozens of attempts, this was the best I could manage.

1-4

This level contains the first of the two warp pipes I used in this run and is above the level. By going up the level faster with better movement, I entered the gray warp pipe leading to World 3 two frames early.

3-1

I have probably "forcedly" lost 1 frame due to the terrible subframe. Let me explain: In World 3-1, we can warp to World 8-1 by passing through the left side of a purple pipe, and I did just that and went to World 8. I compared it to the previous TAS, and even though I pressed the "z" key in the same frame since the beginning of 3-1, I had to press it one frame later to actually start 8-1 compared to the old TAS. But this doesn't ultimately cause me to lose time. Let me explain: while making this TAS, I actually lost one frame in the menu, yes. But then the TAS program crashed by chance, and thankfully it did. Then, when I started the TAS from scratch, I accidentally saved less than 1 frame in the menu, and this put me a few subframes ahead, and luckily, it reflected on the screen as if I was 1 frame ahead. This means that the few subframes I saved at the very beginning of the TAS in the menu weren't enough, so I had to spend them here, I guess. I'm not sure about this explanation, but that's how it feels.

8-1

This is where things start getting interesting. I use a strategy discovered independently by JUE13 and me (a day apart), with Jue13 publishing it first. This level contains a stone platform that is initially stationary but starts moving when we reach the same X position as it. Normally, we should reach the end of the level by occasionally standing on this platform and moving, from the beginning to the end of the level. Especially in the final section, which a pit where several Thwomps in the top on the screen and nothing else seems usable. And we have to wait for the moving stone platform to pass this section, which wastes our time.
However, there's a way to skip waiting for the platform. Inspired by a trick seen in HappyLee's TAS of Mario Forever: Advance Edition, where HappyLee jumps around the lower parts of the screen just for entertainment, I realized it could be used practically here thanks to Green Lui's enhanced jump and speed. By enabling the XScroll option earlier in the settings menu, I manipulated the camera so that Luigi is positioned more to the left, which causes the Bullet Bill launcher on the right to fire slightly earlier. After briefly baiting the last Thwomp, I jump across the bottom platform, stomp the Bullet Bill, land on a launcher, and hop over the stage ceiling to reach the goal, skipping the slow moving stone platform entirely.
This new strategy not only saves waiting time, but also allows you to pass the part with Thwomps much faster than normal. Before this discovery, as I said, players had to wait several seconds for the platform to arrive. This new route saves a significant amount of time.
And, compared to the previous TAS, I managed to save 43 frames thanks to the improved platform jump movement and the Coyote Timing tweak that came with the new update. Although, I still believe some minor improvements may be possible here.

8-2

This level is one of the three auto-scroll levels in the game. The level moves on its own; and just like every other level, it ends when you reach the finish line. You might immediately ask: How did you save time in an auto-scroll level? Well, when I making the TAS, I realized that if you run to the level's finish line with perfect timing, you can end the level 1 frame early. But I tried many times and managed to save 4 more frames. And even I don't know where those other 2 frames I saved came from.

8-3

At this level, I managed to save 196 frames thanks to the newly added "Super Jump Bug" tweak and the ability to jump through platforms.
The Super Jump Bug works like this: If Luigi holds down the jump button while not jumping on a platform and stomps an enemy, then reaches the edge of that platform and tries to fall, Luigi will jump "EXTREMELY" high. I use this strategy early in the level with a Green Koopa Paratroopa. I stomp the Paratroopa while standing next to a platform, then run to the other side of the platform without falling off, essentially flying. Of course, I do not release the jump button during this process. But this moment of flying doesn't last long; after our heads hit the tiles, we continue as before. Still, it saves us a noticeable amount of time.
And with the new update, we can jump from one platform to another very quickly. This allows us to also save time in the final parts of the level.

8-4

  • Pre-Bowser Fight
This level is another auto-scroll section like 8-2, leading up to the Bowser Fight. To reach Bowser Fight, we need to enter the gray pipe at the end of the level. As in 8-2, I managed to enter the pipe 1 frame or less early by running at the right time a little beforehand. I'm not sure about this 1 frame because compared to the previous TAS, it looks like half a frame somehow, which is a bit strange. But I still think it would be more accurate to say that I didn't save any frames in Pre-Bowser Fight in 8-4.
  • Bowser Fight
I noticed something I missed in the previous TAS: Bowser's running RNG. At the start of the Bowser Fight, since Bowser is far away from us, we want him to run towards us so we can stomp him earlier. To do this, I stomped a specific number of Bullet Bills right before entering the Bowser Fight, which allowed me to manipulate Bowser's movement and that allowed me to damage Bowser earlier. After dealing the first damage to Bowser, I continued to damage him every 101 frames. 101 frames is important because Bowser can take damage every 101 frames. After dealing a total of 21 hits to Bowser, he is defeated and the game ends. In Bowser Fight, as I mentioned earlier, I saved 6 frames.

As a Bonus

I tried to score as many points as possible to make the run fun, and I tried to dodge all the Hammer Bros' shots without stomping any of them, and if you ask me, it looks pretty good.


TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 16702
Location: 127.0.0.1
Tegron
He/Him
Player (158)
🇵🇱 Poland
Joined: 1/8/2023
Posts: 21
Location: 🇵🇱 Poland
Congratulations on optimising TAS by 2 seconds, Yes vote. For judges and publishers: TAS syncs with the official version of libTAS 1.4.6 with game version v2.0.1
Post subject: Thank you
OmerAras55
He/Him
Player (26)
🇹🇷 Türkiye
Joined: 7/20/2025
Posts: 29
Location: 🇹🇷 Türkiye
Tegron wrote:
Congratulations on optimising TAS by 2 seconds, Yes vote. For judges and publishers: TAS syncs with the official version of libTAS 1.4.6 with game version v2.0.1
Thank you so much❤!!
Mario Forever speedrunner and TASer. (Usually the "Community Edition") Working on: Mario Forever: Community Edition Warpless TAS
Expert player (3204)
Joined: 12/23/2007
Posts: 864
Nice TAS. I voted yes. My main concern is that this TAS is done with a remake version of this game, not the original version.
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
OmerAras55
He/Him
Player (26)
🇹🇷 Türkiye
Joined: 7/20/2025
Posts: 29
Location: 🇹🇷 Türkiye
HappyLee wrote:
Nice TAS. I voted yes. My main concern is that this TAS is done with a remake version of this game, not the original version.
YOOOO! Thanks a lot, HappyLee. And yes, actually my first thought was to make a TAS for the original game, but since I'm a bit more familiar with the remake version, I chose to make a TAS for the remake version. Although I'm still thinking about making a TAS for the original game too!!
Mario Forever speedrunner and TASer. (Usually the "Community Edition") Working on: Mario Forever: Community Edition Warpless TAS
Post subject: Newer TAS is soon!
OmerAras55
He/Him
Player (26)
🇹🇷 Türkiye
Joined: 7/20/2025
Posts: 29
Location: 🇹🇷 Türkiye
I'll cancel this because I'm doing one more TAS for the newer version, and I also saw an optimization issue at the beginning.
Mario Forever speedrunner and TASer. (Usually the "Community Edition") Working on: Mario Forever: Community Edition Warpless TAS
TASVideosGrue
They/Them
Location: The dark corners of the TASVideos server
Joined: 10/1/2008
Posts: 2877
Location: The dark corners of the TASVideos server
om, nom, nom... *burp*!