Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
upthorn wrote:
Yeah, he climbs it faster, but because he gets stuck on it and can't do the knuckles glide to head straight down, it takes longer for him to spindash, and the overall level time is slower than Knux's.
I think you got the levels mixed up; Knuckles goes through MZ1 in 0:15:40, while Tails does it in 0:14:49, almost a whole second faster.
upthorn wrote:
If you look at the map http://www.soniccenter.org/maps/s1z21.gif you can see that an earlier part of the level is almost as high as that wall. If you spindash jump and fly from there, I think you should be able to clear the wall entirely, without bumping it and losing your forward momentum.
Thanks for the link, but I have been using the maps at Sonic Retro. I had already tried the route you mention, but it is ultimately slower because of loss of forward momentum and lower maximum horizontal speed. The thing is that the optimal flight points (i.e., the best points to activate flight or to boost up) are:
When starting flight, if upward speed is just under 1024 subpixels per frame (sometimes, up to 1036 subpixels per frame upward speed is optimal -- but it is not reliable). In this case, you have no loss of vertical speed when going to flight and can clear the greatest distance possible. Upward speeds between 0 and 1024 do not lose vertical speed when you go into flight, while upward speeds above 1024 get lowered to 512. I haven't tested thoroughly for much higher vertical speeds than jumping, but activating flight when bouncing sometimes allow higher vertical speeds.
When climbing, the optimal point to boost (if the objective is climb rate) is between 250-258 subpixels per frame; pressing the jump button will keep you between 272-280 subpixels per frame upward (depending on the starting flight speed). Note that this loses forward speed because or drag.
If the downward speed is about 960 subpixels per frame, you can boost without loss of forward speed and the vertical speed will remain downward -- is may just reach zero, depending on the exact speed.
Now, back to MZ1: if I start from the higher points, I will have to boost at least twice at a suboptimal point, losing forward speed, or I will hit the wall in the middle. That is even if I (ab)use sloped terrain to get a much higher initial vertical speed. At most, I will be traveling at 1536 subpixels per frame forward after drag kicks in, compared to the 4055 subpixels per frame I reach for quite a stretch. I could climb the wall about 2x as slower and it would still be faster.
upthorn wrote:
I can send you the special gens hack, too, but first I need to find where in the Tails in S1 ROM a couple of things are, so all the display functionality works properly.
I'd appreciate that, yes. Some of the values whose location I know: X and Y position, subpixel position and speeds are in the same place as Sonic 1, as is the combined speed value and the slope gradient. Timer (unless the Sonic Tricks page is wrong) is slightly different: minutes at 0xfffe23, seconds at 0xfffe24 and frames at 0xfffe25. I haven't tried the camera locations. I guess Pu7o can give you any other values you need.
upthorn wrote:
Well the thing is, Knuckles' route is essentially the same as Sonic's route, and there's nothing Sonic can do that Tails can't.
I am not completely 100% sure of this; Tails has a slightly smaller hit box, which could prevent some of the stunts Sonic does (but enable others), but that is just a feeling. Anyways, I will try again to replicate the Sonic route and see how it goes.
upthorn wrote:
Even the thing where you let go of the jump button so Sonic starts going down faster, and then hold it again after bouncing off an enemy can be done without triggering Tails' flight, so long as you start holding on the exact frame you bounce off the enemy.
I haven't been able to do this on the hack at hand (but I can easily do it in S3&K); maybe something for Pu7o to fix, if he is still supporting the hack.
upthorn wrote:
I swear I remember being able to manipulate which side of the see-saws he drops the spike balls on by changing which side of each is down before he arrives.
If that is possible, then yes, I think the fight could be improved; as is, none of the published (or obsoleted) runs use this, so maybe it is not faster or possible.
upthorn wrote:
Actually the first version of the TAS which made use of it was done before sonic 1 camhack existed. As for it being slower, that's a poor choice of words on my part, what I meant is that it takes like a second longer to get into the wall, because of the delay Tails has between ducking and the camera panning down, which neither Sonic nor Knuckles has.
Knucles does have it too (just tried it); otherwise, spindashing would be annoying as hell. But I will look into making it work and see if I can improve the time.
upthorn wrote:
How it works is that there's a collision weirdness with the 45 degree slope. If you're going at 6pix/f or faster (which is very easy to do with spindash), you can go from not being on the slope yet, to being inside the slope to the point where it acts as a wall instead of a floor. I forget the exact positioning required, but you should be able to find it by watching position on the currently published S1 TAS.
Thanks for the explanation, it will be very useful when I get to it.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
upthorn wrote:
In MZ Act 1, it's possible to use the same trick that is used in the currently published S1 TAS to go through the wall. Failing that, it would be better to have Tails start flying over the wall from earlier and higher, so he doesn't get stuck at it for so long.
I will try the Sonic glitch to see if it is faster or not; but as for the wall, I just want to point out that Tails clears that wall faster than Knuckles does. From what I have seen, though, I will have to try to obtain a copy of Gens with the S1 camera hack compiled in (and I can't compile it myself because I don't have MFC).
upthorn wrote:
In SYZ Act 2, you take a different route from the Knuckles TAS, but it ends up slower. Tails should be essentially able to duplicate the Knuckles route.
Not quite; starting Tails' flight keeps most of the forward speed (you lose only when going upward between 0-1024 subpixels per frame), while Knuckles' glide sets forward speed to 1024 subpixels per frame. Tails cannot get past the initial bumper similar to Knuckles (has to decelerate first) and his higher jump strength leave too little room to decelerate when jumping to the ceiling to regain control. I think that most of the difference (13 frames) can be reclaimed by optimizing the initial landing (at the top of the stage), the collision with the last bumper and, if optimizing the initial landing helps, by ignoring the invincibility (I know that delaying a few frames at the start allow me to go straight without the invincibility; maybe improving it does also).
upthorn wrote:
And in LZ Act 3, you do a good job of duplicating the Knuckles strat, but you're 2 seconds slower because of the unnecessary swimming.
Of the two swimming bits (to get to the cork, and to get the shortcut), the second one is mandatory and can't be skipped; it is what allows me to go into the ground. I can probably improve getting to the cork, though. But most of the differences are actually that (1) I need to swim inside a wall or I get too low to use the shortcut correctly (and end up in a closed room with no way out) and (2) Knuckles' glide allows him to hit the switch at the end a lot earlier.
upthorn wrote:
In SLZ Act 1, Tails has a jump-strength advantage over Knuckles which should end up with Tails having a faster time, rather than slower. Again, I think this has to do with poor use of the flight ability.
I think you mean at the very beginning, right? Because the second use is done without loss of forward speed, and I think that delaying it by even 1 frame prevents me from landing on the ledge.
upthorn wrote:
In SLZ Act 3, it looks like you make some poor use of the flight ability.
In the first case, I can avoid the (6-second slower) Sonic route; likewise for the second use (and it is in fact almost necessary to prevent me from getting embedded -- in a bad way -- into the wall straight ahead). That leaves the boss:
upthorn wrote:
Additionally, at the boss fight, Robotnik will take damage from the spike balls even if he's already flashing, which could probably speed up the fight a bit.
I wish it could... but the spikes go on the wrong way and can only be used when Robotnik already going back -- but by then, he has already been defeated.
upthorn wrote:
In SBZ Act 1, it's possible to use the same zip trick that the published Sonic TAS uses. It's not as fast as the Sonic or Knuckles versions, and requires somewhat more precise placement on the piston, though.
It requires the camera hack, which is why I haven't tried it; and it being slower limits its usefulness.
upthorn wrote:
In SBZ Act 3, it's perfectly possible to use the same zip trick that's used in the published Sonic 1 TAS
I had actually missed that one... will see about implementing it when I get around to that stage of the game once again.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Optimizing the GHZ2 route, I managed to knock 10 frames, down to to 0:15:44. Trying a bottom route after the speed shoes resulted in the same time at the end. Unless there is a faster route without the speed shoes, or a way to get into that wall, that would be it :-(.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
So far, the best I got for GHZ1 is 0:17:12 (squeezed another frame from better speed management). Everything else I tried resulted in some slow down or another -- even removing the second flight and trying something else is slower by a couple of frames. The movie file for GHZ1 is here.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
marzojr wrote:
upthorn wrote:
1) In GHZ act 1, you fly a couple of times where it seems unnecessary, and it slows you way down.
That is a good point; I will revise this zone.
Wow. I already gained 16 frames at the first flight point by the simple expediency of keep holding right by 19 more frames, delaying the flight by 4 frames and by start decelerating while still approaching the ledge. This leaves me with fully rev'ed spindash at 00:06:22 instead of the 00:06:38 from the run. If things keep going like this, Knuckles' time may be beaten.
Edit: so far, I have managed to reduce the GHZ1 time to 0:17:17, just 4 frames below the Knuckles time; I actually gained very little from trying to optimize the second flight (3 frames) but gained 11 frames on better speed management from the loop on, including an extra portion of flight to avoid a jump over spikes and the resulting speed loss.
The extra flight portion incidentally gathers some rings and makes this the only stage so far with more than 50 rings.
Edit 2: And the speed management just keeps on pouring: 0:17:13 in GHZ1.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
upthorn wrote:
I haven't actually watched this yet because in your PM you told me you weren't going to submit it.
That is because I wasn't planning on submitting it when I sent you that PM.
upthorn wrote:
[...]I'd like to review it for technical stuff before you submit, so you don't have to go through the trouble of submitting only to have it rejected on technical grounds.
That would be great, yes.
upthorn wrote:
1) In GHZ act 1, you fly a couple of times where it seems unnecessary, and it slows you way down.
That is a good point; I will revise this zone.
upthorn wrote:
2) In GHZ act 2, it looks possible for tails to do the same trick that sonic and Knuckles do, but it turns out they placed an additional invisible wall there.
So that is why I couldn't get it to work...
upthorn wrote:
(Though, this route might be more entertaining, if you don't want pure speed to be your goal).
Hm. Need to look for a faster route then.
upthorn wrote:
3) In GHZ act 3, again it looks like you didn't take the optimal route, you might want to look at the Knuckles TAS again.
The times I tried the Knuckles route resulted in a slower run, but I have learned a lot more of Sonic TASing since. Maybe I should try it again. The difficulty in taking that spring is that Knuckles uses a quick glide to slow down and lose vertical speed, while Tails will have to jump earlier.
In any case, I'll leave these for tomorrow as I can barely keep my eyes open now.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Over at #nesvideos, Bisqwit gave me the go ahead; I am polishing the run for submission, and am optimizing several levels.
I already managed to gain a few frames in Marble 3 (reduced timer by 1 second) and Labyrinth 1 (reduced timer by 1 seconds). I also finally managed to get the full shortcut in Labyrinth 3, but the lack of gliding means final time is 30 seconds (and needing to knock 35 frames to drop it to 29) compared with 28 for Knuckles. Given the desynchs that these gains caused, I will post the new version when it completes the game once again. And hopefully improving the Scrap Brain zones.
Edit: fixed overly optimistic value pulled from memory.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Submitting it for publishing would require a special permission, since this is not one of the "approved" hacks; if this permission were to be granted, I would gladly submit it.
As for precision: I tried to be as precise as possible, even going so far as trying several stretches again and again until I found the optimal frame to jump (such as the "one-in-a-million" jump at the end of Star Light 2 which allows me to get past a barrier above the top of the stage and reach the end). I wasn't as careful in the Scrap Brain zones, which I made quicker just to get a run that completed the game (and now I am finding it harder to optimize these levels... go figure). Nevertheless, I still managed a 144-frame improvement in Labyrinth 3 with more precise movement at the beginning.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
After five tries in Scrap Brain 2, each adding 100 or more frames, and after failing to get the bridge trick from the last Sonic run, I decided to leave the Scrap Brain zones alone for now. But I have posted the improvements to Labyrinth 2 & 3.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Thanks for the compliment :-)
And I know I said I wouldn't likely do it now, but it turns out I am doing it anyway: using a glitch from the lastest Sonic 1 run, I reduced Labyrinth 2 to 0:26 and better optimization led me to reduce Labyrinth 3 by 144 frames, bringing it down to 0:54. When I finish optimizing Scrap Brain, I will update the file and the totals.
Edit: Labyrinth level mix-up.
Experienced Forum User, Published Author, Experienced player
(758)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
I have seen Upthorn's and JXQ's runs of Sonic 1 and JXQ's Knuckles in Sonic 1 run, I just had to see a run of Tails in Sonic 1. After looking around, I found out one wasn't likely to be forthcoming. So, in what may be my first and only TAS, I decided to do it myself. The hack is
here (I used version 2), while the movie is here.
This TAS was based on the aforementioned runs with Sonic and Knuckles, even though I didn't use any of the input. For this reason, the number of re-records (9548) may seem low; but I didn't have to figure everything out and could simply look at how things were done in the existing runs. Credit goes to Upthorn, JXQ and all others which did the figuring out of routes and techniques.
I recorded this with Gens 10a (from the downloads page).
I probably won't be submitting the movie as the ROM is not in the list of "approved" hacks.
The level break-down:
Level Time Notes
Green Hill 1 0:17:47
Green Hill 2 0:15:54 [1]
Green Hill 3 0:29:23 [2], [3]
Marble 1 0:14:49 [4]
Marble 2 0:15:34 [5]
Marble 3 0:27:54 [6]
Spring Yard 1 0:19:46 [7]
Spring Yard 2 0:22:05 [8]
Spring Yard 3 0:47:50 [9]
Labyrinth 1 0:26:52 [10]
Labyrinth 2 0:26:05 [10], [11]
Labyrinth 3 0:30:41
Star Light 1 0:18:07 [12]
Star Light 2 0:12:36 [13]
Star Light 3 0:30:44 [14]
Scrap Brain 1 0:24:44 [16]
Scrap Brain 2 0:21:33 [17]
Scrap Brain 3 0:17:06 [18]
Final 1:14:33
[1] I couldn't get the wall trick to work: Tails can't glide, hence can't do it like Knuckles, and he can fly, hence he can't do it like Sonic...
[2] Knuckles' glide allows him to quickly stop after the initial spring. Tails has to do it otherwise, and loses time; the few frames cost a second at the end.
[3] Robotnik wasn't expecting Tails, hence the beatdown...
[4] Tails can fly up that wall faster than Knucles can climb it. Also, the higher jumping strength makes tails reach a faster speed right up to the wall.
[5] Tails has a lower maximum flying speed than Knuckles' gliding, and Knuckles can reach the walls slightly faster. It is probably possible to knock off 3 more frames with cascading desynchs on all subsequent levels.
[6] Knuckles' glide lets him reach the boss faster, but Tails' flight lets him slaughter Robotnik much faster.
[7] Going top-side avoids some dodging of obstacles that lose speed and some vertical movement that lose time.
[8] I failed to go the Sonic way, and Tails' flight can't take it the Knuckles way. I also had to detour for that invincibility because the moving spike was in the way of the faster path.
[9] Tail's flight prevent him from doing it like Knuckles, hence he takes longer to climb the wall. Tails slaughters Robotinik, but that isn't enough to make up for all the lost time.
[10] Knuckles loses less time dodging the enemy at the begining due to his gliding.
[11] Using the shortcut from the newest Sonic run.
[12] Knuckles's glide lets him get quicker stops. Tails flight lets him get some places slightly faster.
[13] Tails' higher jumping strength and flight forced me to take a slightly different route. They also allowed him to reach insane speeds and zip through this level faster than anyone ever did.
[14] The shortcut Knuckles takes can't be used by Tails. I failed to get Tails from going through that loop like Sonic does. However, faster speeds and a faster route (less vertival motion) and a slightly faster boss battle allowed Tails to draw.
[15] Probably the least optimized levels. There is probably lots of room for improvement, but I got bored with the run. I might redo these in the future, but I am not doing it now.
[16] This stage has a ceiling which prevents Tails from going through the top. This could have circumvented a part of the stage in which Knuckles gains an edge due to his gliding stop.
[17] Using shortcut from Sonic run.
[18] Knuckles' glide stop lets him go about much faster, particularly around the second switch.
Edit: new times and new comments for newest run.
Edit 2: Updated table, comments and movie file. Table now includes in-game frame counter values as the last number.
Enjoy!