Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Unfortunately it's not possible to use 2 teleports cuz 136 gets set while moving to warp and because Luigi is moving at 1024 speed instead of 768 that means we can't reach the higher indexes to warp to at all. I tried doing an extra warp but had no success.
The follow path is actually set past the loading zone, but we can't warp exactly to its location because on the way to it we get blocked by 2 walls. It is possible to warp through 1 wall if you do an exact warp (or in other words, warp to exactly 8000 units ahead), but the issue is that the second wall also blocks the teleport. I don't know of any method to warp through multiple walls at once besides exact warps.
I think the only way we could do it is if we neglect the 4f timesave in the Cruiser, or if we somehow find more timesaves in other rooms. I will try testing some ideas one more time to see if I can actually come up with anything useful.
Edit: None of my ideas came to fruition so I don't know of any other possible ways we could save more time. However, I did try removing the 4f timesave but leave the 12f timesave in the spiked room and conveniently the RNG checks out perfectly fine. You can try experimenting with that improvement and see how many frames you can save without RNG changing. Also before submitting, I would recommend adding some more music syncs, maybe in the Hoohoo Village section of the run or in the rooms following the spiked room in Stardust.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
I don't have much free time this week to TAS more but I did manage to squeeze 1 more frame in the last room of Koopa Cruiser. I also tried saving more time in room 1 of Stardust by doing Firedash speed glitch. Based on my attempts I was only able to get 768 speed for the bros, which ended up being 9f slower than the standard room 1 with the ledge boosts, however if you somehow manage to get 1024 speed then it will most likely be faster.
Edit: I spent around an hour and came up with a total timesave of 35 frames over your previous input file. Didn't time exactly how many frames I saved in each room but I did save over 10f in Stardust room 1, a couple of frames in the spiked room, and also some frames in the second to last room of the Hoohoo Mountain climb on the way back + the 1f timesave in the last room of Koopa Cruiser that I mentioned above. I probably forgot some other places in which I saved time though.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Did a bit more TASing today, managed to save 72f in the first room of Hoohoo Mountain (not the first room of Hoohoo Village) by using a 240 warp for which I conveniently set the follow path to be very close to the exit. I also set 248 and 256 to use them to warp in the following 2 rooms as well, although I didn't get to test if they actually work or not. Here is the input file.
Edit: I saved a total of 131f over your TAS after improving the other teleports as well. The only place that might still have potential for timesave is probably the spiked room if you can get that teleport to work because I couldn't figure out how to set the follow path accordingly to make it work. Past that I don't really have ideas for any more timesaves, besides somehow saving time during the setup for the corrupted savegame but I don't really understand how to do that even with your lua script.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
I did document some of it here if you want to take a look at it.
You do need to swap places in order to not overwrite the follow path as you're walking, which would make sense. But you need to setup the follow path very precisely and you need to warp exactly 8000 units away if you want to pass through a wall, which is usually pretty hard to achieve. I will look more into it when I have the time.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Actually I kind of lied, I was 10 frames ahead going into the last room of Cruiser, I tried some different inputs but I somehow lost time over your first input file (was 7f ahead after that room) so I think the best idea would be for you to use the 3 frame improvement you managed to find. Also I think I saved 1f in the first room of Stardust by getting better ledge boosts (you got -1152 for the first frame of both ledge boosts, I spent 1 more frame walking diagonally and I managed to get -1280 instead). That is also where I stopped TASing as I am pretty busy this week.
Regarding some of my ideas for teleports, the one in the spiked room in Stardust will not work because we need an exact warp to teleport through walls and the follow path for that can't be set in any other room before that. The teleports in Cruiser also don't work because of the same issues. I have some ideas for the teleports in Hoohoo Mountain though.
Here is the input file that I TAS'd on if you have time to try squeeze more frames.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Did some TASing today. I managed to be 10 frames ahead of your input file going into the Fawful fight, through some optimizations for camera scrolling and better mashing during textboxes. Unfortunately RNG did not change for the Toad in the first room of Toad Town or for the baddie in the last room of Koopa Cruiser to NPC boost off of them.
I will try to see if we can incorporate even more teleports than in your encode with Firedash glitch. From my testing, Firedash glitch works exactly the same as hat teleportation except the setup is a lot faster, as in you don't have to cycle through any of these glitched commands to begin glitched movement. That opens the door to many opportunities for teleports especially in Hoohoo Mountain. The only thing I am curious about is if it's possible to trigger the end credits earlier using the Save block.
Also regarding ACE and our research, RETIRE coded a bruteforcing script and I left it running an entire night a few months ago but even after 2 million attempts it didn't find a single combination of inputs that would yield a credits warp. From our research, the memory addresses that we have to modify are stored in BIOS which means we can't really change them during gameplay.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
I did not expect to come back to this game and seeing this on the forums. I did read through your posts but I didn't understand much honestly lol. I would be more than happy to help with optimizing the first few rooms though if I can better understand how all of this works.
Edit: I noticed a few potential timesaves over your input file after watching the run a few times. Firstly, you can save a few frames by reducing camera scrolling time before triggering the Bowser airship cutscene by jumping before the cutscene begins. It might also be possible to set up the follow path to warp to the end of the 3rd room in Koopa Cruiser with the use of Firedash glitch, maybe that could also be done in the first room and potentially the spiked room in Stardust as well.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Hello, I would like to request for the site moderators to replace the file in the submission with this file as it features some more improvements over the submitted input file. Thanks.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Unfortunately, RETIRE made a bruteforce script and after over 1 million attempts from each of us we weren't able to get the game to crash even once. We need an accurate debugger and someone that knows how the GBA functions inside and out if we want to make the credits warp work. But in theory it is possible to get.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Here are some more IL TASes that I did over the last week or so. The plan is to have a TAS for every single main course since the game is still not beatable on Ruffle, however updates have been made to it which make it look almost exactly the same as it does on Flash Player. I might do the secret stages as well but I'm not sure about Tidal isles and Red Shine since they have big shine requirements that can't be skipped.
Link to videoLink to videoLink to videoLink to videoLink to videoLink to video
Also a new Any% TAS has been published by Tomothy which you can check out below.
Link to video
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Hello there, I am a TASer that mostly makes Superstar Saga TASes, but I always wanted to make a TAS of SM63 as this was the game that introduced me to the speedrunning community in the first place. Unfortunately, due to the lack of TAS tools existing for Flash games, I wasn't able to make one, but now that Ruffle was released which made it possible to use libTAS with the game, my interest picked up again for trying to TAS it. At the moment I am working on a Game Resources page for the game so if anyone wants to help me out with making it it would be much appreciated. Here are some of the TASes that I made recently using Ruffle, with help from fellow users Tomothy and Vexxter:
Link to videoLink to video
There's also a Hover FLUDD Only TAS made by Tomothy, which you can check out below:
Link to video
TASing this game is almost becoming a reality now, me and the other 2 people are almost ready to start making full game TASes for both 100% and No Major Skips, the only thing we have to wait on is an update to Ruffle that makes it possible to complete the game, as right now the game softlocks in True Bowser if you try to play it.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
This is an update to the post I made yesterday, because we have made a lot of progress during the last 24 hours.
when Luigi breaks out of the barrel (or when Mario hops off the barrel), as soon as both bros are on the ground, the game always sets the byte at $2336 to 0A which corresponds to the star animation being played. This caused the progress to stop dead in its tracks, since we realized this value is most likely not useful for us if we want to make credits warp a reality in real time.
In the previous post I mentioned that trying to modify $2336 in IWRAM was established to not actually be useful for pulling it off legit, however we discovered that $2336 is not the only value that handles what scripts are being run or what events are being triggered. The memory address $2337 handles which minigame you are currently into; when you are not inside of a minigame, the game simply sets this byte to FF, and when you are inside the game changes this byte to one of these values, depending on which minigame you are in.
Byte value
Minigame entered
00
Minecart minigame (Hoohoo Mountain)
01
Geno minigame (Little Fungitown)
02
Border jump (Stardust Fields)
03
Barrel minigame (Cruise Ship)
04
Winkle minigame (Chucklehuck Woods)
05+
All entities disappear, game softlocks
This value is also not very useful for us since it stays as FF while doing the crash, but it was something to work with. What is useful to us, however, is that there is another address that changes what script you trigger, located at $2339. This byte is responsible for the shop menu and which one you open (the menu for buying items, the menu for selling items, and the menu for buying clothing gear & badges). It is usually set to 02 for the EU version and 00 for the US version, and after you talk to a shop NPC the game sets it to one of these values, depending on which shop you enter and if you want to buy/sell.
Byte value
Shop menu entered
01
Item shop (selling menu)
03
Item shop (buying menu)
07
Badge shop (Beanbean Town)
0F
Badge shop (Little Fungitown)
One reason why this byte is useful for us is that we can actually enter all of these menus from room 4 in Teehee Valley, but the main reason that makes it especially useful is because of this line inside of the game's code, which looks like this after being simplified:
03002339 = 03002339 & 0xee;
The game takes the value at $2339 and ands it with 0xEE, and this process is looped however many times you close out of a script. Then, the game runs this code with the result:
The first check is for the shop menu script, whether or not it's the script that is active. After this check is done it sets bit 0 if it is active, then it ands it with 0xEE once you close out of the shop and then bit 0 is removed. The second check is for whether or not this script is active, and if it is, it sets bit 4.
The third check is for whether or not the script for the credits sequence is active. If it is, it sets bit 5. Past 0x20, the majority of values will yield us a credits warp, and since bit 0 is always removed no matter what script you close, this means that the conditions for a credits warp to happen would be to set any value that has bit 5 set but not bit 4. So now, all we have left to do is figure out which process is writing to here.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
So, it was just a normal day yesterday when I suddenly got the idea to try and mess around in Peach escort room 4, the infamous room where Mugg got the credits warp back in 2014 that was deemed impossible to replicate outside of the VBA emulator. But back in 2022, RETIRE figured out that it's possible to do it on mGBA, although it requires memory editing to change the byte at $2336 in IWRAM to 10 in order for the game to load the credits sequence. Up until now, based on the attempts that were made to pull off the credits warp legit, the result always ended up being one of the scripts being played, and the script loaded stayed mostly consistent every time it was loaded, so it was pretty much assumed that this game only had Arbitrary Script Execution to work with. Below is a list with all the scripts that could be played by changing the byte at $2336.
Byte value
Outcome
05
Mario turns into his form when he ingests water
07
Warp to room ??? (room ID: 128)
08
Warp to room ??? (room ID: 128)
09
Start minecart minigame
0A
Star amimation from when entering a battle (softlocks the game)
0B
Open suitcase menu
0C
Open save menu
0D
Open map (area selection screen)
0E
Open shop selling items menu
0F
Trigger death warp (respawn screen)
10
Trigger credits sequence
11
Warp to test room (room ID: 0, unused)
12+
No effect, game simply softlocks
The byte at $2416 is responsible if the game crashes when Luigi breaks out or hops off a barrel. Throughout the game, this byte is set to 0 most of the time but a few rooms, like room 4 of Peach escort or Chuckroot's room, change it to 22 instead if Luigi is in a barrel which triggers the crash to happen. However, when Luigi breaks out of the barrel (or when Mario hops off the barrel), as soon as both bros are on the ground, the game always sets the byte at $2336 to 0A which corresponds to the star animation being played. This caused the progress to stop dead in its tracks, since we realised this value is most likely not useful for us if we want to make credits warp a reality in real time.
It was already established for years that the bros' position in the room and what action command Mario had in the back could lead to different scripts being played, but yesterday I decided that I wanted to try to trigger as many of these scripts as I could and make input files for them in order to maybe analyze them and potentially figure out why they happen when they happen. I was able to trigger some of these events, as well as some other events that couldn't be achieved by editing $2336. But probably the most interesting result that I got during my testing session was this:
This is the shop selling menu, a script that is by no means a rare script to trigger, in fact I managed to trigger it dozens of times before. However, this instance of the script was special because it had this glitched badge at the bottom (which I was able to actually sell and not softlock the game), something which never appeared in any of my other instances of triggering the shop menu. I am not sure why this badge was generated but my assumption is that it had to have read some garbage parameters from somewhere when it was loading the items, which got my hopes up a bit that actual Arbitrary Code Execution might be possible to do in this game. I have yet to figure out how it happened but this might a good step in the path to discovering ACE.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
After making the submission I realised I sent the .bk2 file with the outdated rerecord count, so if any staff could replace it with this file it would be much appreciated. Hopefully you guys will enjoy the run.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Yeah that's basically what happens, the game has a list of 256 action command IDs that are stored in memory for each bro.
At address $2441 in IWRAM the game stores Luigi's action command when in front. $2443 isn't an address that stores an action command, it is simply an address that tells the game that Luigi is or isn't inside of a barrel.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
I am proud to present to you my newest TAS of this game: the All Bosses TAS.
Reveal will be once again on my YouTube channel and this time I will try my best to also release the commentary for it. Don't know the date though.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
So a few weeks ago Sjorec found out that the PAL version doesn't lag as much when using Void Barrel, and most importantly (for RTA at least) it also lets you change Mario's action command so you can hammer out of the Void Barrel. It's estimated to save about 10 seconds in Any% for RTA, and perhaps it could be slightly faster than the English version for TAS as well, but I'm wondering if there's anything else that's different in the PAL version.
Link to video
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)
Editor, Experienced Forum User, Published Author, Player
(190)
Joined: 3/7/2020
Posts: 61
Location: Mars
Doomsday31415 wrote:
There's no way to use this to ACE to the credits?
To put it simply, we don't know. We have been able to pull off ACE to warp ourselves into cutscenes, unenterable battles, etc. but we have no idea how or even if it's possible to warp to the end credits.
However, I'm talking about English version here, because on the Japanese version of the game, MUGG was able to warp to the credits about 7 years ago, but unfortunately this story has a tragic ending because we are almost certain him warping there was only due to the fact that he had been using an inaccurate emulator which didn't emulate the crash correctly and instead decided to send him to the credits. Ever since that one instance, MUGG nor anyone else in the community has been able to replicate the credits warp on mGBA or BizHawk.
It's a story that hasn't fully been written yet unfortunately.
• MLSS Any% TAS out! (link)
• MLSS All Bosses TAS out! (link)
• MLSS Glitchless TAS out! (link)