Submission Text Full Submission Page

Movie information

  • This movie was made with the --no-gui argument
  • MD5 Hash: 1f8881dbfc2d13e3f64c19169b2e2614
  • This movie aims to minimize the in-game time
  • You can download the game here
  • Commentary in the form of Youtube subtitles is available

About this game and movie

Snailiad is a Flash metroidvania developed by Auriplane. It follows the story of Snaily Snail, who's on a quest to save his friend Moon Snail and turn him into the legendary Sun Snail.
This movie aims to get 100% completion, which involves getting every item and going to the Shrine of Iris to save Moon Snail. An extra rules is that I can't collect items in "parallel universes", which are accessible by entering one of the map's borders. This run achieves that goal roughly 6 minutes and 15 seconds faster than the RTA WR by Dimuslv.

Timing

I decided to time this run using the in-game timer, so the final time is actually 3 minutes, 14 seconds and 380 milliseconds. I made this decision because that's how the time in RTA runs is measured, and not because I started the TAS by following the RTA route with some changes, but then realized that it would have been faster to end the run on the Moon Snail boss fight, but by the time I realized this, it was too late to make the changes, so I ended up just categorizing this as an in-game time run because, otherwise, the run category would be "All endings, 100% completion, NPU", which would look really dumb and really accentuate this blunder. If you're wondering, the in-game timer doesn't count during the first Moon Snail cutscene, and that's why it's faster when using IGT to sit through the cutscene.

Special thanks

Before continuing, I would like to thank Dimuslv for helping a ton with this TAS. They helped by making a version of the game that displayed Snaily's coordinates, they explained glitches that were very important to the run and also suggested many ideas for how to do certain rooms. I fully believe that their contributions warrant a co-authorship.

Unique game version

This movie requires a specific version of the game that caps the framerate at 60fps. This is required due to the fact that the base game runs internally at 120fps, but when playing casually, it'll never run faster than 60fps. Running the base game at 60fps caused some glitches to become impossible, and running it at 120fps caused desync issues, so that's why this mod is needed, it's the most accurate way of TASing this game. The mod was developed by Dimuslv, and is available on the link I provided up there on the "Movie information" section.

Glitches

Ceiling Zips
When Snaily's shell is in contact with a ceiling (or floor if you reverse gravity), if you jump every frame by alternating the jump buttons and move in a direction, you'll start moving rapidly in the opposite direction. By using this trick, not only can I move extremely fast, but I can also clip through walls, which allows for many routing opportunities. This trick doesn't work when your gravity's sideways, for some reason. Also, when you're performing this trick with reversed gravity, you can only clip through walls if said wall is just a single block tall, for some unknown reason.
Blip/Blop
If you jump while holding up and right in a top left corner, you will slightly clip upwards, not enough to actually clip through it, but just enough to move the camera upwards in the room where Gravity's located, saving a little bit of time.
Wall Jumping
By entering a wall while crouching and moving, you can enter the wall. You can then jump again, which saves time if you have to climb a wall quickly and don't have Gravity Snail yet. It's only used once in the run.
Rightclipping
By moving right while crouching with normal gravity, you'll enter the wall, which allows you to move upwards or downwards inside said wall, which gets a lot of use in the run. It is important to mention that you need to have Gravity Snail in order to perform this glitch.
Normal Rightclipping
This variant of Rightclipping doesn't require Gravity Snail to be performed, but it's way more precise. I only perform it once to enter the room Gravity Snail is located in.
Border Blocks
For almost every room in the game, the borders that you're not supposed to cross are usually blocked by blocks that instantly kill you upon contact. This can be avoided by being in hitstun when crossing these blocks, seeing as you don't get damaged and therefore you don't get instantly killed.
Double Jumping
This is a really weird glitch I found. Basically, if you wiggle back and forth in the air by switching opposite gravities every frame, you might be able to jump in the air. This may seem useless (and it kinda is), but it allows me to almost instantly gain a lot of momentum when I switch gravity in the air, which is useful for optimization. I believe this happens due to the fact that Snaily can jump when his velocity is 0 units per frame on the gravity's direction, so, reducing his speed by constantly changing the gravity might cause that to happen and allow me to perform a jump.

Items

