Actually, the subpixel positions are at $FFB013 and $FFB017. I'm certain of that, because hardcoding a display of those RAM locations into Gens gives an accurate view of subpixel positions.
To clarify about the jumping issue, when knuckles jumps, a vector of 6 pixels per frame in the direction his head is pointing is added to his current x and y velocity. Subpixel position doesn't matter at the time the jump is being made, but the angle of the slope is determined by your x and y pixel positions during that frame, and those pixel positions are influenced greatly by the subpixel positions in previous frames.
Additional notes about Jumping:
Gravity is a constant acceleration of 7/32 pixels per frame per frame.
Horizontal speed is lost when moving upwards at speeds between 4 pixels per frame and 0 pixels per frame.
If horizontal velocity is below 8 pixels per frame in the direction pressed, it may be regained while falling, at a rate of 3/32 pixels per frame per frame. Doubled if Super/Hyper, halved if underwater.
In the frame Knuckles starts gliding, his downward speed is boosted by 2 & 7/32 pixels per frame to a minimum of 7/32 pixels per frame.
While gliding, Knuckles accelerates/decelerates downward by 1/8th pixel per frame to a minimum/maximum of 7/16 pixels per frame (this usually ends up oscillating between 8/16 and 6/16)
While gliding, Knuckles begins motion at 4 (+ 3/32 if Super or Hyper) pixels per frame, and accelerates in the direction held (or faced) at a rate of 1/64 pixels per frame per frame (doubled if super/hyper). There appears to be no speed cap on this.
nitsuja wrote:
HHS wrote:
The subpixel positions are at $FFB012 and $FFB016, but Gens has an insect in dealing with cheat codes.
Even address: xxyy works right and writes xxyy to that address.
Even address : xx causes 00xx to be written at that address.
Odd address : xxyy causes yy to be written at address-1 and xx to be written at address+2.
Odd address : xx causes xx to be written at address-1 and 00 to be written at address+2.
I don't know which version of Gens you're talking about, as the re-recording one doesn't support cheat codes yet. Those do sound like bugs if you're describing it accurately, except perhaps writing xxyy to an odd address, which is a misaligned write and might end up having that effect because of endianness issues.
Actually, if you go to file->game genie, you can enter game genie or Pro Action Replay codes. This has been present since before the rerecording project was started.
nitsuja wrote:
upthorn wrote:
coming out of the loop after the hand my speed is about 500 less
500 is too much of a difference. That means the different subpixel position caused the optimal jump frame(s?) to move, and so you were no longer jumping on the optimal frame. Hex editing probably won't work, but you should be able to keep most of the time gained by replaying from there until the end of the act.
I wasn't Hex editing. My current downloop jump obtains a speed which is higher than I was able to obtain previously using an optimal downloop jump + an optimal downslope jump. When I did the four spindash method, the Optimal downloop jump produces a speed in the high 3600s, and there is no optimal downslope jump. I have the same speed, but different position, going into the hand before the tube leading into the loop.
I also lost some frames on jump from the tube just a bit before that, because I can't get the same y height I had before the jump without hitting my head. This could probably be somewhat ameliorated by doing the 4 spindash technique somewhat differently, but the testing for that could easily take hours or days without a bisq-bot like utility for gens. Even with a bisq-bot like utility it could possibly take hours. And perhaps it speaks poorly for my dedication to the platonic ideal of TASing, but I'm not prepared to undertake the task for a payoff of less than 30 frames.
As for the trick with the signpost in Carnival Night 1. It gave a net gain of 31 frames by the end of Carnival Night 2, but caused me to lose a timeunit on Carnival Night 2 because of bumper position. I would find this more acceptible if the trick with the signpost saved in-game time on CN1, but it doesn't, so I don't think I'll be using it.
I'm starting on those fixes to Ice Cap, though.
How fleeting are all human passions compared with the massive continuity of ducks.
By comparison, how fast is running and spindashing?
They can't be compared, it's not that simple. Spindashing gives you a high speed and starts you rolling. Rolling gains speed on downhills but loses speed everywhere else, and it has a maximum speed cap. Running has no speed cap and doesn't lose speed except on uphills, but it's slow unless you're already going fast when you start running. Jumping slows you down a lot unless you hit a ceiling or jump on a steep downward slope, but it will switch you from rolling to running when you land. So, usually it is fastest to spindash and then jump at a ceiling or on a slope to start running, but not always.
upthorn wrote:
I would find this more acceptible if the trick with the signpost saved in-game time on CN1, but it doesn't, so I don't think I'll be using it.
Don't forget to check other (later) act 1's; it's possible that CN1 is not the only act that allows scrolling down after the boss.
Running on the ground has 1/2 the accelleration that is possible in-air (halved underwater)
Running on the ground maxes out at 6 horizontal pixels per frame on a level, or upward sloping surface. (halved under water)
Decelerating on the ground happens at a rate of 1/2 pixel per frame per frame.
There is no actual cap on speeds obtainable when moving downhill, but Knuckles will not accelerate on a level surface if he is moving at 6 pixels per second or more.
Rolling on a level surface loses 3/128 pixels per frame per frame, underwater this is halved.
Running on a level surface loses 0 pixels per frame per frame.
When going downhill, rolling seems to accelerate faster, but will max out at 16 horizontal pixels per frame.
Interestingly, the game seems to store the speed you would have hit if rolling weren't capped, and calculate deceleration based on that number. However, changes to speed from jumping are applied to the capped, 16 pixels per frame number. As a result, there are situations where, after rolling down a steep hill, it is faster to roll up a steep hill than to jump to regain footing and run up the hill, because running up the hill you'll decelerate to below 16 pixels per frame, and rolling up the hill, you won't.
A max power spindash gets you moving at 12 & 3/128 (15 if super/hyper) pixels per frame, but has the first frame of deceleration applied by the time you start moving.
Running acceleration is quadrupled, and max running speed raised to 12 pixels per frame when super shoes are active.
Air acceleration and max air-speed are equal to the equivalent ground values when super shoes are active.
Super Shoes do not stack with super/hyper form speed bonuses -- if the super shoes were gotten after transformation, the acceleration and speed values will be the same as normal sonic with super shoes. If the super shoes were gotten before transforming, the effects will be nullified by transformation.
Super Shoes do not affect spindash speed.
Super Shoes lose their effects upon entering water, and do not regain them upon exiting (presumably a coding oversight).
Zipping through walls send you ~32 horizontal pixels per frame in the opposite direction from the one you hold while in the wall.
Climbing is a constant 1 pixel per frame up/down, which is doubled when super/hyper
How fleeting are all human passions compared with the massive continuity of ducks.
So... Gliding is faster across a horizontal distance when traveling for more than 4 seconds, assumung you're not super/hyper yet. Is there any way to make use of this?
Edit: Therefore it's never faster, because it's faster to stop and spindash (losing half a second at the absolute most) and then is faster overall for the next 3 and a half seconds (at least)
Okay, I have a serious lack of motivation problem for this TAS.
See, ever since I first saw Nitsuja's WIP, my own looks seriously unentertaining to me. And if this isn't going to entertain anyone, it seems fairly pointless.
So, I have a question to everyone who was interested in this to begin with:
After watching Nitsuja's recently published S3K Sonic & Tails TAS, do you still find this WIP entertaining at all?
How fleeting are all human passions compared with the massive continuity of ducks.
First off, don't even begin to compare your run to nitsuja's. Your goals are different than his. You're playing with a different character. Things are gonna be much different.
I watched your WIP run through and found it entertaining. I at first thought your special stages were slow, but maybe it was because you did things so unconventional that it boggled my mind.
I'm hoping you finish. Please do.
I'm still interested in this. I have to admit I think an any% Knuckles TAS could make a better movie simply because it will be a lot shorter and have more varied music, but it would have some slower sections and less tricks too, and this is probably the best Sonic game for getting all emeralds and making use of them. Either way, Knuckles plays extremely differently from Sonic.
As was said before, a Hyper Sonic run could also be interesting... not only does he have much better stats than anyone else, but that air dash move basically trumps all other abilities (including glide-cancel).
I wonder if I could justify a "50%" run as knuckles.
Hyper Knuckles doesn't get any speed improvements over Super Knuckles, and the extra abilities he does get are completely irrelevant to a good TAS, with one even potentially getting in the way. But in terms of run goals, I don't really see how I could justify collecting the chaos emeralds, and then not collecting the super emeralds.
How fleeting are all human passions compared with the massive continuity of ducks.
If only I knew what is the difference between those emeralds and the characters' abilities, I would tell for sure what run I would like to see most. On the other hand, the things I saw you doing in the test run made me interested, so I'd really like to see more, no matter what goals/characters would there be.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
If only I knew what is the difference between those emeralds and the characters' abilities, I would tell for sure what run I would like to see most. On the other hand, the things I saw you doing in the test run made me interested, so I'd really like to see more, no matter what goals/characters would there be.
The super emeralds are the second set of emeralds, accessible once the first set is complete, from any point, Mushroom Hill onwards.
In terms of the run, collecting them as Knuckles means
Can't use Super Knuckles until the end of Mushroom Hill 2 (could be a good thing -- it means you actually get to hear the level music)
Spends 9 more minutes in special stages
From the end of Mushroom Hill 2 onwards, Super Knuckles is replaced by Hyper Knuckles
Differences between Super Knuckles and Hyper Knuckles
Hyper Knuckles has two afterimages. (irrelevant)
Hyper Knuckles can breathe underwater. (irrelevant)
If Hyper Knuckles glides into a wall with more than a certain amount of speed, the screen shakes, and a collision is registered with most types of sprite based objects onscreen. Notable exceptions are bosses, rings, crush-death sprites, and anything which causes the player to stick to it. Notable inclusions are bonus stage teleport rings. (potentially counterproductive)
How fleeting are all human passions compared with the massive continuity of ducks.
I wouldn't mind if the run doesn't get all of the super emeralds, since they don't let you do anything different with Knuckles. Although... is the ending different if you only have all of the chaos emeralds instead of all of the super emeralds?
EDIT: The only real disadvantage of not going Hyper is that you can't pick up giant rings to get 50 starting in Mushroom Hill, right?
I wouldn't mind if the run doesn't get all of the super emeralds, since they don't let you do anything different with Knuckles. Although... is the ending different if you only have all of the chaos emeralds instead of all of the super emeralds?
EDIT: The only real disadvantage of not going Hyper is that you can't pick up giant rings to get 50 starting in Mushroom Hill, right?
Right. And the only place that could even come into play is in Lava Reef. Everywhere else after Mushroom hill, the giant rings are just too far off course to justify.
How fleeting are all human passions compared with the massive continuity of ducks.
Although... is the ending different if you only have all of the chaos emeralds instead of all of the super emeralds?
Not entirely. If Knux has all the Chaos Emeralds when completing the game, he picks up the Master Emerald "Pillar" and carries it back to Angel Island. If he has the Super Emeralds, he's Super while doing it. No big difference there.
Joined: 6/20/2004
Posts: 292
Location: United Kingdom
Personally, I think the super emeralds should but grabbed as then you do get the best ending and we can finally see an s3k game with the best ending. I don't care if it's just that knuckles is flashing instead, it still makes a difference imo.
Well... All of the sonic runs on this site (with the exception of Sonic Spinball, which doesn't really count) don't get the emeralds. They all have the "Ignores semi-important goals in the game" tag on them. I'd like to finally see a fun that gets all of the emeralds, and right now, you're as close as we can get.
So right now, this is heading for "Best ending" with maybe "Plays using a suboptimal character" or "Plays at hardest difficulty" as well. Because, like you said, Knuckles is meant to be the harder character to play.
Plus I've never seen the Knuckles ending...
Uuhhh… If getting Hyper Knuckles means spending NINE MORE minutes on the AWFUL bonus stages, then I'm strongly against that. Especially since it doesn't bring anything new and/or positive to the entertainment value. Super Knuckles is already good, I wouldn't want to wait a lot longer just for the slightly different ending.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Uuhhh… If getting Hyper Knuckles means spending NINE MORE minutes on the AWFUL bonus stages, then I'm strongly against that. Especially since it doesn't bring anything new and/or positive to the entertainment value. Super Knuckles is already good, I wouldn't want to wait a lot longer just for the slightly different ending.
The problem is I think that if I don't get the Super emeralds, I can't justify getting the Chaos Emeralds. Because, if I don't get the Super emeralds, I'm "ignoring semi-important goals in the game". And if I don't have 100% completion as my goal, how do I justify wasting the first 9 minutes in special stages?
How fleeting are all human passions compared with the massive continuity of ducks.
Well... All of the sonic runs on this site (with the exception of Sonic Spinball, which doesn't really count) don't get the emeralds. They all have the "Ignores semi-important goals in the game" tag on them. I'd like to finally see a fun that gets all of the emeralds, and right now, you're as close as we can get.
So right now, this is heading for "Best ending" with maybe "Plays using a suboptimal character" or "Plays at hardest difficulty" as well. Because, like you said, Knuckles is meant to be the harder character to play.
Plus I've never seen the Knuckles ending...
I think you're missing something here.
I submitted this run a while ago but it never got accepted, and it wasn't becuase of a poor execution.
EDIT: I'd much rather see all the super emeralds being collected and thus gettting the Doomsday stage and thus a proper ending, getting the first seven emeralds and ignoring the rest just makes it a sorta kinda 100% run, the super emerald stages are actaully a lot more entertaining than the normal emerald stages since they actually look hard to do when watching.