Submission Text Full Submission Page
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

Tags:
  • Takes damage to save time

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.
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.

6-1

At the beginning of this level, I also manipulated the camera. As you can see in the image below, as I explained in 5-1, when my speed was 400, I did a Crouch Jump, and I had to move forward by doing a Crouch Jump so that the camera wouldn't move forward.
I did this because, as you can see in the image below, I made the Pirana Plant spawn later. This way, I slow down less.
In the image below, as you can see, I'm taking damage to save time. This may seem like a huge loss at first. Because the Power-up that allowed me to go faster, Red Lui, is now gone. My maximum speed is now 350 instead of 400. This isn't actually a loss because I can get Red Lui again at the start of level 6-3, which is two levels later. (There are two Red Lui blocks in the game, one in 2-1 and the other in 6-3.) But to maintain my speed until the end of the level, I jumped immediately after taking damage, preserving my speed with only a slight loss, and hopped my way to the finish line.
(From the moment shown in the image above, my speed remained at 395.83 until the end of the level.)

6-2

I'll show you some areas where I saved time compared to the old TAS.
Here, immediately after exiting the pipe, I jump and touch the corner of the pipe above, and thanks to the corner correction, Luigi moves slightly to the right. This allows him to enter the pipe on the right one frame earlier.
Then, because of the Pirana Plant in this pipe, I entered the pipe while taking damage in order to enter earlier.
And as with every level, I tried to score as many points as possible and make the TAS fun. For example, the image below is a frame I like.
As I just explained, I need to get the Red Lui power-up in 6-3 to go faster. And to do that, I first need to become Big Mario. In the moment shown in the image below, I normally need to enter the pipe shown in the image to exit the pipe maze. I took the mushroom from the mushroom block on top of the pipe from the right side. In my previous TAS, I was taking it from the left side, but I realized that by doing it from the right instead of the left, I could save 2 frames.
After that, there is nothing particularly noteworthy about this level.

6-3

There's nothing particularly noteworthy at this level; I just grab the Red Lui power-up at the start and run through the level.

6-4

At this level, there is usually a platform that moves quickly at the start. We can skip this starting part by jumping over it without waiting. Other than that, there's nothing eye-catching.

7-1

I also manipulated the camera at the beginning of this level. I made the Pirana Plant spawn later, so I can barely jump over the pipe in the picture below.
Other than that, there is nothing else noteworthy about it.

7-2

There is nothing else noteworthy about it too.

7-3

I hate this level. It took me a long time to TAS this level. But the only thing to say is that this level is nothing more than a boring underwater level.

7-4

At this level, at the moment shown in the image below, I go to the game settings and disable the X-Scroll setting to adjust the camera. I'll explain why in a moment.
The reason is that the Bullet Launchers in the two images below fired earlier, saving me time. In the first one, since it fired earlier, I didn't have to waste time waiting to avoid taking damage. In the second image, since it fired earlier, I stomped on the Bullet Bill and jumped over it, crossing the wall faster.
In the image below, unlike normal gameplay, I'm jumping from the edge of this pipe to the other pipe. Normally, the intended path is to enter the pipe, pass through the water section, exit the other pipe, and fight Bowser. And as you might expect, jumping from the side of the pipe is much faster.
And yes, this is the last normal Bowser Fight. The next and final Bowser Fight will be on 8-4.

8-1

At this level, I'm reactivating X-Scroll to skip the Thwomps section at the end..
As in Warps TAS, in this section, you can jump from the platform under the Thwomps without waiting for the moving stone platform, allowing you to pass the level much faster. The real novelty here is that I can stomp Bullet Bill without having to slow down at all. Normally, I would have had to wait for the Bullet Bill. But thanks to Luigi's perfect sub-pixel positioning, the Bullet Launcher fires as early as possible.
After that, I complete the level by going from the top of the wall at the end of the level to the top of the screen.

8-2

With precise movements, I manage to finish the level one frame earlier than before. This level can be completed faster by running to the level finish line, as I explained in 4-2. And thanks to this, for the first time, this Auto-Scroll level finishes with a level timer of 91 remaining.

8-3

This big jump you see in the picture above follows the same logic I explained in 5-2.
(I have more to write here.)

8-4

There is no time gain at this level compared to the current Warps TAS. As with every level, I tried to make the TAS as fun as possible at this level too.
Note: I have a bit more to write. I'm just too tired right now.

eien86: Claiming for judging.


TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 16800
Location: 127.0.0.1
Post subject: Encoding
r3gamerz
He/Him
Encoder
Location: Somewhere in Asia
Joined: 3/7/2025
Posts: 49
Location: Somewhere in Asia
Claiming to encode this submission.
Never stop innovating.

1764128582