I'm gonna talk about the items of this game in the order I collect them in the run (kinda).
Heart Containers
These items give you an extra heart of health, along with fully healing you. They kind of work like the energy tanks from Metroid.
Helix Fragments
These items have no functional use, aside from unlocking the secret ending if you collect all of them.
High jump
This item allows me to jump higher, not much besides that.
Rainbow Wave
Despite being the first one to be collected, this is the strongest of the 3 available projectiles in the game. This projectile has this property where it start out slow, but gets faster as it travels. Obtaining this item allows me to open blue, pink and orange doors.
Rapid Fire
This item allows me to shoot projectiles more quickly, which is decently useful for the run
Gravity Snail
This is, quite possibly, the most useful item in the whole game. Not only does it allow me to access previously inaccessible areas, but it also speeds up Snaily's movement by a LOT. It allows me to zip on the ground, speed up falls in both directions by jumping and move sideways more quickly when I can't zip. I basically stop walking normally after getting this item.
Shell Shield
If you've ever played this game casually before, you'd know that it's one of the least useful items in the game. If you're wondering, it just makes it so that you don't take damage while crouching. However, in this run, it is a very useful item, due to the fact that I can take damage on the borders without dying, which allows for many clips that would be impossible to perform otherwise. One problem is that the mechanics of border-crouching, as I call it, can be pretty finicky. If the crouch you're trying to perform is on the left or upwards, it's pretty simple and possible in almost every scenario, but, if the crouch in on the right or downwards, you need to be in the air (as in, not touching the "ground"), so if the crouch is far away from a jumpable position, it's impossible to perform.
Boomerang
This is the second projectile I get. It is weaker than the Rainbow Wave, but one advantage it has over it is that it moves faster in the beginning, which is useful if you have to, for example, destroy blocks that are directly in front of you, which is something the Rainbow Wave struggles at.
Devastator
This item makes my projectiles have bigger hitboxes, on top of dealing more damage. The increased damage output is very useful in the fight against Moon Snail. This item allows me to open green doors.
Full Metal Snail
This item makes me take less damage, which is very useful for casual play, but pretty much useless in this run. The only time where taking less damage would've been useful was before getting Gravity Snail, after that I never drop below 3 hearts so I was never in any danger related to health.
Pea Shooter
As it turns out, the first item you're supposed to collect is one of the last things to be collected. This projectile, while useless for dealing damage (at this point in the run), is actually pretty useful for block destruction, considering the fact that it's the fastest projectile in terms of movement. Unfortunately, it gets little use in the run.

Suggested Screenshot

Frame 7245


TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 16544
Location: 127.0.0.1
Encoder, Reviewer, Skilled player (1558)
🇲🇦 Morocco
Joined: 11/18/2011
Posts: 436
Location: 🇲🇦 Morocco
This is what TAS is about! Definitely yes vote! I think this may take the star of Go Go Gummo, or it should be starred as well to become the second Flash Star movie.
I still learn more about English. https://www.youtube.com/user/McBobX100
I wrote:
Working is the best way to achieve goals in speedruning. Hardworking is a pain.
juef
He/Him
Player (159)
Location: Québec, Canada
Joined: 1/29/2007
Posts: 210
Location: Québec, Canada
Absolutely mindblowing! Well done. I hope some sort of glitchless run happens at some point because there's so much more to this game than what we can (barely) see and hear in this incredible TAS.
🇺🇸 United States
Joined: 5/5/2025
Posts: 53
Location: 🇺🇸 United States
Funny how a game about a snail is faster than a game about a hedgehog. Astounding work, I'd even go so far as to call it Flash TAS of 2025 thus far! OBVIOUS yes vote!
SMB2U is the best NES Mario game.
Editor, Skilled player (1520)
Joined: 3/31/2010
Posts: 2146
I like how the walls were basically completely optional to you. Yes vote.
Editor, Experienced player (536)
Joined: 11/8/2010
Posts: 4106
Great, fast TAS! Star material for sure!
CoolHandMike
He/Him
Editor, Judge, Skilled player (1195)
Joined: 3/9/2019
Posts: 901
I liked how all over the place this was. I noticed at one point around 1:08 that you were going up and down along the same wall without going anywhere. What was going on there? Also this is said to be 100%, but why in the ending does it write out 74%?
discord: CoolHandMike#0352
Editor, Skilled player (1171)
Location: Somewhere on planet earth probably
Joined: 1/7/2023
Posts: 98
Location: Somewhere on planet earth probably
CoolHandMike wrote:
I noticed at one point around 1:08 that you were going up and down along the same wall without going anywhere. What was going on there?
I just performed a rightclip and kept moving back and forth, nothing too complicated
CoolHandMike wrote:
Also this is said to be 100%, but why in the ending does it write out 74%?
That's the first ending screen, there are two. Keep watching!
"He who is tired of TASing is tired of life" Something Homer Simpson definitely said
CoolHandMike
He/Him
Editor, Judge, Skilled player (1195)
Joined: 3/9/2019
Posts: 901
Mikewillplays wrote:
CoolHandMike wrote:
I noticed at one point around 1:08 that you were going up and down along the same wall without going anywhere. What was going on there?
I just performed a rightclip and kept moving back and forth, nothing too complicated
CoolHandMike wrote:
Also this is said to be 100%, but why in the ending does it write out 74%?
That's the first ending screen, there are two. Keep watching!
Asking about that screen since you stay there for a couple seconds moving up and down. Wouldn't it be better to move onto the next screen? Interesting that there are two ending screens, I do see the 100% later on. But why does the first one display 74%? Also this is a modded version of the game so this might need to be treated as a rom hack.
discord: CoolHandMike#0352
Editor, Skilled player (1171)
Location: Somewhere on planet earth probably
Joined: 1/7/2023
Posts: 98
Location: Somewhere on planet earth probably
Asking about that screen since you stay there for a couple seconds moving up and down. Wouldn't it be better to move onto the next screen?
I couldn't. I needed to take damage from the enemy.
Interesting that there are two ending screens, I do see the 100% later on. But why does the first one display 74%?
Because I didn't have everything collected at that point.
"He who is tired of TASing is tired of life" Something Homer Simpson definitely said
Patashu
He/Him
Joined: 10/2/2005
Posts: 4082
Flash and Speedy TAS of the year lol
Puzzle gamedev https://patashu.itch.io Famitracker musician https://soundcloud.com/patashu Programmer, DDR grinder, enjoys the occasional puzzle game/shmup.
Hopper262
He/They
Joined: 3/22/2011
Posts: 56
Terrific TAS for a terrific game. When playing casually, Gravity Snail is really rewarding to use without stopping, like keeping your momentum in a Sonic game, and it's great to see that pushed to ridiculous limits here. To explain the endings a bit more, for those who haven't played it: defeating Moon Snail triggers the first ending, which you have to do before the 100% ending is unlocked, so there's no in-game-time advantage to collecting all items before the fight. Since the submission text says the route is only optimal for IGT, I assume optimizing for real time would involve getting all (or most) items before the fight, and then reaching the Shrine before the first fade-to-credits.
Site Admin, Skilled player (1245)
Joined: 4/17/2010
Posts: 11744
Running the base game at 60fps caused some glitches to become impossible, and running it at 120fps caused desync issues
You mean forcing 60fps in libtas? And at 120fps in libtas + ruffle the movie often desyncs even if it was tased that way?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Skilled player (1171)
Location: Somewhere on planet earth probably
Joined: 1/7/2023
Posts: 98
Location: Somewhere on planet earth probably
feos wrote:
Running the base game at 60fps caused some glitches to become impossible, and running it at 120fps caused desync issues
You mean forcing 60fps in libtas? And at 120fps in libtas + ruffle the movie often desyncs even if it was tased that way?
Basically: -Running the base game at 60fps causes unintended behavior -Running the base game at 120fps causes desyncs The way I can fix this is by using a mod that forces the game to run at 60fps so that, when running the game in libTAS at 60fps, there is no unintended behavior nor desyncs. The mod is available for download in the submission text
"He who is tired of TASing is tired of life" Something Homer Simpson definitely said
Site Admin, Skilled player (1245)
Joined: 4/17/2010
Posts: 11744
That doesn't answer my questions tho. I'm asking how exactly you're forcing framerates on the unmodified version.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Skilled player (1171)
Location: Somewhere on planet earth probably
Joined: 1/7/2023
Posts: 98
Location: Somewhere on planet earth probably
feos wrote:
That doesn't answer my questions tho. I'm asking how exactly you're forcing framerates on the unmodified version.
libTAS can only run a game if a framerate is set
"He who is tired of TASing is tired of life" Something Homer Simpson definitely said
p0008874
He/Him
Player (79)
Joined: 3/2/2022
Posts: 38
You know the ruffle can set --frame-rate argument? I thought everybody knew!
Site Admin, Skilled player (1245)
Joined: 4/17/2010
Posts: 11744
Mikewillplays wrote:
libTAS can only run a game if a framerate is set
To accept a movie using a modified game we need to know what exactly was modified, so we can reproduce it on our end without depending on custom uploads and without it being a black box. --frame-rate is worth a test too.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Editor, Skilled player (1171)
Location: Somewhere on planet earth probably
Joined: 1/7/2023
Posts: 98
Location: Somewhere on planet earth probably
feos wrote:
Mikewillplays wrote:
libTAS can only run a game if a framerate is set
To accept a movie using a modified game we need to know what exactly was modified, so we can reproduce it on our end without depending on custom uploads and without it being a black box.
According to Dimuslv, all they did was change a piece of code on the "main" script present in the <default package>. More specifically, they changed the value on line 32 (or 31) that says
FlxG.framerate = 120;
from 120 to 60
"He who is tired of TASing is tired of life" Something Homer Simpson definitely said
Editor, Experienced player (535)
Joined: 2/11/2018
Posts: 269
This game is made with Flixel engine. It has a framerate setting which is different to Flash's frame rate. https://photonstorm.com/flash-game-dev-tips/flash-game-dev-tip-10-flixel-2-5-internal-structure-and-performance-tips
YoshiRulz
Any
Editor, Emulator Coder
Location: 🇦🇺 Sydney, Australia
Joined: 8/30/2020
Posts: 164
Location: 🇦🇺 Sydney, Australia
Heck yeah! I enjoyed this game and still listen to the soundtrack sometimes, can't wait to see how you've broken it. edit: Yep, unrecognisable. __@ï
I contribute to BizHawk as Linux/cross-platform lead, testing and automation lead, and UI designer. This year, I'm experimenting with streaming BizHawk development on Twitch. nope Links to find me elsewhere and to some of my side projects are on my personal site. I will respond on Discord faster than to PMs on this site.
Hey look buddy, I'm an engineer. That means I solve problems. Not problems like "What is software," because that would fall within the purview of your conundrums of philosophy. I solve practical problems. For instance, how am I gonna stop some high-wattage thread-ripping monster of a CPU dead in its tracks? The answer: use code. And if that don't work? Use more code.

1758140039