Several people suggested I do a run of Sonic and Knuckles 3 to see if I could improve on SprintGod's run. I didn't think I could improve such a perfect run by more than a few frames, but it soon became clear that I was completely wrong about that. SprintGod's movie is full of amazingly precise playing and several tricks I have to admit I never would have found, but there were still some glitches he didn't find and some occasional slight imprecision in the playing. Also, he played 1-player with Sonic instead of 2-player with Sonic and Tails. Tails makes quite a difference, although my (extremely rough) estimate is that about 50% of this improvement could have been made without him. I should emphasize that I had (/made) much better tools for making this run than SprintGod had. Speed display + camera hack for each character + map maker + jump predictor + multitrack recorder... In any case, the result was a significantly (about 10 minutes) shorter movie.
Level
Time
Units Improved
Angel Island 1
0:38
5
Angel Island 2
1:16
2
Hydrocity 1
0:33
10
Hydrocity 2
1:04
16
Marble Garden 1
0:37
10
Marble Garden 2
0:35
25
Carnival Night 1
0:34
8
Carnival Night 2
1:08
38
Icecap 1
1:16
11
Icecap 2
0:00
41
Launch Base 1
1:38
10
Launch Base 2
1:07
2
Mushroom Hill 1
0:46
2
Mushroom Hill 2
0:37
23
Flying Battery 1
1:08
36
Flying Battery 2
1:14
98 (1:38)
Sandopolis 1
1:45
8
Sandopolis 2
1:28
39
Lava Reef 1
1:12
26
Lava Reef 2
0:51
129 (2:09)
Hidden Palace
0:26
0
Sky Sanctuary
0:52
3
Death Egg 1
1:04
27
Death Egg 2
2:18
34
Total
24:07
565 (9:41)
I chose to not use death to save time, either in-game or real-time; SprintGod didn't use death either, and probably more people would be annoyed by it than appreciate it in this case. This also applies to entering bonus games, which interrupt the action and put you back at the last checkpoint and roll back the timer in a way similar to dying.
Thanks to Upthorn for showing how to activate the glitch in Icecap 1 and another glitch in Marble Garden 1, and for his Knuckles movie to give another source of ideas and comparison, and for giving some feedback about this movie while it was in progress, and for his recent work on Gens and help with some tools in it. And I believe it was mike89 on Sonic Center who revealed the Marble Garden 2 glitch.
See SprintGod's comments for a good explanation of the game's basic physics and quirks/glitches. Some more detailed (but currently very incomplete) information can be found at Sonic the Hedghehog tricks. A few things to add are: Acceleration is better in the air than on the ground, but deceleration is better on the ground (unless rolling) than in the air. Most of the glitches used to pass through objects work by tricking the game into putting those objects offscreen long enough for Sonic to pass through them, because the game does not do any calculations with objects that are offscreen.
Sorry for what I do to Icecap 1 and 2, but it is clearly much faster than beating it normally, and at least Icecap 1 has some nice music to listen to.
Some things that might seem like mistakes:
At the end of Mushroom Hill 1, Tails has to hit the signpost to the far left, otherwise Knuckles won't appear. I get a fire shield earlier because it is not in the ground anywhere on that screen to get from the signpost.
In Hydrocity 2, I have to wait for the third timed object, but starting that level enough later to save another time unit would place the first and/or second timed objects in places where I would need to wait even longer to get through.
The "teleport" glitch I use mainly in Launch Base and Lava Reef requires that Sonic be on the ground and at high speed from more than half of a screenful away (so it is not possible to use it in very many places), and sometimes it is slower even when it is possible because there is rarely enough time to do a full-speed spin dash when doing it.
Ending Flying Battery 2 where I do is actually faster than ending it with Sonic all the way to the right because of the jump, and the flying glitch I would normally do to save time is not possible there because of the type of ground.
At the very end of Hidden Palace zone, the game has a bug where it forgets to return control to player 2. The level won't end until both Sonic and Tails are in place by the teleporter, so I make Tails go there indirectly by using Sonic's command for a spindash as a jump for Tails.
In Launch Base 1, I run past a booster without triggering it because I am already moving faster than the booster speed, and rolling down that decline would be slower because rolling has a speed cap (which running does not).
I briefly pause the game before the fight with Metal Sonic in order to manipulate his random attack pattern into something better (the same one SprintGod had).
When Tails is uncontrollable, he can be tricked into landing early by jumping at the right height near him. But it is difficult to make him actually arrive anywhere earlier; the game will take away his control and teleport him to a predefined nearby spawn point when he has spent too much time offscreen, giving player 2 typically less than a second of control over when he starts flying (very slowly in the vertical direction) to reach you. He only arrives quickly at boss fights because the edge of forced screen boundaries will push him there.
The start of Mushroom Hill 2 (while offscreen) progresses more slowly than normal because all of the loops are broken (they are impenetrable walls that must be jumped on top of) and the springs and other objects are not there.
In Sandopolis 1, I don't use Tails to bypass the red spring under the sand river because it's not enough faster to avoid the next wait for a timed object.
I found a way to skip the midboss of Launch Base 2 that would save time, except it causes the timer to not stop for the extremely long cutscene.
The Launch Base 1 boss is "afraid" of Sonic and moves up when Sonic is in the air nearby it, so it's faster to kill it with Tails alone and keep Sonic always under it.
Sonic can't touch any of those moving platforms in Flying Battery without losing the glitch.
It's possible to zip further into the level in Launch Base 1, but doing so would skip the speed shoes and ultimately be slightly slower.
No death
Aims for fastest (primarily in-level) time
Ignores delays caused by bonus effects
Takes damage to save time
Abuses programming errors in the game (a lot)
Manipulates luck (a little)
One player controls two characters
Emulator used: Gens Movie Test 9j (works with 9f, etc.)
You didn't save Tails from the ice cube on the Icecap boss.
That and you had him die 6 times in LB2.
For such obvious neglect, your TAS license is revoked. Come back when you're nicer to your fox friends.
And when you do, I've heard there's a guy who looks like an egg, that has your tag-team marked for 225 counts of destruction of his master machines. What do you have to say in your defense? "Be thankful I went out of my way so that it wasn't 231"? Yeah, like that'll cut it.
In marking your recap of the journey of Sonic and Tails, it appears you've gotten things mixed up with the past. The times shown for Flying Battery are for the old run; the improvements are correct and need to be applied to those times.
Emulator Coder, Site Developer, Site Owner, Expert player
(3576)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
No there is no such rule, though it is reccomended that you watch at least some of it. In a really good run (or really bad one) I can tell within a few minutes what my vote will be. Bisqwit has also said that watching the entire run is not required. Though, inability to watch the whole thing is a telling sign that the run isn't of highest entertainment value.
This is by far the coolest thing I've ever seen. I can't vote yes enough (so once will have to suffice). There needs to be a new category for runs like this ... may I suggest a little doggie icon since you made this game your bitch :P
Joined: 8/1/2004
Posts: 2687
Location: Seattle, WA
True, but voting for a movie without watching it should be frowned upon at least.
What happens when someone submits a 20 minute Super Metroid run and our viewership immediately rushes to vote Yes simply because it's faster? What if that movie used cheats and terrible breaking glitches and whatnot? Those votes can't be unvoted without mod approval!
What about when people vote for someone's work just because that specific runner did it? I won't name any names, but it feels like that is what AngerFist did in this submission. If he saw it beforehand, or something, that's cool and I apologize for bringing it up, but it seems in bad taste to approve a run so quickly without possibly having not seen it.
Joined: 9/23/2006
Posts: 207
Location: Moreno Valley, California
Icecap stage is having me ask myself where is my God now?...
edit: Okay, Sandopolis gave me a headache, Eggman forgot to show up at Lava Reef and I'm still completely flabbergasted at nitsuja SKIPPING AN ENTIRE LEVEL, but I'll forgive you for raping my mind just this once. Obvious "yes" because there's no "have my babies" option.
"The way to move out of judgment is to move into gratitude." — Neale Donald Walsch
DannyLilithborne on IRC
True, but voting for a movie without watching it should be frowned upon at least.
What happens when someone submits a 20 minute Super Metroid run and our viewership immediately rushes to vote Yes simply because it's faster? What if that movie used cheats and terrible breaking glitches and whatnot? Those votes can't be unvoted without mod approval!
What about when people vote for someone's work just because that specific runner did it? I don't want to name any names, but it feels like that is what AngerFist did in this submission. If he saw it beforehand, or something, that's cool and I apologize for bringing it up, but it seems in bad taste to approve a run so quickly without possibly having not seen it.
I agree with your point!
I was just trying to explain why he did this...! Anyways, why not just forget about it and leave it like it is?
Emulator Coder, Site Developer, Site Owner, Expert player
(3576)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
Zurreco wrote:
What about when people vote for someone's work just because that specific runner did it?
That is an entirely different issue. And you can watch the entire movie and still do that.
I don't want to name any names, but it feels like that is what AngerFist did in this submission. If he saw it beforehand, or something, that's cool and I apologize for bringing it up, but it seems in bad taste to approve a run so quickly without possibly having not seen it.
I know that he did see a wip(s0 of this beforehand.
Joined: 5/20/2004
Posts: 118
Location: Over there!
I've been waiting for this one.
I was aware of quite a few of the smaller improvements, and the Marble Garden stuff, but most of the Tails abuse and the various other glitches are entirely new to me. I certainly didn't realise that Tails could break the game so much.
Anyone who votes non-yes deserves a permanent ban.
I just watched the whole thing and it's as if Sonic is possessed by a demon (and Tails). Throughout the whole run I was thoroughly entertained, I didn't want it to end. You're one hell of a Showman even though it was consistently great. I give you a yes vote and I'd like to thank you for putting a good chunk of time into such an excellent run, it really provides tremendous entertainment.
Sonic 1 probably isnt as good a candidate due to lack of spindash and such, although sonic 1 is coming out for gba in about 2 weeks, so maybe that might be something.
Although I thought Mushroom 2 was a little cheecky though.
...
I did have question marks over Sandopolid one because you see to take a while trying to bypass the sand so you can go down and use the spring rope to shoot up onto a platform above the river, surely you could have used tails to do that quicker though.
I forgot to explain those in my submission comments. I've now edited them to answer those two questions. The short answers are: The start of Mushroom Hill 2 is a lot harder and slower when all of the loops and springs are broken, and I had already tried that in Sandopolis 1 and all it did was let me start waiting a little sooner at the next timed object.
JXQ wrote:
Nitsuja, any plans for Sonic 1?
No, not for the original version at least.
mikwuyma wrote:
What happened in Ice Cap zone?
First, standing on an ice block with Sonic while Tails hits it puts Sonic into this strange mode where he can walk on air and doesn't interact with slopes properly (this also happens in Flying Battery by getting a pull-down bar offscreen while the game thinks I'm still hanging from it, or by standing on the edge of the capsule boss when it explode, and I've seen the same thing happen in a couple of less-useful places in Sonic 2).
Then, like in Carnival Night 1 and Marble Garden 2, I go to the left edge of the level, and the game forgets to do some boundary checking and teleports Sonic way out past the right end of the level. Icecap 1 is unusual because it loads the act 2 map before the end of act 1 without any boss or other event to mark the transition, so when the camera gets to that point, it puts Sonic at the start of the act 2 map. But it loads in parts while trying to keep running the game at full speed, and Sonic is further to the right than it expects, so I'm able to jump into an unloaded chunk of the level just before the tiles load and cover Sonic. From there, I hold right to zip left and reach the left edge of the act 2 map, which again moves Sonic to the right of the (now different) level, this time rescued by the act 2 boss fight forcing Sonic onscreen.
mike89 wrote:
Only one thing I didn't see, which I was hoping for: In Lava Reef 1 it's possible to, the first time you appear "outside", near where the lava is, fall into the floor with enough speed and emerge near the fire shield and 10 rings below.
Damn it, in an act 1 before an act 2 that is chock full of timed objects... I'll see if it can be spliced in somehow (I won't cancel or resubmit this though). EDIT: short answer: not easily splice-able. Long answer: this game is hex-edit friendly for different acts, but this change still affects over 90 seconds of gameplay, and that's a long time to record for in this game. It wouldn't take too long, but I need a break from TASing this game, and that change in Lava Reef 1 is not the only known improvement (others include Hydrocity 2, and possibly Flying Battery 1, Sandopolis 1 and 2, and Mushroom Hill 2.)
Also, it doesn't seem like your description of how to do it is very accurate if I found what you meant (rather than running at a high speed, it required coming to a complete stop and moving slightly left on the sinking platform). EDIT: Yeah, I already found what he really meant minutes after seeing his next post, thanks though eredani.
Joined: 8/8/2005
Posts: 296
Location: NSW, Australia
nitsuja wrote:
First, standing on an ice block with Sonic while Tails hits it puts Sonic into this strange mode where he can walk on air and doesn't interact with slopes properly ... and I've seen the same thing happen in a couple of less-useful places in Sonic 2).
Can you give me a few locations? I'm trying a challenge on Sonic 2 with Knuckles to complete the game with no rings. As far as I'm concerned for now it's impossible, there are four levels I know I can't get past and another two that are pretty doubtful.
nitsuja wrote:
Also, it doesn't seem like your description of how to do it is very accurate if I found what you meant (rather than running at a high speed, it required coming to a complete stop and moving slightly left on the sinking platform).
Have you got an input recording of this? I'm interested to see how you've done it - I recall just holding right the whole time and being zipped left to land on the checkpoint platform.
it's already incredible to beat one of the most famous tas ever, the favorite of many people ; it also beats it by a large amount of time, making it more interesting, etc.
so I'd rather ask a question that has not been asked yet :
what are exactly the tools you used ? especially the multitrack one ? how did you invent them ?
it seems that in the future, only skilled developers will be able to beat runs, creating more and more incredible assisting tools.
I never sleep, 'cause sleep is the cousin of death - NAS
Well, skilled developers put in effort to making the tools for the runs, so they deserve the credit. I mean, how often do you see people going to great lengths trying to make a TAS? Aside from the few outstanding TASers who innovated many new methods and tools for speed running, most others are usually contents with frame advance and then claiming optimisation. I may be over-generalizing, but that's how I look at it.
But then again, many for these outstanding TASers are unselfish and it's probably only a matter of time before they release these tools to us for to add to our badass arsenal to break the game to bits. I don't know about you, but I feel that many more great TASes will be produced, as long as people are willing dedicated and devoted to perfection, whether or not they are skilled developers. After all, we always have a community of people on the forum or on IRC ready to help on every run.
it's already incredible to beat one of the most famous tas ever, the favorite of many people ; it also beats it by a large amount of time, making it more interesting, etc.
so I'd rather ask a question that has not been asked yet :
what are exactly the tools you used ? especially the multitrack one ? how did you invent them ?
it seems that in the future, only skilled developers will be able to beat runs, creating more and more incredible assisting tools.
[img_left]http://upthorn.mspencer.net/temp/S3KTools.gif[/img_left]
"multitrack recorder" = Record player 2 input separately from player 1 input.
Most of the other tools can be easily summed up in a screenshot.
XVEL: Current horizontal velocity in 1/256 pixels per frame. Negative is leftward.
XJVEL: Horizontal velocity if player jumps this frame.
XPOS: Horizontal position (pixel component)
XSPOS: Horizontal position (subpixel component)
YVEL: Current vertical velocity in 1/256 pixels per frame. Negative is upward.
YJVEL: Vertical velocity if player jumps this frame.
YPOS: Vertical position (pixel component)
YSPOS: Vertical position (subpixel component)
GVEL: Groundspeed. When on the ground, xvel and yvel are determined by this and slope
SLOPE: Angle of ground player is currently on. Determines x/y velocity from groundspeed when running. Determines x/y velocity from running/rolling x/y velocity when jumping.
Note: Color coding of displayed information was applied after screenshot was taken.
Note: This screenshot represents my personal arrangement of displayed information (for my planned Knuckles run), and as a result, does not display any information regarding Tails, and may include information Nitsuja is not using.
How fleeting are all human passions compared with the massive continuity of ducks.
It's a run by nitsuja, and it's a Sonic game.
DO WE REALLY NEED TO VOTE HERE?!
Oh, and nitsuja? Sonic Team called. They want their Ice Cap Zone returned.
Heh, like I even needed to add my vote. Very well done. I can't believe hte parts you could skip that I don't think you were actually suppose to...heh.
thanks for the explanation upthorn, and I think I can guess how the multritack tool work now (print/edit of commands are separated for each player, but the movie file only hold one line ; or 2 separated files merged at the end). it should help a lot against the frequent headaches multiplayer tas must give.
I never sleep, 'cause sleep is the cousin of death - NAS