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.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
Location: 127.0.0.1
This topic is for the purpose of discussing #2894: Mukki's GBA Sonic Advance in 10:46.52
Skilled player (1305)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
FFFFFUUUU.... Watching now.
GabCM
He/Him
Joined: 5/5/2009
Posts: 901
Location: QC, Canada
I agree with Sonikkustar. What a freaking surprise! You bet I'll make an HQx encode on this!
Skilled player (1305)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes, Yes. Suggested Screenshot:
Banned User
Joined: 6/18/2010
Posts: 183
How come Sonic looks and moves so weird in the Advance games?
Emulator Coder, Skilled player (1299)
Joined: 12/21/2004
Posts: 2687
Nice improvement. And now I guess someone else knows how weird it is to TAS this game glitched. My one complaint is that it seems like a lot less effort was put into making the periods of waiting entertaining... Sonic and Tails have all sorts of moves they can do but you mostly just stood there waiting (before and after each boss fight). It's all very minimal. Also, why didn't the graphics glitch out at the end of Egg Rocket? That's another waiting period that became less interesting (although I can't remember at the moment whether that glitch is something you'd be able to manipulate without losing time). It's not a big deal, though. EDIT: I voted yes, by the way, and I'm looking forward to seeing the without-spindash-glitch run you said you were working on.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
Making this point based HD encode is gonna suck. Yes vote.
Joined: 4/14/2010
Posts: 146
Location: France
That was brillant! I loved how you zipped through the game, and those new routes were great. Yes vote. Can't wait to see an encode using the camhack, as it's playing so slow in the emu... But I keep wondering: has anyone, even with a super powerful computer, managed to get it run at full speed on the camhacked emulator ? Or is it impossible ? (On a side note: nitsuja explained in this post how to get the camhack work).
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
Critical five wrote:
But I keep wondering: has anyone, even with a super powerful computer, managed to get it run at full speed on the camhacked emulator ? Or is it impossible ?
MisterEpic's computer is definitely one of the higher enders for the encodes, but he reported being unable to break 15fps. I was also stuck at 15fps. I think it's an artificial limitation. Expect a CamHack encode from me in 140ish minutes.
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Now this is a run I've wanted to see for a while
GabCM
He/Him
Joined: 5/5/2009
Posts: 901
Location: QC, Canada
I've encoded the stuff. Here are the encodes I've made. SD normal SD double (normal + camhack) HQx normal HQx camhack HQx double (normal + camhack) HD Point double (normal + camhack) Here is what I'm planning to do. I'm going to upload every of these encodes, but not the HD Point double, this one's gonna stay in my computer. First, I'm gonna upload those HQx encodes, then the SD ones. The file size of each file is reasonable in my case. For the HQx encodes, they will be only on YouTube. Each encode will have his annotations. Both single HQx encodes will have a single annotation linking to the double encode, while this one will have two frame annotations, surrounding each videos, linking to each single encodes. Expect to wait some days before that bunch of HQx encodes goes live. Then, for the SD encodes, they will simply be in the Archive collection and available for download.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
Link to video This is probably the best that I'm gonna make.
Active player (275)
Joined: 4/30/2009
Posts: 791
The Magic 8 Squall says "All signs point to duh"
GoddessMaria
She/Her
Experienced player, Reviewer (837)
Joined: 5/29/2009
Posts: 514
Location: Hell...
I've always enjoyed the previous run by Nitsuja, but this run has much more awesomeness into it! I love the glitchiness! Obvious yes vote from me! ^^
Current projects: failing at life
Twisted_Eye
He/Him
Active player (332)
Joined: 10/17/2005
Posts: 629
Location: Seattle, WA
I love Sonic ending logic. "Oh gosh! Sonic is falling to his death! *suddenly Tails and airplane!* Oh! Saved by a cushy, not-at-all-like-the-ground, rock-hard metallic surface moving towards him at high speed!" Watching Flygon's encode was great, because I hadn't watched with the Camhack one before, very nice. The run was just as awesome as I was expecting, good stuff Mukki!
Skilled player (1633)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
What are the possibilities of an SD encode like this: [Normal | | Camhack] i.e., something where we could watch both side by side or top and bottom?
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Editor, Expert player (2310)
Joined: 5/15/2007
Posts: 3854
Location: Germany
Active player (417)
Joined: 8/22/2008
Posts: 301
Location: Brazil
oO So fuckin' fast. Voted "Yes".
GabCM
He/Him
Joined: 5/5/2009
Posts: 901
Location: QC, Canada
DarkKobold wrote:
What are the possibilities of an SD encode like this: [Normal | | Camhack] i.e., something where we could watch both side by side or top and bottom?
I made that kind of encode, in HQx and SD, but I'm uploading the HQx version first.
Banned User, Player (142)
Joined: 8/30/2010
Posts: 500
Location: Argentina Bs. As.
I liked your submission and with new shortcuts more fast and other glitches more entertaining. I vote YES
[18:51] <scrimpy> Oh, nothing [18:51] <mmarks> oh [18:51] <Nach> I think scrimpy is just jealous of you mmarks
Joined: 5/13/2009
Posts: 141
Sonic is pretty quick.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
I have to admit that I can't really recognize what route choices are made when watching with a camhack; even though I can see the scenery, everything's still a mental blur. However, it's a fun and awesome blur. It's very impressive to see improvements to this game. Nice job! Also, Flygon and Mister Epic, much thanks with the encodes. They really help a lot with this run in particular. The current uploaded YouTube video seems like great quality.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Skilled player (1305)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
Mister Epic wrote:
SD normal SD double (normal + camhack) HQx normal HQx camhack HQx double (normal + camhack) HD Point double (normal + camhack)
I REALLY dont think that this submission needs this many encodes. Just do one and we will all be happy. ;)
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
Sonikkustar wrote:
Mister Epic wrote:
SD normal SD double (normal + camhack) HQx normal HQx camhack HQx double (normal + camhack) HD Point double (normal + camhack)
I REALLY dont think that this submission needs this many encodes. Just do one and we will all be happy. ;)
When he told me them, I thought he was insane. I'd have been happy for him to simply do the HQx and SD doubles, while I handle the singles.
GabCM
He/Him
Joined: 5/5/2009
Posts: 901
Location: QC, Canada
Flygon wrote:
Sonikkustar wrote:
Mister Epic wrote:
SD normal SD double (normal + camhack) HQx normal HQx camhack HQx double (normal + camhack) HD Point double (normal + camhack)
I REALLY dont think that this submission needs this many encodes. Just do one and we will all be happy. ;)
When he told me them, I thought he was insane. I'd have been happy for him to simply do the HQx and SD doubles, while I handle the singles.
The HQx normal encode is uploaded and I'm uploading the HQx camhack. Meanwhile, I will get out of my home with my laptop, since I planned to go to a place where the Internet connection is faster, and I'll upload the SD encodes + the HQx double encode. Expect the whole bunch to be done this weekend! Probably tomorrow!