(Link to video)

Knuckles Ring Attack TAS by TheYogWog

General Info

  • What emulator and tools were used?
    • Gens Re-Recording 11b + camera hack + solidity viewer + hitbox display + Sonic TAS tools. Used another script for frame reverse during playback and used frame advance for basically everything.
  • What glitches were used?
    • Pretty much all of them, for Knuckles. Glide glitch and camera glitch were the main ones, also screen wrap glitch, slope glitch, and terrain ejection/zipping.
  • What are the goals and rules of the run?
    • Collect the maximum number of rings possible as Knuckles.
    • Aims for in-game time.
    • Takes no damage.
    • Uses glitches to get more rings, faster.
    • Ignores special and bonus stages, except when it's necessary to enter and immediately exit one in order to reset a boundary.
  • Why did you pick this goal?
    • It's common in Sonic TASes to see entire levels skipped using glitches, which some people don't always like. Yet glitchless runs haven't seen much success either, partially because it's so hard to define what a glitch is (or isn't). I realized that ring attacking would be a solution to this. It permits the use of glitches, but their usefulness is naturally limited by the rings requirement which forces you to actually play the level.
  • How long did this take to make?
    • About 8 months. If you include my IL playthrough, which sort of served as a trial run, it's more like 12 months; if you add their combined rerecords, it's 400,000+. That's because there's a lot more of the game's content to get through in a ring run than in a regular speedrun. Going into this project I knew very little about the glitches and speedrunning techniques used in Sonic games, and I did a lot of my own research and testing. I used my own, all-original routes, which I devised by studying the level maps, and did manual ring counts for many of them. This is my first TAS so I also had to learn about working with the software.
  • Did you ever miss a ring?
    • Not really, that I know of. I had to go back a few times, but never more than ~15 seconds in-game due to accidentally missing one. That was more of an issue during my IL's, where I sometimes missed several rings and ended up redoing 1-4 minutes of the level (and then still finishing with less than maximum because I incorrectly believed certain ones were impossible to get). So, I think I learned from that how to avoid those types of situations in my full game run.
  • How did you calculate the ring totals?
    • Finding clear ring totals was surprisingly hard to do as different websites have different ways of counting them. My ring totals are mostly based on the values listed at SonicZone0. It's generally a pretty reliable source, but there were a couple times when double or overlapping rings caused them to be incorrect, so those errors have been fixed in my own totals. Below is the full ring table that I used for the run. The third row for each level represents the zone total, and the MAX column indicates how many rings I collected, with my in-game time displayed next to it.
LVLNRMMONTTLMAXIGT
AIZ1104501542241:51
AIZ2306603662962:16
AIZ34101105205204:07
HCZ14401405805802:52
HCZ2259903493493:11
HCZ36992309299296:03
MGZ15061406466463:24
MGZ2353804334334:17
MGZ3859220107910797:41
CNZ13122605725723:15
CNZ22612705315312:58
CNZ3573530110311036:13
ICZ1172602322262:39
ICZ2479204994853:13
ICZ3651807317115:52
LBZ12941604544343:13
LBZ24091605695694:22
LBZ3703320102310037:35
MHZ13601104704702:33
MHZ2338804184182:22
MHZ36981908888884:55
FBZ1317303473472:55
FBZ2259202792793:09
FBZ3576506266266:04
SOZ13832206036035:11
SOZ2284803643643:04
SOZ36673009679678:15
LRZ13311705014072:54
LRZ2333603933412:37
LRZ36642308947485:31
HPZ33407300:08
SSZ30330:57
TTL653623008836857763:21
  • What rings didn't you get?
    • I collected 8577 out of 8836 total rings in Knuckles' campaign (97%). The difference of 259 rings consists of the following:
      • 20 in ICZ from mutually exclusive signpost monitors.
      • 20 in LBZ from mutually exclusive signpost monitors.
      • 94 in LRZ from the S/T-only starting area, plus 52 from the S/T-only boss area.
      • 73 in HPZ from the S/T-only area.
    • There is currently no known way for Knuckles to get any of these.
    • Although, now that I think about it, I'm not sure it's fair to count the 52 rings from the boss area. In the level select, there are actually 4 entries for LRZ: 1 is Act 1, 2 is Act 2, 3 is the S/T boss, and 4 is HPZ. The game apparently considers the boss area a separate "place" and it's one that Knuckles can't even get to, just like he can't get to Death Egg - and that zone's rings obviously aren't included, so, should these be? But I am including them for now since when S/T do go to their boss, they maintain their rings from act 2, and those rings are added to their total rings at the score screen for Act 2.
  • Why didn't you get the giant rings for 50 rings each?
    • I would have to gather all the emeralds first, which I didn't want to do because it would distract from the core gameplay; if I did a "new game+" run, I would have to start from a savestate, which I didn't want to do because it makes it a lot harder to get published. Also the ring loss over time incurred by transforming might be outweighed by the rings gained from giant rings, but it inevitably results in making the maximum number of rings one can finish the level with a bit less objective, thus making it harder to measure how well a ring attack succeeded in accomplishing its primary goal, and since it's a somewhat unusual goal to begin with, I wanted to keep my ring attack as objective as possible. The alternative would be to just not double jump after 50 rings, in order to avoid transforming, but that would be relatively boring to watch and make, and it may not always be possible to exceed to normal ring totals in that case, anyway.
  • Why did you pick Knuckles?
    • His gameplay is the most interesting to me.
  • Are you going to do ring runs with any of the other characters?
    • Maybe someday I will work on a Sonic and Tails run, or a Sonic alone run that incorporates giant rings in some way.
  • Suggested Screenshots: 21,025; 133,586.

Level Notes

  • AIZ
    • 0:09 / 1060: This may look sloppy because I hit the side of the cliff for no apparent reason, but hitting the cliff like this gets Knuckles just barely close enough to where the Rhinobot is to make it spawn and, critically, to make it start charging at me while I'm up on the ledge. That's the only way to set up a superglide off it to reach the ring monitor above, which is the only way Knuckles can reach that monitor.
    • 1:41 / 6600: Skipped 13 rings here because it's more efficient to collect them when I return to this area later. To clarify: although I'm technically still in Act 1 at this point (because I haven't reach the score screen for Act 1 yet), in terms of what's currently loaded in the game's memory, I'm really already in Act 2. This means certain rings "overlap", or are obtainable in either act, although the zone total remains the same. For this reason, I believe that rings per act is an irrelevant figure in a continuous, full game run such as mine - rings per zone is the only thing that really counts. There are 2 zones with overlapping rings: AIZ and ICZ, not counting zones with rings from signpost monitors which could also be collected in either act.
    • 0:13 / 9050: Had to spend a few frames waiting for the breakable ground object at the end of the tunnel to appear so I could destroy it. My entire route for this level depends on it not being there later, and if I don't get rid of it now my path will be effectively blocked. It can only be destroyed from inside the tunnel, and I can't get back into the tunnel once I leave unless it's gone. Even if it is, you can't get back in the tunnel from the normal top hole you come out of. The only way is to glitch through an interior wall inside the ground, and you can't do that if the object is there or it will crush you.
    • 0:17 / 9330: Had to avoid the checkpoint because I need to enter a bonus stage in order to reset the level boundary that's currently preventing me from getting into Sonic's area. I didn't have enough rings to trigger a bonus stage at this checkpoint, and hitting it would automatically void/disable all other checkpoints located before it, including the only other checkpoint there is in Knuckles' area.
    • 0:50 / 11,900: Haven't seen this jump performed anywhere else with regular (non-hyper) Knuckles, and it seems to be widely accepted that he can't get up there in this way. I think it can be a pretty tricky jump to perform, even in a TAS. I'm not sure how hard it really is though because one the one hand, I stumbled upon it practically by accident, trying half-heartedly and not really expecting it to work after only a few hundred rerecords/attempts. On the other hand, when it came time to do this jump a second time as I was improving my initial recording of AIZ, it took several hours and well over 6,000 rerecords. Maybe I'm just bad at TASing:P An alternative, easier-but-slower way for regular Knuckles to get up there is to get hit by one of the upper sets of spikes, then glide across from the right, using the temporarily invincibility to bypass the damaging effects of the right set that normally interrupts his jump before he can gain enough height to make it across.
    • 2:07 / 16,472: The ground is just thin enough here for Knuckles to glide glitch through. I heard that before this, it was not known that Knuckles could glide glitch through regular ground tiles. It works in much the same way as with objects, but only when the floor is very thin. For whatever reason, there is exactly 1 such tile along the final, upper path that is suitable for this glitch - the rest of the ground is too deep to glitch through. The fact it's there is pretty lucky (almost eerie, in a way, like when they were making the game, they just knew...), without it, I wouldn't be able to 100% the level because Knuckles would be stuck up here until time over. The boss doesn't load for him since it's a Sonic/Tails "exclusive" area, and there's no other way to get back out after getting the 3 rings here. Coming here also causes the rest of the level to get pretty glitchy, too, which is why I came here last. From here, I can drop straight down to Knuckles' boss area without having to go back to the now-glitched level.
  • HCZ
    • 2:52 / 29,880: Notice that while the rings field in the top left says 580, my ring bonus is incorrectly listed as 57,000. The value isn't reflecting the last ring monitor because I got it right before the score screen began. My score value for the rest of the run from now on will be 1,000 less than it should be (not that it matters).
    • 1:21 / 35,750: I could have come out of the jump with a higher Y-coordinate and/or jump-climbed up the wall faster, but I would still get stuck waiting for the cylinder above just the same, so I thought I might as well show off Knuckles' regular climbing animation for once.
    • 2:35 / 40,230: Like with AIZ, there are 3 rings at the end of this level in what is supposed to be a Sonic-only area. I use the glide glitch to get in, then travel into the loopback and use the terrain ejection and camera manipulation glitches to help me zip back out. If I didn't stop to look down, the camera would enter a position that would cause Knuckles' boss to load, which would then cause the screen to lock and result in death by time over or drowning as I would be stuck in the floor, unable to do anything. Thanks to SpinDashMaster's input movie for showing me this.
  • MGZ
    • 0:15 / 44,800: Triggering the screen wrap glitch removes the spikeball, the drilling machine, and the movable ground objects, and allows me to terrain eject out of the floor when they reappear as the glitch ends. It also helps ensure no rings that are trailing me miss hitting me and get flung out of orbit because of their momentum.
    • 1:57 / 50,890: I had to lose my shield here because in the next area there was one ring in particular that refused to be collected while my shield was on. I believe the reason for this is related to the fact that that ring is located very close to the edge of one of the vertical loop points for the level. There is a point in SOZ2 where you might notice a couple of rings behaving strangely as I get near them with my lightning shield, and they are also located along the loop border for that level. I do lose a few frames waiting for the rings that were trailing me to fall, but in fairness I would have also lost a few frames waiting for them to catch up to me otherwise - as sometimes when there's a lot of rings trailing you, not all of them can be collected at once, and certain ones will pass right through you before coming back again.
    • 0:15 / 59,000: There is one ring embedded in the wall here. It doesn't show up on any maps and isn't counted in SZ0's ring totals, even SonED fails to account for it. All of my thanks goes to SpinDashMaster and TSC for the movie file that showed me this.
    • 2:20 / 66,400: I could swear I've seen this done before in another TAS, but I can't remember where. It's an interesting trick, here's how it works: first, you have to be moving at close to top speed; second, you have to be running (as opposed to rolling) so you can change direction in the air; third, there's a frame-perfect jump where the floor rises up a little bit that gives you just enough height to hit the statue; fourth, rebound off Robotnik when he appears and hit it again; fifth, quickly glide towards it and you should be able to hit it a 3rd and final time.
    • 2:55 / 68,500: Resetting the boundary to get back out of Knuckles' area.
    • 4:03 / 73,400: Sacrificed my lightning shield, used the 120-frames of invincibility to score some hits on the boss. This was mostly for show as it's possible to get the seven hits needed in without taking a hit yourself.
  • CNZ
    • 2:38 / 85,400: Thanks once again to SpinDashMaster at TSC. Watching his realtime RA of this level, I was surprised to learn it's possible to get into this area without luring a batbot and supergliding off it, which saved me 8 seconds after I re-did it.
    • 2:11 / 97,600: Sacrificed my shield to get knocked through the hover pads. It's not necessary to move the camera up for this to work.
  • ICZ
    • 0:19 / 103,000: I considered using the slope glitch to go up the mountain, but I concluded it's ultimately faster to just do it the normal way. It would probably help getting to the top of the mountain faster, and it's certainly more interesting to watch that way, but the trouble is then you're stuck there with no sprites to jump on to disable the glitch. It becomes way too time consuming at that point to go back down while still getting all the rings (and you're almost certainly not going to get any/all of them on the way up). Also note that on the descent, you can't go too fast or Knuckles will outrun some rings in the hallway at the bottom of the crevasse.
    • 1:26 / 107,000: Sacrificed my shield and used the invincibility to destroy the ice crystal that was in the way, and set up my superglide off the shield monitor, to reach back up to the top of the cavern. You can't hit the crystal too soon or it will knock you back to the right instead, causing you to land on the lower floor where you'll be unable to perform this trick. It costs some frames to make it work, but I believe it's worth it compared to any of the other possible routes through this act.
    • 2:21 / 110,300: Welp, time to rant. Look at the level design here: there's 2 red springs and spikes on the walls, an invincibility monitor, a steep slope, and a ledge up above. What purpose could these objects have and why are they arranged in this specific configuration? Clearly the two springs are intended to bounce you back and forth between eachother, and they do, but one of them tends to bounce you onto the slope in the process. You only stay on the slope for a short time, but the fact that you end up on it at all I think shows that this is no coincidence. If they didn't want you to be able to hit the slope at high speeds, they would have adjusted things so that the spring bounced you directly onto a flat surface. Now, we know that jumping up a slope in Sonic games can increase your jump height significantly, and given that there's a ledge up there, it seems fairly obvious to me what they intended you to be able to do here. The invincibility monitor could be placed to entice new players into to hitting the springs, which they might not know are there because they're hidden in the wall. It also offsets the difficulty added by the wallspikes by letting you practice the timing of the jump without taking away your rings if you mess up. In my case, getting the invincibility lets me beat the sub-boss faster.
    • 2:36 / 112,000: It's necessary to fight Sonic's sub-boss since his path contains 3 of the 5 mutually exclusive signpost monitors with rings in them.
    • 0:23 / 115,000: Resetting the boundary to get back into Knuckles' "act 1" area, where there's 3 rings waiting to be collected. I also considered using the slope glitch to get these rings in act 1, so I wouldn't have to come all the way back here later, but again I found it was just better to do it this way for similar reasons as before. Also (warning: extreme run-on sentence imminent), this way allows for a route in which I lose the lightning shield early on, which is good because there's a ton of relatively small loops with lots of rings inside in Act 2, which tends to create problems as the magnetism effect causes certain rings to get displaced in such a way that they end up getting loaded out of memory because you outrun them, making it next to impossible to progress while maintaining any kind of speed, even without loop jumping, which can alter the trajectory of any trailing rings and also lead to negative outcomes. There's only a couple places where having the lightning shield would actually come in handy, anyway.
    • 2:57 / 124,500: There's 3 rings hidden in the wall. They're pretty far inside it, and there's no solid tiles to stand on like with most walls, so it takes just the right amount of jump height and speed to reach them.
  • LBZ
    • 1:54 / 133,800: Used a single pause to luck manipulate the flame thrower so it wouldn't hit me. Do this a few more times before the Zone's over. Thanks to Upthorn's run for showing me this.
    • 2:06 / 134,500: Terrain ejected in just such a way as to attract all the rings quickly, in a single jump, then used a few precise movements to corral them in front of me so I could collect them all at once. I had to spend a few frames to do this or a few of the rings would get loaded out of memory as I progressed further into the level, unless I slowed and waited for them to catch up later, but that would cost even more frames.
    • 2:42 / 136,666: As I was TASing 6-1, I accidentally triggered the slope glitch by using one of these platforms earlier in the level, and was reminded that that was possible here. However, it wasn't until I had completed 6-1 and was making preparations for TASing 6-2, that it finally dawned on me that I could use this particular platform to trigger the slope glitch in act 1, and possibly use that to collect the 4 rings stuck in the wall not far from here, which I previously concluded were impossible to get as Knuckles. Turns out I was wrong, and using this method I was able to go back and redo the end portion of this act - and ended up finishing with 4 more rings, 8 seconds quicker. As for how or why Knuckles adopts that zigzagging pattern through the walls, which is a key factor in getting the rings, I am not sure, but basically I think it has to do with the slope of the ground, how the game handles collision detection, and maybe the elevator right before the wall. As for why he actually goes up towards the rings while he's inside the wall, IIRC it has to do with an invisible yellow spring that's there (it will be visible if playing as S/T, but is obscured in this case by the wall).
    • 2:46 / 136,950: I found that rolling right before the last frame in which you can jump before coming out of the wall increased the power of the jump significantly. It allowed me to get slightly embedded in the floor upon landing up above, which I was then able to terrain eject out of using some careful movements. This was important because it not only allowed me to backtrack to get the 3 rings down below a lot quicker, but it was also critical in triggering the next glitch, by giving me enough x-momentum to just barely reach and glide glitch into the breakable ground object, which caused me to get embedded in the floor once again, providing a nice short cut by allowing me to zip through the wall directly into Knuckles boss chamber - rather than climbing up and over the wall, normally. Unfortunately, I had no choice but to sit and wait for that 1 ring to float down to me. I couldn't position myself properly to collect it on the way down and still trigger the glitch, and zipping too soon would cause it to disappear, so I spent some frames there but it was a small price to pay compared to any alternative routes.
    • 2:57 / 137,600: Caution: this stunt was performed by a professional in an emulated, tool-assisted environment and is intended for entertainment purposes only. Results may vary on actual floors. Do not attempt.
    • 0:04 / 140,350: Went into a roll here even though it's slightly sub-optimal since you decelerate while rolling, but it was necessary to avoid attracting the nearest ring on the slope, as rolling also decreases the size of Knuckles hitbox - in this instance, by just enough to miss affecting the ring with the electromagnetic shield's gravity. Otherwise, it would have gotten thrown out of memory because I was moving too fast, and in fact, it did, and I had to redo about 15 in-game seconds worth of video after I noticed it. A lot of the rings in this act seem to disappear very quickly, I'm guessing because of the sheer size and amount of stuff there is here for the game to keep track of. If you look at the map, it's easy to see this is one of the most complex, biggest acts in the game.
    • 0:59 / 143,600: Used the slope glitch to get up here a lot faster than by luring a flybot. If you look at the small slope on the path beneath here, it looks like you can almost jump high enough to make it but 2 things get in the way: the pathswapper and the wall to the right. In my opinion, it's pretty clear the developers put those things in those exact locations, on purpose - that they went to some length to make sure you couldn't normally get up here as Knuckles. Notice the small nook in the bottom edge of the wall: if it was just a straight wall, you would probably be able to grab on and climb it, but as it is, you can only grab on to the nook part, and there is a ceiling above you from there that makes climbing any higher and gaining enough height to glide over, impossible.
    • 3:17 / 151,900: I don't like hitting the invincibility monitors because of the extremely annoying music that goes with it, but in both cases in this act when I do, it's faster. The first one was just faster to get it (along with the ring monitor) than avoid, and it also helped walk over some spikes which I reached right before it ended. Here, I tried glide glitching through the monitor and terrain ejecting out of the wall but it was either too fast or too slow to get the 3 rings to the right and avoid hitting (or being hit by) any enemies in the process, which is important because hitting them slows things down quite a bit. I also tried just getting the ring box and spin dashing away, but that forces Knuckles to jump or glide to get the rings (which is obviously slower than just rolling straight off) since his hitbox isn't big enough while rolling to get them by rolling off the ledge. I even tried standing on top of the ring monitor and spin dashing off it, destroying it in the process and causing him to hit the ground running - in which case, his hit box is big enough to get the rings without jumping, but then he immediately gets hit by the frog enemy. And so, I went with what's shown - getting the invincibility allows him to run right through the frog and the orbinaut without taking damage, and is much quicker than jumping or getting the rings otherwise.
    • 3:20 / 152,065: I jumped about 1 frame earlier than I could have, if I wanted to maximize my Y-momentum. That's because doing so allows me to avoid hitting the side of the swing, which would cause me to lose aerial control of Knuckles and send him straight up, forcing me to waste frames slowly gliding the distance to the edge of the floor. This way, I go up there slightly slower but end up right next to where the edge is.
    • 3:46 / 153,650: Went the minimum distance needed to reset the pathswapper, so I could go back to the right.
    • 4:22 / 156,300: The in-game clock stops after beating the first of the three consecutive bosses here.
    • 4:22 / 159,100: Here, and with the next boss, I take advantage of the fact that characters/their hitboxes/Y-position decreases slightly for about 1 frame whenever they jump, to hit the boss at times when his hitbox is supposed to be out of reach within the floor. This technique is most effective when jumping from a roll, as your hitbox is a lot bigger in that case compared to jumping while standing or running, thus it will connect with the boss's hitbox that much sooner.
    • 4:22 / 159,700: Sacrificed my shield to alter the boss's pattern. Taking a hit right away lead to him doing 2 instead of 4 flyby sequences, which results in him going into the floor sooner, so I can rack up the hits and kill him a lot quicker. I can only hit him once per flyby and there are lengthy pauses between each one.
  • MHZ
    • 2:14 / 182,400: Not sure if this is already well known or why this happens, but if you can manage to hit the boss first before destroying the satellite dish (by gliding underneath it), it will instantly reduce his health to 1. No matter what, you have to hit him at least once after he starts fleeing for the battle to end, much like how you have to hit the MGZ2 boss once while flying. Theoretically in a TAS there should only ~30 frames difference between hitting him once or twice while fleeing (since that's how long the boss's post-hit invincibility lasts), but the process of gliding into the boss from below the satellite delays the start of whole sequence by far more than 30 frames. So in any case, this trick is pretty pointless but perhaps worth mentioning none the less.
  • FBZ
    • 0:26 / 186,800: There are 3 of these capsules in the game, all in this act. They spit out 6 rings each, 3 in both directions. The rings they produce behave similar to rings that would be dropped from taking damage. They aren't affected by the lightning shield's magnetism, they will disappear after awhile, and they tend to fall through the floor, especially if you let them get off screen. It requires a series of very precise inputs that took me many hours to figure out over the span of months. It's very hard to get them all in single player game, definitely a TAS-only trick. Like with so much of this TAS, I couldn't have done this without Marzojr's, Upthorn's, and Nitsuja's Sonic HUD script.
    • 0:54 / 188,500: Supergliding off the monitor by hitting it at the very bottom gives Knuckles just enough height to make it on top of the wall. However, sometimes if he lands very close to the edge of a surface and then tries to spin dash, the spin dash will fail and he will just spin in place for a moment before falling straight down with the controls locked until he lands. That's what happened when I tried just holding right here. By maneuvering slightly to the left, I was able to preserve my momentum from being broken by pushing against the wall, and generate just enough of it so that I could land and immediately spin dash away.
    • 1:47 / 191,700: The moving circular platforms operate on a camera timer, meaning they're not loaded until you get near them. My goal here was to get them loaded as soon as possible, since it takes some time for them to make their way down (you have to let the first one come down because it will block you from gaining enough height as you're climbing up the wall to make the glide over to the tubes suspended in the air on the left). That's why I appear to backtrack a little here, I was killing time waiting for the platform to arrive.
    • 1:51 / 191,900: Ordinarily, if you stand on top of the tube while the platform comes down it will crush you or push you off to the side. Through careful positioning, I was able to be on top of it at the same time, which was important because that little bit of height difference (between the top of the tube vs the lower, "corner" of it to stand on) allowed me to jump ontop of the platforms that much quicker, which ultimately resulted in giving me just enough time to climb high enough up the wall to be able to neatly glide all the way across to the far ledge (while collecting all the rings in the process, a nice time-saver in itself because otherwise I would have had to circle back for them). If I was only a couple frames slower, the second platform would have emerged from the upper tube and blocked me from gliding straight across, because it limits your height and forces you to glide sooner, since it saps your x-speed if it touches you from above at any time while gliding, so you just "stick" to it, gliding in place while being pushed down by it.
    • 0:34 / 199,000: Not sure why but with this specific elevator and only this one, it can push you into the ceiling without crushing you.
    • 3:07 / 208,000: It's not shown, but like the last boss I came across another useless trick on this one. I haven't seen it before and I'm not sure if it's well known, so I will just mention it briefly. Knuckles is sometimes capable of performing a series of quick jumps around the floor (I did this not long ago during the auto-scrolling sequence, for example. Also at the end of SOZ1.) If you rebound off the boss properly, he can do that here as well. This technique effectively renders him partially embedded in the floor as long as you maintain it, which gives him a slightly lower than usual Y-coordinate from which to start his jumps. Taking advantage of this, it's possible to hit the boss in such a way that you get pushed through the floor while still in ball form. This is significant for regular Knuckles as it opens up the possibility of being able to go into a glide to hit the boss at a time when he would normally be swinging out of range below. If you had hyper form this wouldn't be necessary as you could easily glide glitch through the ground here and just use the invincibility to hit him. However, since you have to hit the boss in order for this to work, he's going to be invincible for 30 frames afterwords while the rebound gives Knuckles enough Y-speed that even if he glides he's almost certainly going to go off screen and die before he could hit the boss again. And even if he did, he might not have enough momentum off that rebound to get back up to the ground, anyway. So it's probably useless.
  • SOZ
    • 1:37 / 215,930: Got slightly embedded in the mud and terrain ejected for a small speed boost. I'm not sure how well known this trick is or why it works exactly, but it appears to be the same trick I used ontop of the tower at the end of LBZ1.
    • 2:44 / 220,000: I had to get creative to make this work the way I wanted. That is, to hit the monitor and rebound directly onto the opposite wall. I tried it just running and with different spin dash speeds at different points along the passage, and jumping at different times, but nothing worked. I always tended to have not enough X-speed and too much Y-speed so that Knuckles would hit his head on the ceiling on the rebound before he could make it back outside, thus limiting his potential height and forcing me to spend a jump. Luckily, the pillar happened to be raised up enough to stop me instantly when I came to it, and by the time I finished a quick spindash sequence and executed a camera glitch, it was still low enough to allow me to run straight over the top of it. Since I technically went from standing on the ground to standing on an object, the game did its thing and reset my running/rolling variable to running, which gave me back aerial control of my jump. With that, and the extra speed from a 2-rev spindash I was able to maintain adequate X/Y values to successfully rebound off the monitor without hitting the ceiling.
    • 3:08 / 221,400: Simple camera glitch to bounce on the spring without taking time to destroy the rock, which results in a short but unavoidable rebound effect and would have taken a lot more frames. I guess springs have a higher priority in memory than other objects, that's why the camera glitch affects the rock but not the spring.
    • 3:53 / 224,100: Here is why I double back here. There is a frame perfect jump along those slopes that yields a much higher jump, but if I were to take it on the first pass I would miss attracting one of the rings to the right. It's not practical to get it later because it would require going very far out of my way, and it's not worth jumping from another point later on the slope that would attract the ring because you don't gain enough height. I can also do the frame perfect jump on the similar slope on the opposite side but doing so causes you to undershoot the left wall so that's no good either.
    • 4:06 / 224,900: Knuckles is generally capable of climbing on top of the screen. It just takes one or two extra wall jumps, extremely tiny ones, after reaching the "top" of the wall he's on to exceed the normal vertical limit, and then simply pressing up will trigger his climbing-onto animation. From there, I increase his height even more by jumping onto a couple of platforms in the sky (which can't be reached from on top of the wall to the right) before jumping off. This was necessary to gain enough Y-speed to clip through 2 floors at once in the structure below. The first floor is thin enough that I could easily glide glitch through it, but the second floor is one of the deep ones that can't be glide glitched through unless you have a ton of y-speed. As a result of falling with sufficient speed to do this, I happen to pass right through the first one, allowing me to save my glide's Y-speed boost to glitch through the much thicker, invisible floor inside the wall. There's more such floors here, but falling through the subsequent ones after the first is simple. I'm pretty sure this is the only possible way Knuckles can acquire all 3 rings hidden in the wall here.
    • 5:11 / 230,000: Did some fancy jumping to get pushed through the floor (basically the same trick described at the end of FBZ), and spawned the 1-up to be more entertaining while I waited with the clock stopped to manipulate the starting position of the pillar in Act 2.
    • 0:23 / 232,500: I begin activating the vertical wrap glitch here. I have to be right up against something so that when I spindash to prevent the ghosts from hitting me, I don't go anywhere and can quickly resume looking down. Using this glitch here allows me to bypass the door object twice, once to get in to get the 3 rings in the room and once to get back out, and also enables me to go where the capsule machine is so that when it reappears as the screen catches up, it pushes me down through the floor. From there I can reach the next area more quickly than by using the sandslides.
    • 1:13 / 235,500: Camera glitch through the spiked pillar. Then I waited until the pillar rose high enough that when I did a full spindash I would land on it, at which point I did a type of camera glitch that is unique to Knuckles. By gliding for a single frame only, he can come to a stop almost as quickly as if it happened by running into something. Taking advantage of this, I was able to stop him manually and still have enough time leftover to use the camera glitch to bypass the door. The normal method of using the camera glitch won't work here because of the small gap between the pillar and the door.
    • 1:41 / 237,200: I probably should have mentioned this before, but if you go into a roll while ontop of a monitor and then jump, you will instead break through the monitor towards the ground. With Knuckles, you have a window of a few frames to release the jump button and then press it again to go into a glide. Since these monitors are right next to eachother, this causes him to superglide off the other one to reach the platform with greater efficiency than if he used an ordinary jump to break the monitors.
    • 2:37 / 240,555: Knuckles won't stick to this door while it's closing. This is a nice little time saver as it gives him just enough time to change directions so he doesn't stick to the wall above the door, either, which means less time spent wall climbing, which is always good.
    • 2:59 / 241,900: Sacrificed my shield to fight the boss faster.
  • LRZ
    • 0:18 / 244,600: One final useless tidbit I found, which isn't shown but I'd like to mention, is there is a way to get hit by the drill without taking damage/losing any rings, even if you don't have a shield. It seems to be directly related to the lag frames that come up right before the drill destroys the ground, being hit right around that time. It can help you fall through the floor (perhaps in the same way being hit by a batbot in CNZ2 allowed me to pass through the hover pads) sooner than normal, but I didn't want to use it in case it might technically interfere with my "takes no damage" requirement. The method that is shown, glide glitching through the floor off a rebound, is also a lot faster anyway.
    • 0:51 / 246,600: There's actually lot going on in this part. For one thing, I can't go too fast through here or the 4 rings trailing me could disappear. There's also some platforms coming up that I need to glide glitch through. I pretty much had to jump here. A little bit higher, and the jump would overshoot the ceiling and hit the wall. A little lower, and the jump would hit the enemy coming out of the cave, which slowed me down considerably. But by jumping exactly like this, I was able to avoid the enemy and hit the ceiling, which locked in my x-speed at a good amount and set up a perfect superglide that let me bypass all 3 platforms.
    • 1:13 / 247,900: The low ceiling prevents the glide glitch from working normally here, and without it I would have to either wait for the platforms to break or go back down and around. Hitting a ring monitor can give enough of a boost to downward momentum to make the glitch work, but only the last one is close enough to let you possibly reach the platform. You can jump while breaking the other ones and time it so you get a downward push upon hitting the last one, but you can't time it to do that and still get enough height to make the glitch work. If you just stand next to the last one and jump, and hit it just right, you might get proper Y-values but you still won't have enough x-speed to reach the platform. The solution I found was to go into a roll on top of it and destroy it from above, this gives you enough speed to reach the platform and you still get the boost to make it through.
    • 1:27 / 248,741: One of the requirements of getting max rings in this act is that you have to climb up the shaft that leads to the S/T-only area with a lightning shield and use it's electromagnetic pull to collect a single ring up there. It's necessary to come down from the starting area through either Sonic/Tails' or Knuckles' drilling machines to get a lightning shield, though it only makes sense to use the S/T route, for a few reasons. The only way to get back up to the starting area (which you must, to get the ring at the top of the mine shaft) is a precise superglide off this ring monitor, and in order for that to work you have to encounter the drilling machine above, first, or the floor won't be destroyed and you'll be locked out. It's also hard to even reach this room if you start off from Knuckles' route and doing so would then require a considerable amount of backtracking, as well. Also, spent some frames getting the 1-up because I was going to get stuck waiting for the lava flow regardless.
    • 0:15 / 256,300: Sacrificed my shield to get on top of the platforms since Knuckles can't jump high enough to reach them.
    • 1:25 / 260,500: Sacrificed my shield to go through the fire and flames more quickly.

