The Sonic series is one of my most favourite to TAS and I have long considered contributing something from it to TASvideos. A few months ago I decided to make a run of Sonic Advance that did not use the ultra-spindash glitch because I felt that the full potential of the game was not realised in the current run. However, as I learned more about the game I started to hypothesise (to myself) about tricks and routes that could improve the current run and when these ideas proved to be correct I ultimately decided to improve it. This run of Sonic Advance is a 33.13 second (in-game) improvement to the currently published run by nitsuja. I'd like to thank nitsuja for his fantastic run and for making the camhack emulator. I hope to get back to the less glitchy run at some point.
LevelnitsujameImprovementNotes
Neo Green Hill 10:12:850:12:670:00:18Optimised camera scrolling.
Neo Green Hill 20:30:050:29:150:00:90Better route avoided camera stopping.
Secret Base 10:26:370:19:030:07:34New route through top half of the level.
Secret Base 20:37:100:32:020:05:08New zip to skip most of level.
Casino Paradise 10:15:520:13:950:01:57Slightly new route in the first half.
Casino Paradise 20:38:520:34:250:04:27Completely different route.
Ice Mountain 10:12:320:10:430:01:89Glitched through wall to avoid spring.
Ice Mountain 20:44:620:42:370:02:25Slightly different route allowed better glitching into boss chamber.
Angel Island 10:14:720:13:580:01:14Better ultra-spindash into wall.
Angel Island 20:37:870:36:530:01:34Slightly different route in the first half.
Egg Rocket0:53:250:52:710:00:54Precision.
Cosmic Angel0:42:780:35:680:07:10Completely different route.
X-Zone0:43:200:43:130:00:07Precision.
Total6:49.176:16:040:33:13Whew...
Important Note: This run was made using nitsuja's camhack emulator and the run does not make much sense without it. You can find it on Raiscan's site [dead link removed]. It plays back very slowly if you are watching straight out of the emulator so, hopefully, perhaps one of our wonderful publishers could make an encode using this too?

In Depth

Tricks and Optimisation

Spindashing: By holding down + A Sonic can perform a spindash. This spindash can be 'revved' by pressing A multiple times. In this game you have anything from a 1 rev dash to an 11 rev dash (and sometimes a 12 rev). The 11 rev and 12 rev are glitched (to put things in perspective the Xvelocity given by dashes 1 through 10 is in the 3000s, but 11 and 12 gives 16000s). Let's refer to those as ultra-spindashes. The 12 rev is slightly faster than the 11 rev (discovering this is what inspired me to do this), but it is mostly useless because it takes an extra 2 frames to use by which time the 11 rev will have covered the required distance. If a glitched spindash is not desired a 2 rev dash + ground dashing is the fastest method.
Ground Dashing: I don't think that this was intended by the programmers. It is a method of jump dashing but on the ground. After a spindash one can press -> for a frame followed by A to cause Sonic to come out of his rolling animation and into his running one. These can be chained togther to build huge speed (see Neo Green Hill 1). This trick does not always work and one must alternate directional presses before dashing or hitting the ground in order for it to work. It usually takes 3-4 frames to 'manipulate'.
Jump Dashing: When one presses a direction twice in the air Sonic will dash in that direction. Sometimes this provides the extra speed required to glitch through a wall, or sometimes it stops the glitch occuring. It is also good for optimally grabbing platforms. I found an interesting glitch (used in CP1) where by dashing forwards in the air by pressing opposite directions at just the right time before Sonic hits a wall he will be zipped downwards.
Somersault: This run uses far fewer somersaults than its predecessor mainly because in many situations it is faster to come to a natural halt, or to deliberately clip a wall to bring Sonic's speed down to 0. It is used mostly to bring Sonic to a halt when he is moving at glitch speed or to bring him to a halt on a slope which is slower if he is moving quickly. Another way I found to avoid this is if Sonic hits the edge of a tile at high speed from an angle he stops instantly.
Passing through Walls: Despite what it looks like I cannot glitch through anything I want as there are certain rules. If you are entering a wall directly from a horizontal surface you will continue horizontally through the wall. If you enter from the air you will drop vertically through the wall until you hit a certain point from which you will begin to move horizontally. Where this point is depends on your positioning when you enter the wall. The tiles of different levels allow for different things. The green walls in Casino Paradise act like boxes which must be glitched into and then glitched out of. This is slow. The black pillar-like tiles in Angel Island behave in a similar way. When offscreen, enemies, springs, monitors etc. are ineffective and so Sonic sometimes needs to wait for these things in order to proceed. Certain walls can be passed through entirely by skidding before you hit them.
Graphic Layer Glitch: If Sonic is on a surface that connects with an overlying graphical layer and reaches ultra-speed he can get stuck on this layer. If other level objects are on the other layer Sonic will pass through them. This is the glitch used at the end of Egg Rocket. I was able to initiate this glitch in both AI 1 and 2 but couldn't reach the goal before falling through the floor.

