Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

Dreamcast physics vs Modern physics stuff


Recommended Posts

I played around with SA2HD and Generations for about 2 hours, and decided to try and find out the key differences in how 3D sonic games handle physics compared to how the 2D ones do.

The Test Stage in SA2 really gives alot of insight on how the game was probably designed and programmed...particularly the lack of loops/halfpipes in the test stage but the abundance of slopes, and the inclusion of stairs. Insight on Sonic Generations mostly came from the ability to mod its variables in the PC version. When trying to mod the game to more closely resemble Sonic Adventure physics, i ran into a few problems.

I'll be using Sonic Adventure 2 for most of this.

massive wall-o-wasted research alert.

1) How SA2 (seemingly) handled slopes

With regular inclines (and any of the non-stair steep inclines in city escape and the rest of the game), if you begin to roll up a slope and let go of the controller, Sonic will slow down, begin to curve to either direction, and then start rolling down the hill regularly. And even if you let go of the controller, he will accelerate AND achieve a top speed faster than you would running. Terrain that smoothly curves (without sharp angles) works as intended. In the grassy hilly area of City Escape (with the ramps before the building), you can observe this for yourself. No matter what you do, rolling into a ball will accelerate sonic in a way where you'll clear it faster than simply running (REGARDLESS of controller input). SA2 only adds/subtracts momentum on angles -- curved surfaces only change sonic's direction. But even in these instances, rolling down ANY incline accelerates and maintains speed faster than running, unless you end up on a long flat surface and lose speed to friction.

2) halfpipes and loops in SA2 are not entirely on-rails, and work they way they do because of how SA2 handles slopes. ST forced your speed on them to bypass the way they work in regular level design. There's a spot where you can test this -- the halfpipe sections in Green Forest before the checkpoints, if you just ignore the starting speeders.

Most walls that meet at obtuse angles actually let sonic stick and run up the wall, but he loses speed extremely fast with no input, and a minimum speed cancels his sticking. Most of the glitches with curves that happen from lack of input is probably because of this, and it's also why ST put speeders in front of most of the halfpipes, and maxed your speed on loops. You can exploit wall sticking + running on some seemingly non-intentional areas though. When rolling, really steep hills make sonic curve away and accelerate REALLY fast, just like a regular incline, which is why trying to roll up steep loops with no controller input will also almost always make you curve off the side and die.

3)Curved surfaces do not really change sonic's speed, they simply alter his direction. Angled surfaces change his speed AND correct his direction. The game simulates rolling physics by combining these two elements together.

This is why purely curved sections (like the starting section of City Escape and Pyramid Cave) can feel so unnatural at times. You're able to casually walk up walls because it isn't going by the same rules of the regular angle detection. Rolling up a curved surface does not subtract speed from sonic, it simply changes the direction he's moving in. However, terrain that is composed of natural angles (like the long halfpipe sections in Green Forest/White Jungle) actually behave like halfpipes. Rolling down these will both naturally give sonic speed and attempt to keep him in the trough, but applying momentum directly into it will shoot you up and curve you out. (This is also probably why jumping through those hoops in Pyramid Cave is so difficult. You don't jump how you would expect to given your angle on the wall.)

4) Speed + platform angle DOES affect your jumping angle, but im sure everyone who's played SA2 is aware of this. Spindashing + jumping at the right angle allows you to reach much higher platforms and encounter shortcuts, just like in classic games.

So because it's still only simulating physics, sonic still lacks inertia (???). Traveling horizontally along a slope does not accelerate sonic down the slope, it only changes his direction to make it look like it does.

....So in the end, in SA2 accelerating and gaining momentum worked exactly how it should have with rolling. The main difference here is the concept of inertia, and how they handled running on slopes adjacent to sonic. In 2D sonic, you only have to worry about the direction you're facing. But in 3D sonic, as long as you aren't on a flat surface it's a bit more complicated. Angled surfaces add and subtract momentum correctly, but the game substitutes how curves effect your movement simply having non-facing angles directly change sonic's direction. Many wonky movement glitches (especially with rolling) was probably due to these elements not agreeing with eachother in some way.

Differences with Modern Sonic, and why 2D gameplay has no momentum-based design elements

The MODERN 3D sonic games however do have a concept of inertia, which is the biggest change to the way sonic controls. The faster he moves in one direction, the harder it is to switch to another. But unlike SA2, the main difference here is that angled surfaces no longer play any kind of significant role in level design or sonic's physics. There ARE no adjacent curves in modern sonic games, and angled platform calculations are were not substituted, they were simply removed. So, instead of piggybacking off SA2 and applying some sort of analog calculation to slope physics, they removed it entirely.

This is why you do not conserve your angle or momentum when jumping on curved surfaces in Unl.>Gen, and cannot use it to enhance your jump. It's also why you tend to have a standard height when it comes to shooting off a ramp; all ramp endings are scripted. (A few red rings in Chemical Plant/Speed Highway in generations are made particularly annoying because of this.)

From my modding time with Generations, Sonic's max running speed is COMPLETELY unaffected by his angle. This is probably the biggest factor in modern physics -- If you take sonic and have him run in a straight line he will accelerate non-stop until he hits his max speed. Boosting is another player state from running entirely; it has its own max speed, acceleration per second, and even lift.

Annnnnnnnnd THAT is why Classic Sonic in generations has no rolling physics: because slopes don't give you speed. Sloped surfaces only seem to affect your acceleration constant, and sonic's max speed is only distinguished by whether he's boosting or not boosting. And because Modern physics doesn't have any kind of rules governing sonic's current maximum speed other than boosting/not boosting, the only way of reaching max speed with classic sonic was spindashing or hitting a speeder, at which point it slowly decelerated you to his regular max. If they made his Spindash his real max speed, you would literally end up hitting (and maintaining) his maximum speed the moment you hit a slope, a speeder, or if the game just let you run for longer than 4 seconds.

So uh...yeah, there you go. Don't know what anyone can do with this information, and most of it is spectulation, but whatever, i'm gonna go do something productive now.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...