Possible Improvements

  • (Taken from a post I made in the discussion thread and later edited for clarity, so it may not match the original post but who cares):
    • Yeah, moreso early in the run in general and definitely in AIZ1 there is a bit of noticeable improvement. It's just due from still learning about basic speedrunning techniques as I went along.
    • If you watch closely, I tend to switch between rolling and running at inopportune times (took me a while to sort of understand the difference and when one should be used instead of the other). I didn't always loop jump at first, because I didn't even think of it until WST pointed it out, and when I do it's likely not 100% optimal. I could be wrong about this but maybe, in most cases when I do a spin dash on top of an object, it might be possible to save a frame or two by better sub-pixel management. There's different methods of jump-climbing, which are all about 1.3x faster than normal climbing, but if you look really close - the method I used most of the time was slightly sub-optimal. Somewhere around SOZ1 I realized that pressing up for the first frame you jump away from the wall yields a 1-pixel-higher Y-position at the end of the sequence in same amount of frames. Probably other stuff I'm forgetting...
    • As far as what routes I took, while I'm pretty happy with the ones that I picked, I don't doubt there are improvements to be made there as well. When I was planning them I tried to think of the most efficient way through the level, and sometimes it's necessary to take a certain route (see my notes for LRZ1, for example), but a lot of times it just comes down to my opinion. If you look at a level like MGZ1, for example, there's just so many different glitches you can use and places you can glitch through to end up at other places that it gets really subjective. But that subjectivity also affords for a lot of creativity, which is one of the things that was so appealing to me about doing a ring run as opposed to a traditional speedrun, as I felt a lot of the best routes and stuff had already been figured out by the community, so there wasn't as much room for freedom of expression through route selection.
    • As far as getting from place to place within the main route once that's been established - as in, "I know what order I'm going to get the rings in, now I just need to know how I'm actually going to get them" - I did do a lot of testing in that regard too, in almost every single possible case, to find out the best way of doing it. That's just because I enjoyed the process of TASing so much; it was part of the fun. I may not have always been "right" in my approach - there may or may not be room for improvement in any given instance - but I'm not really worried about that as I know I did the best I could.
    • I know exactly what you mean about the rings. I've found using the shield to collect them generally saves frames because you can get just close enough for it to attract them and they will usually catch up on their own, eventually. But it's not uncommon to get in situations where you could potentially outrun them, causing them to get loaded out of memory and disappear without being collected, especially in bigger levels like LBZ. In those cases, it's always a question of whether it costs more frames to go a little further out of your way initially, to collect them yourself, or if it's more expensive to use your shield to attract them and then slow down later on to collect them. I think the answer is hard to say, but I expect the frame difference would be pretty small. Personally, I tended to try to find a way of collecting them that offered the best average overall speed.
  • Thanks again to TASVideos for accepting my year of hard work for publication despite having some technical flaws.