Level Analysis

Neo Green Hill Zone 1: The trick to this level is to get offscreen as fast as possible to make the camera move as one needs it for the goal to load. I found that a 2 rev spindash + ground dashing achieved this faster than ultra-spindashing did. The rest of the level went well, although it doesn't really matter. I found a nice little glitch where I hit the bouncing pads at the very edge offscreen causing me to zip underneath. This meant that I didn't have to slow down to make the gap.
Neo Green Hill Zone 2: In the previous run Sonic had to double back on the platform with the shield to make it to the upper level. I found a way to achieve this by hitting the left side of the platform with the right speed. This meant that the camera didn't catch Sonic and so I only needed to worry about getting offscreen as fast as possible. I didn't use 2 rev + GD because I couldn't build up enough speed by the time I reached the loop. If you wonder why I take the upper route it is because the lower one hasn't loaded yet. I actually found a way to take this route and reached the boss screen in 4 seconds (!), but it required starting the level with a 12 rev rather than an 11 and so by the time the boss loaded I was 2 frames behind.
Secret Base Zone 1: I began by going down the zip line rather than glitching into the wall as it was slightly faster. I had to hit the zip line in a very specific way so that I could use a B roll just before leaving it. This provided an optimal ultra-spindash position. I varied my position on entering the wall so that I was ejected at a slightly different point. At this position Sonic would leave his rolling animation and enter his running animation as soon as he hit the platform. This is essential as the skidding glitch I used required Sonic to skid from a specific position.
Secret Base Zone 2: I took the lower route at the start of the level which I found to be faster. The glitch I used I firstly gave up as impossible, but then I later accidentally discovered it while going back to make some optimisations. I had to manipulate Sonic's position so he would start to zip at the right height; not too high or he is obstructed by the spring, not too low or he can't reach the boss screen. Just right.
Casino Paradise Zone 1: I found a slightly different route at the start that avoided having to bounce off of stuff. I skidded so that I could regain control of Sonic when he hit the wall and so I could move into the best spindash position quickly.
Casino Paradise Zone 2: I have a slightly slower start so that I can ultra-spindash across the top of the level. I have to delay slightly for the teleporter to load. I then use ultra-speed from the slope to pass into the boss chamber. I use the somersault to get out of the wall because otherwise he enters a weird walking animation that costs time.
Ice Mountain Zone 1: The first half of this level is the same, but I noticed that using the spring costs time so I set out to find a way to avoid it. This one was all about geometry; I had to use the slope to glitch into the sloped ramp tile and then from there I could glitch through the wall. This is another level where I had to slow down for the camera to catch me.
Ice Mountain Zone 2: I gain more height to avoid stopping for the loop. This put me in a position much higher than I needed to be. Thankfully there was a sloped gradient here and I was able to use it to glitch diagonally into the boss chamber.
Angel Island Zone 1: Not a huge amount has changed here. I began with an ultra-spindash and I was able to alter my position so that I did not get stuck in the ramp. This saved some time. I then saved more time by deliberately hitting the wall after the loop to allow myself to ultra-spindash as soon as I hit the ground.
Angel Island Zone 2: I saved a little time by finding a way to zip vertically thus avoiding the fans. I saved more time by getting stuck half-in-half-out of the wall allowing an ultra-spindash without having to fall into the sandslide. I did find a way to glitch straight through this area which was faster still, however the optimal route from there forced me to use the graphic layers glitch which rendered the level unbeatable.
Egg Rocket: This is almost entirely the same as nitsuja's due to timed objects and cutscene triggers. There is a delay at the start to allow the timed objects to move into place. I saved about 30 frames up until the fan + platform but lost it all as the platform was not in the right position. From there I saved some bankable time by getting to the ramps more optimally. I then found a faster way to initiate the ending glitch by barely grabbing the ledge after the previous zip, and then somersaulting onto the ramp allowing me to spindash as soon as it became solid.
Cosmic Angel: I allowed myself to barely grip the first platform so that I could immediately spindash downwards to glitch through the level. I then saved good time after the fans by using very very precise positioning to pass through the platform with the monitor and to hit the ramp in the right way to allow Sonic to maintain his running animation. I was able to carry this momentum to the loop. In a similar way I was able to keep Sonic in a running animation while ascending the next slope and I had enough speed to glitch through the cannon things. Strangely you can glitch through them but not under them.
X-Zone: I hated the final boss with a passion as it took me a while to figure out how to manipulate him. I eventually (after a couple of days) discovered that he behaves in certain ways depending on when and where Sonic skids.

