#10033: OmerAras55's Linux Mario Forever: Community Edition "warpless" in 27:30.067

14/11/2025
#10033: OmerAras55's Linux Mario Forever: Community Edition "warpless" in 27:30.067

Listen "#10033: OmerAras55's Linux Mario Forever: Community Edition "warpless" in 27:30.067"

Episode Synopsis



Mario Forever: Community Edition v2.0.2 - warps TAS (Tool-Assisted Speedrun) by OmerAras55 (me)
The old TAS made in v1.1 by me: here
General Info
Game version: 2.0.2 (Linux version)
TAS Tool: libTAS v1.4.6
OS: Ubuntu 24.04.2 LTS
SHA1 Hashes
5b075549a05f92a394a72f02878750aa6a751dc6 00. Launch in Recommended Mode.sh
e477eeecc2514d22fcb189078d08399cc593d14e 01. Launch in Compatibility Mode.sh
47f31471a4fc6ccc5f5f3b3929f970f05d3a6246 02. Launch in Compatibility Mode (angle).sh
79f2e17747dd7736e5c4fd7984c3cff0372a73e2 Launch MFCE Skin Editor.sh
71d19463a0c48facbc6acda0e4f313acef7c8db2 Mario Forever Community Edition.pck
9dfa2d9934ef67011156e777eeb647246341b383 Mario Forever Community Edition.x86_64
63f3eb3283eb028599d5b5ffa7e6a721454d52cd OpenMPT-License.txt
89b43a34a69f99b588c04ffd5d0b6667393e6df7 libgdmpt-License.txt
84da1119cade05cc250866f782916a758a0268ca libgdmpt-linux.release.64.so
b6fd1d120c7657d66ba1a9b3247608c1c11d14eb mfce-skin-editor.pck
MD5 Hashes
79f34de2d87482314caa9ff4cafd7246 00. Launch in Recommended Mode.sh
e1271f81ae8b8f52590a4bdb794ddfa9 01. Launch in Compatibility Mode.sh
e90148b0c80ac47ed5c47ad642daec97 02. Launch in Compatibility Mode (angle).sh
d98762e4caba2b8ef7169a5e5f39954b Launch MFCE Skin Editor.sh
b8876cb92648c0860b2d734cca4a3ebb Mario Forever Community Edition.pck
10321f61213772fe26f6cdf051bef28e Mario Forever Community Edition.x86_64
949ce5c427e8fc2936500cc92756f2f2 OpenMPT-License.txt
cb8662ef8df58cca44d05c575c661be9 libgdmpt-License.txt
81b5140b264cccc9105bd22d258c0afb libgdmpt-linux.release.64.so
16005498f9e2363c6f73e75de7d64931 mfce-skin-editor.pck
libTAS Settings:
Runtime Settings
General
Force locale: "English"
Prevent writing to disk: "Off"
Virtual Steam client: "Off"
Allow downloading missing libraries: "On"
Savestates
Incremental savestates: "Off"
Store savestates in RAM: "Off"
Compressed savestates: "On"
Skip unmapped pages: "Off"
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
Note: I would appreciate it if the “Command-Line” field is left blank during encoding.
Timing and Frame Counts
TAS Timing: 27:30.066
RTA Timing: 27:12.600
Movie frame count: 99004
RTA frame count: 97956
Rerecord count: 18642
Improvements Over Unsubmitted Previous TAS Total: (-2944f (00:49.067))
Compared to the old TAS, most of this massive time save was achieved through purposely added bugs and tweaks in the new updates. I'll explain the entire run in detail shortly.
Run Goals and Route
The goal is to complete Mario Forever: Community Edition v2.0.2 as quickly as possible without using warps. TAS timer stars on frame 0 and RTA timer starts when pressing jump to begin World 1, both ends upon Bowser’s defeat in 8-4. I tried to complete all 32 levels as quickly as possible in this TAS.
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.
Menu
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 faster 3-1, 5-2, 6-1, 7-2. Note: I disabled this tweak to save time in 7-4, as I'll explain shortly, but I re-enabled it in 8-1 for the 8-1 strat.)
Tweaks
Gameplay (Note: I instantly accessed the gameplay tweaks section by left clicking the mouse to options button + pressing enter while in the main menu, but it didn't save me any time though.)
Crouch Jumping: Disabled → Enabled (needed for time saves in 3-3, 5-1, 6-1, 7-1, 7-4, 8-1, 8-3) (Note: If I had chosen the Modern game style at the beginning, this tweak would have been enabled automatically, but it would still have wasted my time, as I'll explain shortly.)
Super jump bug: Disabled → Enabled (needed for 5-2 and 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.)
Miscellaneous
F3 keybind to save game room: Disabled → Enabled (for faster time to reach the save game room)
Character: Mario → Luigi (Because Luigi is faster than Mairo when he has the Green Lui power-up.)
I pressed ESC to go to the main menu. (Note: The reason for this is that you have to exit Options for the "Crouch Jumping" tweak to be enabled. So, if I had immediately pressed F3 and gone to the save-game room, the Crouch Jumping tweak would have disabled itself. This is a bug; there is no such issue with other tweaks. If I had chosen the "Modern" game style at the beginning, I wouldn't have had to lose this one frame, but still, it would have cost me time.)
And while in the main menu I pressed the F3 key and quickly reached 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.
An explanation about the game style option at the beginning
So, before the Level-by-Level Commentary, why didn't I choose the "Modern" game style option at the beginning?
In the "Classic" game style option, the "Crouch Jumping" tweak isn't automatically enabled but "Blur transitions between pipe warp areas" tweak is also enabled, so I might seem to lose 2 frames and saved 1 frame but it's actually faster this way. Why? Because of a very strange bug. Let me explain.
For example, let's take a look at this frame. (Frame 397)

I had the Crouch Jumping tweak active just before this frame, and in the current frame, I will activate the Super Jump Bug tweak with the mouse and press ESC to go back at the same time. (Additional information: You can also change the tweak setting with Enter, but pressing Enter + ESC does not change the tweak . Only left click + ESC works.)
And as I said, I did Left Click to Super Jump Bug tweak + ESC and reached the following frame. (Frame 398)

As you can see, nothing is wrong here. In this frame, I pressed down + Enter to enter the Aesthetic tab, because I had used the left click button in the previous frame. (Frame 399)

And yes, there are two Mario heads in this frame. I've named these frames "dead frames" myself. Because mouse input doesn't work in these frames, and the Enter + arrow key combination also doesn't work. Therefore, you have to wait for one frame so you can click the mouse or press the Enter + arrow keys at the same time.
So what causes these dead frames? Randomness! That's why I didn't choose the modern game style. If I had chosen the modern game style at the beginning, Mario would have had two heads in almost every tweaks tab I entered, and that would have cost me a total of 1 frame.
Level-by-Level Commentary
1-1
At the very beginning of this level, you can run slightly to the left and descend through an invisible pipe to reach the end of the level. This is called the Mushroom Plague pipe skip. I'm certain that no improvement can be made at this level.
1-2
I keep running to the right without stopping until I finish the level; I don't think it can be improved.
1-3
As I explained in here, I managed to land on the red platform moving to the left one frame earlier and start jumping, which allowed me to finish the level one frame early, but unfortunately, this didn't save me time any.
1-4
There's nothing unusual at this level either. When I got to the Bowser fight, I damaged Bowser every 101 frames (the fastest damage interval against Bowser).
2-1
A simple level, I finished the level without stopping running to the right.
2-2
One of the levels where I saved time compared to the old Warpless TAS. When I was doing the old Warpless TAS, I didn't know about the Super Swim bug in the underwater levels. It is achieved by releasing the movement keys just as you make full contact with the water, allowing you to swim faster underwater. It saves time not only underwater, but also when jumping above the water.
2-3
There's nothing difficult or unusual at this level either. I'm running straight to the right.
2-4
At this level, unlike normal gameplay, I went over the green pipes shown in the picture below to save time.

2-5
At this level, there is nothing to explain because there is no obstacle that would cause me to slow down.
3-1
There's nothing slowing me down in this level either.
3-2
This level was one of the reasons why I enabled the “X-Scroll” option in the settings at the beginning of the game. Let's first look at this frame in my current v1.1 Warpless RTA speedrun shown below.

As you can see, back then, since X-Scroll tactics weren't known and the Crouch Jumping tweak wasn't in the game, I was playing with X-Scroll off. To avoid hitting Spiny, I would move slightly to the left while still in the air before landing, then jump over Spiny and try to finish the level without stopping. However, in this TAS, as shown in the image below, I jumped past a purple pipe and managed to get past Spiny this time, because Spiny spawns earlier with the X-Scroll option.

But, I think it's possible to get through this section without losing speed even with X-Scroll disabled, using only Crouch Jumping.
3-3
There's nothing unusual at this level either. It's just that, compared to the previous TAS, I landed on the platform earlier by crouch jumping in the section shown in the image, which allowed Luigi to get further ahead.

3-4
There's nothing unusual at this level either.
4-1
There's also nothing unusual at this level either.
4-2
This level has a very strange story. Let me explain...
This is an auto-scroll level, meaning the level moves on its own. At the end of this level, in order to finish it faster, when the finish line appears on the far right side of the screen, Luigi needs to be on the far right side of the screen. Unfortunately, we can't do this by moving right at the end of the level, because when we try to move right while at the far right, the game slows us down, and doing this repeatedly causes us to finish the level later. For this reason, we have to run at full speed to reach the finish line. When I TAS'd this level, I actually finished it with 11010 frames left. Then libTAS crashed, and while playing back the TAS, I realized that because I hadn't broken one brick block in the middle of the level, I could have gained 10 more points compared to the current TAS. Although I didn't think it was necessary at first, I changed my mind and TAS'd 4-2 again. When I reached the end of the level, I tried to finish it so that the in-level frame counter would again show 11010. But then I accidentally finished the level with 11009 frames left, thankfully libTAS crashed. But this 1 frame didn't save me any time at the end of the level :( If one more frame could be saved in this level, the in-level timer would end at 184 instead of 183. And maybe, just maybe, one frame could be saved in this level.

4-3
There's nothing unusual about this level. It's just that, compared to the RTA speedrun, I didn't enter the coin room in the level because this way is faster.
4-4
There's nothing strange about this level either.
5-1
Let me tell you about camera manipulation. Because at the beginning of this level, I used camera manipulation, just like I will explain in some other levels later on. First, let's take a good look at this frame.

As you can see in the top right, Luigi's speed is 400, and this top frame was captured when Luigi reached exactly 400 speed. Due to the reasons I opened XScroll, the camera moves to the right as it accelerates. But when Luigi reaches maximum speed, the camera hasn't yet reached where it needs to go. There is a way to keep the camera fixed in this position: Crouch Jumping.
As long as Luigi continues to Crouch Jump, the camera stays in place. This is a nice advantage because the Piranha Plants just ahead in the level need to spawn later; otherwise, there would be no chance to jump off the edge of the pipe shown in the image below.

By keeping the camera slightly to the left of where it should be, we ensure the Piranha Plants spawn later, allowing us to barely jump off the edge of the pipe. Unfortunately, I had to slow down just a bit for the other pipe jump :(
Other than that, there's nothing else noteworthy at this level.
5-2
This level is very, very different from normal gameplay. First, let's look at the frame in the picture.

As shown in the image, while holding down the jump button, I deliberately collided with a solid block and stomped on the Goomba right next to Luigi in the picture. You might ask why I did something so specific; the reason is the Super Jump Bug tweak I activated at the beginning. The tweak works like this: If, while holding down the jump button, the character stomps an enemy while not jumping on the ground and then attempts to jump off the edge of the ground while still on the ground for a certain period of time, the character jumps EXTREMELY high. As I mentioned, the jump button must not be released at all during this process.
To show how big it is, look at the picture below. After stomping on Goomba, I waited on the platform for a while, then went to the edge of the platform. My Y speed was 2nd from the top right.

For comparison, Luigi can normally reach a vertical speed of -658.33 Y when jumping at 60FPS.
And by the way, it's important that X-Scroll is in-circuit so that Goomba spawns exactly where we want it to (really, Goomba spawns at the perfect moment this way).
5-3
There is nothing important to mention at this level.
Note: I'll write the rest of the text, but that's enough for now. I have homework to do.