Well, 0.125 * 0.5 * 9600 = 600. Adding 600px per step doesn't make sense, agreed. But all those tiny values let me assume, the developers normalized them. Do you know, how many steps per second where used and what display size was used? I ask, because that 0.046875 makes sense somehow. For example, if the steps per second were 30 and the display width was 640, then 30/640 = 0.046875, or, if the steps were 15 and the width was 320, then 15/320 = 0.046875 I don't think this is coincidental.
But I have no clue how they would use such a ratio...
Well, I'm not sure how many steps per second, the guide doesn't specify. But I believe it assumes the resolution is roughly 320x240, as the Genesis had a maximum resolution of 320?480. On the other hand, we're not working with Genesis hardware, so the number of steps and the screen size should be completely irrelevant, methinks... Which makes me still wonder how to apply pretty much any variable listed in the physics guide, really.
[quote:wwyf7ssh]Yes, either that or the logic should be adapted. I read something about converting the ground speed to x- and y-speed:
Xsp = Gsp*cos(angle);
Ysp = Gsp*-sin(angle);
If you would take it that way without adding (or substracting) 180 from angle, then the directions are inverted. Think of the 30? example. sin(30) = 0.5, but Gsp * -0.5 would get negative, so Sonic's Y position would lower (= he would walk upwards) while he should walk downwards. You may either do
Ysp = Gsp * sin(angle) or Ysp = Gsp * -sin(angle + 180)
but stick to one method throughout the game code, and make sure the angle you pass to the object's angle is a value in the range [0, 360]
EDIT: Just to stress that. The original is based on counter clockwise. That means you may only correct on the Y-axis, not on the X-axis!
Hmm... I'm not sure messing about with the X and Y speeds would do any good, looking at the base movement for the engine. The player's basic movement is based on an On Step thing reliant on two sensors, which automatically adjusts the player's angle and the direction of his horizontal speed. Unless I'm mistaken and changing the Y speed would be perfectly fine in this instance...