DarkKobold: What a great submission to have as my first judging project. Looking forward to judging this!
Flygon: Added YouTube module.
DarkKobold: Wait, is this a Sonic game? I think I may have seen him once during the run! Accepting as an improvement to the published movie.
GabCM: An SD camhack encode has yet to be done, then I'll publish it.
Flygon: I'm whacking up an SD camhack encode as soon as possible.

Joined: 10/24/2010
Posts: 19
OMG! This is so glitchy, entertaining and fast. Probably the best Soinc run there is!
Joined: 5/19/2010
Posts: 259
Location: California
Mukki wrote:
My guess would be that the last frame of input was lost/desynced. The last frame of the movie is an A key press. This causes Sonic to use his shield and it saves 8 frames.
Well, damn. I can't reasonably ask for a re-encode due to one frame of lost input at the very end, now can I?
#3201
Publisher
Joined: 4/23/2009
Posts: 1283
Upon looking carefully, it was more a desynched than loss. I don't know how easy or hard it is to fix this.
Joined: 11/20/2004
Posts: 236
Location: United States
One thing that always pissed me off about these classic-styled Sonic the Hedgehog game runs is the fact that the faster you get through a level, the longer you have to hang out behind the goal because the faster you beat a level, the higher the Time Bonus total is. This sort of this is especially evident in the Genesis games where the point value between less-than-30 seconds and less-than-1 minute is considerable, but a good example is at the end of Zone 1-2 in this game, where if the player had waited literally one in-game second longer, his Time Bonus would have been much less than what he got and this would have sped the run up just that much more. I know I've said something about this before, but if there was a proper counter-point to this, I don't remember it at all. Other than that? Pretty damn smooth run.
I'm not that hard to find... if you know where to look. -=( http://jolikmc.tumblr.com )=-
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
Joseph Collins it depends on the goals the author sets in his submission. It is "aims for fastest in-game time" opposed to "aims for fastest real time". Both of them are legit options here on tasvideos (as far as I know), and they sometimes have (or have had) separate categories, in games such as Metroid. Traditionally, most (if not all?) Sonic games are usually run aiming for fastest in-game time, which in turn results into longer score tallies. I think it makes sense, after all, because Sonic games are all about speed, so it's good if levels are played as fast as possible; I can live with a few seconds of fast forward here and there.
Joined: 11/20/2004
Posts: 236
Location: United States
Hm... I certainly can't argue with that...if...it's specified in the movie's goals. This particular one doesn't specify "aims for fastest in-game time" or "aims for fastest real time", but the author does state that its "33 seconds faster in-game", so I guess that's what he was going for. So...if that's the case, I can't really argue the results. But I most certainly can and will should anyone playing one of these games specifically aim for "fastest real-time". ;P Thank you for that explanation.
I'm not that hard to find... if you know where to look. -=( http://jolikmc.tumblr.com )=-
sgrunt
He/Him
Emulator Coder
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
Joseph Collins wrote:
One thing that always pissed me off about these classic-styled Sonic the Hedgehog game runs is the fact that the faster you get through a level, the longer you have to hang out behind the goal because the faster you beat a level, the higher the Time Bonus total is.
For this taken to its logical extreme, check the [submission 2493]Sonic 1 8-bit run[/submission]. Yes, it's a shameless plug. Deal with it.
Joined: 11/20/2004
Posts: 236
Location: United States
Holy sh-- That is exactly the sort of thing I'm talking about. ._.
I'm not that hard to find... if you know where to look. -=( http://jolikmc.tumblr.com )=-
Post subject: A simple 264 frame improvement that can be made?
RD3
Joined: 3/25/2011
Posts: 6
Hello there :) Wooo this is my first contribution (and to the Sonic series, sweet)! I hope this counts... Ok so I found this trick out years ago when I first played this game on my old GBA but with TASing I now know the exact frame data for it :) You know how you soft reset at the beginning (A+B+Start+Select, is that the right term for it?) to get the title screen quicker? Well, you can actually soft reset much earlier than the one that is performed in the movie In mukki's movie, he inputs the soft reset on frame 754 to get a soft reset on 755 What you can actually do is input soft reset on frame 490 to get a soft reset on frame 491 This means you can skip the whole sequence of the 'Created by SONIC TEAM' segment right at the beginning! This should save you 264 frames by simply soft reseting the game sooner :) Since I'm new, I advise someone tests this to make sure I'm not spouting rubbish but I'm 99.9% confident that this works :) P.S Sorry for bumping such an old topic :P
Skilled player (1085)
Joined: 8/26/2006
Posts: 1139
Location: United Kingdom
Thanks for the input! This is already known. It is used in the upcoming low-glitch run. It probably won't be used in this category unless more improvements are found as the goal is always for fastest in-game time.
RD3
Joined: 3/25/2011
Posts: 6
Oh darn it xD and there was me thinking I'd found something new Woopsie :P Better luck next time I guess :)