Special Thanks

  • WST: For being generally helpful and providing a lot of really good advice early on, and for the frame reverse script I found on his ytsc site.
  • Marzojr: For his esoteric knowledge about the game, answering questions no one else could.
  • Upthorn: For having the only other published S3K TAS with Knuckles, which I often used for reference at first; later on, I began referring more to WST and feeuzz's, and Qwerty's, S&K TASes as well.
  • SpinDashMaster: For his real-time ring attacks posted in "the random .giz" topic at TSC, which showed me how to get a few key rings I otherwise would have missed.
  • FlyingFoxUK: For helping me find some rings hidden in the wall in ICZ2.
  • Orkal: For his series of glitch videos.
  • TSC: For its neatly organized ring records and forums.
  • SonicZone0: For its many useful level maps and ring totals.
  • TASVideos: For existing. If this place didn't exist, I might have never seen some of the past TASes that inspired me, and I certainly wouldn't have been able to make my own.
  • My YT subscribers and everyone in the S3K thread: For their wonderful, invaluable commentary on my IL/WIP videos, which helped keep me motivated and without which none of this would have been possible.

feos: This run has some technical flaws, but the concept, new gltiches, and the overall look are so well received, that I'm accepting it to Moons. If the run is redone with tough optimization, it might get a Star. Publishing...

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14875
Location: 127.0.0.1
Player (55)
Joined: 11/28/2013
Posts: 118
Yes vote! An Atlas encode like this would be amazing.
Projects: Tetris DS Genesis Toys: Let the Toy Wars Begin
WST
She/Her
Active player (442)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
An Atlas encode of this would be incredible. Finished watching it about half an hour ago, then had to walk the dog to clear my head from the awesome. Yes vote for certain.
Previous Name: boct1584
WST
She/Her
Active player (442)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
boct1584 wrote:
An Atlas encode of this would be incredible.
I might try; though, I can’t give any ETA yet. Probably in a few days (it takes incredibly much time and disk space to process even a single level/act, despite the automation, and also it’s very easy to make some mistake while dumping frames). This is probably the first movie, which I am giving a yes vote even without watching it once — but I realize it’s fine, since I watched all the WIPs many many times.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Pokota
He/Him
Joined: 2/5/2014
Posts: 778
This movie is what I will think of in the future when I see the phrase "Contains Speed/Entertainment Tradeoffs" +1 YES ALSO: I'm suggesting grabbing a screenshot from where Knuckles is shadow boxing while the Golem in Sandopolis 1 is getting ready. I snapped 227268 but it's got the frame counter and lag counter on it.
Adventures in Lua When did I get a vest?
Fortranm
He/Him
Editor, Experienced player (775)
Joined: 10/19/2013
Posts: 1115
scahfy wrote:
Yes vote! An Atlas encode like this would be amazing.
It looks like that Castlevania game on XBOX360 :P Yes without watching.
Emulator Coder, Skilled player (1141)
Joined: 5/1/2010
Posts: 1217
WST wrote:
I might try; though, I can’t give any ETA yet. Probably in a few days (it takes incredibly much time and disk space to process even a single level/act, despite the automation, and also it’s very easy to make some mistake while dumping frames).
What takes so much disk space? The raw dumps? The intermediate files? The final encodes? Any reason why intermediates can't be done using FIFOs?
WST
She/Her
Active player (442)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Ilari wrote:
What takes so much disk space? The raw dumps? The intermediate files? The final encodes? Any reason why intermediates can't be done using FIFOs?
The generated frames. The processing is done in 2 stages. First, I generate high-resolution frames from a Lua script. On my system (a VirtualBox machine) it takes hours and gigabytes of data to dump a single act. Second, I join them using ffmpeg on the Linux host. You may want to see my Lua code if you have mood to try it yourself. Because I’ve just realized that even if I succeed with it, I will have to upload the resulting video, which is going to be hard with my uplink speed (I will probably have to go to Maykop city to upload it from my friend)… https://github.com/WST/gens-atlas-tools/blob/master/atlas.lua (upd) also, for some reason you need to invoke the GC manually from time to time. Without that, the memory begins to leak after dumping some 2 minutes of the run.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Joined: 10/1/2013
Posts: 98
Location: My Basement
I watched every WIP. This TAS shows how truly broken S3K is, even more than any%! Easy Yes vote. EDIT: Dat Altas encode. If it could be modified to show rings and objects while they're offscreen, it would be perfect. I actually thought about something like that while watching the WIPs, but I didn't think it was already a thing.
WST
She/Her
Active player (442)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
Fishaman P wrote:
EDIT: Dat Altas encode. If it could be modified to show rings and objects while they're offscreen, it would be perfect. I actually thought about something like that while watching the WIPs, but I didn't think it was already a thing.
Making the offscreen rings/objects work is possible, but it will certainly involve a lot of coding and, even more importantly, some knowledge about the game engine which I do not have.
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Active player (469)
Joined: 2/1/2014
Posts: 928
WST wrote:
Fishaman P wrote:
EDIT: Dat Altas encode. If it could be modified to show rings and objects while they're offscreen, it would be perfect. I actually thought about something like that while watching the WIPs, but I didn't think it was already a thing.
Making the offscreen rings/objects work is possible, but it will certainly involve a lot of coding and, even more importantly, some knowledge about the game engine which I do not have.
I'd love to help if I can with the atlas encode if you'd like :P
Joined: 5/8/2010
Posts: 177
Location: Entropy
scahfy wrote:
Yes vote! An Atlas encode like this would be amazing.
I do agree a run like this would be really great, as long as we get to see the all everything on the level as well, this run seemed a bit weird just to see the enemies and ring pop out of nowhere. A ring counter would be the icing on the cake as well. I'm giving this a big yes, lets hope those other encodes get written soon. Not a good coder myself so I don't know how hard it would be.
solarplex wrote:
WST wrote:
Fishaman P wrote:
EDIT: Dat Altas encode. If it could be modified to show rings and objects while they're offscreen, it would be perfect. I actually thought about something like that while watching the WIPs, but I didn't think it was already a thing.
Making the offscreen rings/objects work is possible, but it will certainly involve a lot of coding and, even more importantly, some knowledge about the game engine which I do not have.
I'd love to help if I can with the atlas encode if you'd like :P
I have a lot of free time myself and basic knowledge of coding, I willing to help as well. It would be a good project for myself and future work as well. Can never learn enough.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Joined: 6/7/2008
Posts: 123
Location: Portugal
Easy yes from me! Though was it just me, or did you miss a ring near the start of Sandopolis Zone Act 1? It was like four rings in a row, at ground level, and said ground was all wavy. I can't rewind to check, duh, and going back to SZ1 from the start of the movie will just drain my time. The encode would come in handy... Also I learned something new: that sideways-moving orange platform on FBZ1. It's the only one of its kind in the game, isn't it?
I'm Espyo from the SRB2 Forums. Current project: A Pikmin fan engine, Pikifen
LSK
Joined: 4/17/2006
Posts: 159
WST wrote:
Fishaman P wrote:
EDIT: Dat Altas encode. If it could be modified to show rings and objects while they're offscreen, it would be perfect. I actually thought about something like that while watching the WIPs, but I didn't think it was already a thing.
Making the offscreen rings/objects work is possible, but it will certainly involve a lot of coding and, even more importantly, some knowledge about the game engine which I do not have.
If you can't make the offscreen rings/objects work, it would be cool to draw a box showing the actual game screen boundaries. I think that'd make it a lot more comfortable, visually.
Skilled player (1533)
Joined: 7/25/2007
Posts: 299
Location: UK
Espyo wrote:
Easy yes from me! Though was it just me, or did you miss a ring near the start of Sandopolis Zone Act 1?
He collects 3 of the 4 rings on 210750, but then goes back for the 4th ring at 212825
Former player
Joined: 7/6/2012
Posts: 207
Location: Réunion (FR)
big Yes vote.
~ [I]feeuzz
Experienced player (703)
Joined: 2/5/2011
Posts: 1417
Location: France
oh no, too boring, no vote....(oh yes, yes vote...)
Current: Rayman 3 maybe? idk xD Paused: N64 Rayman 2 (with Funnyhair) GBA SMA 4 : E Reader (With TehSeven) TASVideos is like a quicksand, you get in, but you cannot quit the sand
Experienced player (630)
Joined: 11/23/2013
Posts: 2208
Location: Guatemala
This is what will happen if Knuckles was in DuckTales or Wario Land... Yes vote from me.
Here, my YouTube channel: http://www.youtube.com/user/dekutony
THC98
He/Him
Experienced player (906)
Joined: 8/7/2012
Posts: 279
Location: Brazil
Even after watching all the WIPs a lot of times, I had to watch this once again. Great TAS, a big yes vote from me! :D
Youtube Channel | Twitch Channel • Finished projects: GC Sonic Adventure DX - Sonic | GC Sonic Adventure DX - Tails | GC Sonic Adventure 2: Battle - Hero Story | GC Sonic Heroes - Team Sonic • Current projects: GC Sonic Adventure 2: Battle - Dark Story - 1st WIP • Paused projects: GC Sonic Adventure DX - Knuckles - 1st WIP • Individual levels records: Sonic Adventure DX | Sonic Adventure 2: Battle • My Discord: Tales98#0408
Techokami
He/Him
Joined: 6/23/2008
Posts: 160
That was a hell of a ride. Yes vote!
Player (79)
Joined: 8/5/2007
Posts: 865
It just occurred to me that one reason this run might be so appealing is that it cannot use zip glitches, which are overwhelming other Sonic runs. It plays like a very well executed "traditional" speedrun.
WST
She/Her
Active player (442)
Joined: 10/6/2011
Posts: 1690
Location: RU · ID · AM
LSK wrote:
If you can't make the offscreen rings/objects work, it would be cool to draw a box showing the actual game screen boundaries. I think that'd make it a lot more comfortable, visually.
It would look like this (but in this particular case the color difference wasn’t intended, it’s a result of using level maps with wrong colors).
S3&A [Amy amy%] improvement (with Evil_3D & kaan55) — currently in SPZ2 my TAS channel · If I ever come into your dream, I’ll be riding an eggship :)
Joined: 10/23/2009
Posts: 545
Location: Where?
If the run present a lot of backtrack, I would be sweet to see ALL the level on the screen so we see the path taken! :o)