Issues with SADX “enhancements”

Whenever the SA1 vs SADX topic emerges in discussion, the additional features of the port are often mentioned among the supposed advantages SADX offers in comparison to the original game. Along with added content and updated character models, these extra features are also the main reason SADX is called an “enhanced” port. Extra content aside, ultimately it comes down to the following two things:

  • The original Dreamcast game runs at 30 FPS, while SADX runs at 60 or 50 FPS depending on the region
  • In the original game you can’t skip cutscenes, while in SADX you can

Some people say they prefer SADX to SA1 because SADX runs at 60 FPS and everything else doesn’t matter. Some might argue that in a game about fast and precise movement 30 FPS is a dealbreaker. Ultimately you have to choose better visuals with lower framerate in SA1 or better framerate with poor visuals in the supposedly “enhanced” port. However, the increased framerate is a purely technical advantage that scales with the hardware the game is played on. All the developers did in SADX was untick the Dreamcast version’s framerate limiter in other areas of the game. This involved almost no programming effort because this functionality was already there in the original game and, while it’s indeed an advantage, saying SADX is better just because it runs at 60 FPS is like saying the PC port is the best version because you can run it at higher resolutions. Technically speaking it’s true to some extent – if there wasn’t a PC version, we wouldn’t have all these mods, for example. It’s fine to prefer whichever version for different reasons, but such technical advantages cannot be used as excuses to defend downgrades to the game’s visual quality and general lack of effort put into the ports. Technical stuff aside, design issues, removed effects and things like poor texture compression still stand. In addition, these technical enhancements are poorly implemented in SADX.

On the surface both 60 FPS and skippable cutscenes are unquestionable improvements. It’s certainly better to have the game running at a higher framerate, and it’s nice to be able to skip cutscenes. However, in SADX these features are inconsistent with the main game, poorly implemented or downright broken.

Let’s start with the framerate improvement. First, let’s remember that unlocking 60 FPS in this game isn’t a major technological feat per se – the Dreamcast version was originally targeting 60 FPS, but sometime during development it switched to 30 FPS. The game’s physics engine is still running at 60 FPS even on the Dreamcast, and is using mostly the same values in both versions of the game. You can still see the original version running at 60 FPS in some older Sonic Adventure promotional footage. Also, the Dreamcast version runs at 60/50 FPS in Twinkle Circuit and in the menus. SADX merely enables the already built-in functionality for the rest of the game. There are even codes to unlock 60 FPS in the Dreamcast version, although the game certainly struggles with maintaining it on the Dreamcast. It makes sense that it was disabled because even at 30 FPS the Dreamcast struggles in graphically heavy areas like Final Egg 2. Thankfully there are only a few areas in the game where that happens.

From a player’s perspective it shouldn’t matter whether the Dreamcast version had 60 FPS at some point, because the final version doesn’t and SADX clearly improves over the original, but it’s necessary to point out that unlocking 60 FPS didn’t take much time or effort on the developers’ part. Also, don’t forget that the Gamecube, where SADX originally came out, can’t always maintain 60 FPS (see: start of Speed Highway, Red Mountain), which is arguably more jarring than the more consistent 30 FPS of the Dreamcast version, so the benefit of it on the Gamecube is questionable. It’s quite possible that the large number of removed effects discussed on this blog was the result of trying to hit 60 FPS on the Gamecube. It depends on personal taste, but having to choose between lower framerate but all effects intact and a trimmed down version of the game at 60 FPS (that aren’t always consistent) is certainly a regrettable state of affairs. Also, although the gameplay can run at 60 FPS, the cutscenes are still locked to 30 FPS in SADX, which may look fine in a “cinematic” way, but now it’s jarring because the rest of the game is running at 60 FPS.

Even though the port switched to 60 FPS, the game’s internal logic was not adjusted properly for the increased framerate, which made it run at double the original speed in many cases. A lot of things that have movement or animation are twice as fast in SADX, which results in changing the game’s difficulty (for better or worse), or making certain effects less visible. There are also cases when the increased framerate causes errors in the game’s programming because the internal timers were not adjusted for 60 FPS, and as a result some things don’t behave as intended.

The most recognizable example of the game’s logic not being adjusted properly for 60 FPS is the behavior of the Leon badnik. In the original game it appears, performs a tongue lash attack and becomes invisible, only to appear again in a few seconds if the player is within its sight range. In SADX, however, Leons almost never attack the player, and prefer to disappear almost immediately, making it difficult to attack them, let alone get hit by them. In Knuckles’ Lost World it’s much more difficult to get a piece of the Master Emerald when it’s inside one of these badniks because they keep disappearing.

Here’s another example of this behavior from Windy Valley. Notice how Leon attacks the player on the Dreamcast, but tends to avoid the player on the Gamecube. This happens because the timers used in the badnik’s programming add up too fast at 60 FPS, so it doesn’t get a chance to attack before its time being visible runs out.

DreamcastGamecube

This isn’t the only case when the increased framerate interferes with the game’s programming. Another example is the looping engine noise you hear during the Egg Hornet boss fight. In SADX it loops too early, which makes it sound choppy. However, if you configure the PC version to run at 30 FPS, the problem magically disappears, much like the Leon issue discussed above*.

*Note that the Leon badnik is broken in three ways in the PC port: apart from the framerate issue mentioned above it’s also using hardcoded dimensions of 640×480 to determine whether it should be visible on screen. As a result, the higher the resolution the less likely the Leons will show up at all. Another issue is related to collision, which makes some badniks, including Leons, not spawn at all (this also happens on the Gamecube). The good news is that these issues are fixed in mods, and Leons now work properly in the PC version if you’re playing it with SADXFE and/or Dreamcast Conversion.

Here’s a somewhat less serious issue involving the increased framerate. Although character animations were play at framerate-adjusted speeds, the function that animates Tails’ tails was not adjusted. As a result, whenever Tails is standing still his tails move too fast. Interestingly the “flying” tail animation is adjusted with the framerate in SADX, but the “standing”, “walking” and “running” animations are not*.

DreamcastGamecube

*This would also make the fake “motion blur” effect on Tails’ tails harder to see, but the effect was removed in SADX altogether. More on that in this section.

Here’s another visual issue. When Sonic is inside the tornado in Windy Valley, it’s possible to see that the tornado consists of multiple layers that move at different speeds. However, in SADX the speed of each of those layers at 60 FPS is double the original speed (because the speed multiplier wasn’t adjusted for 60 FPS), so the effect disappears.

DreamcastPC

Now let’s talk about the cutscene skip feature. It often comes up as a counter-argument in the SA1 vs SADX debate because supposedly it makes the game more tolerable when replaying the story multiple times or when trying to speedrun it. Being able to skip cutscenes is a nice feature, however there are at least three things wrong with skippable cutscenes in SADX:

1) If you’ve tried to skip cutscenes in SADX before, you may have noticed that sometimes you have to press Start multiple times before the cutscene can be skipped. This happens because the game listens for user input during brief periods between things that happen in the cutscene. All of these “wait for cutscene skip” moments are hardcoded, so you can skip cutscenes only at specific moments during each of them. This feature works against speedrunners because it makes the timing imprecise. Unless you keep mashing the Start button well in advance (and even then still), your result is going to be different depending on which frame of the cutscene was playing when the game received your input to skip it.

2) Depending on the cutscene and when exactly you skip it, it’s often possible to get the camera stuck in a strange angle. Skipping cutscenes can also break some animations or cause nonsensical things to happen. For example, you can enter the temple in the Mystic Ruins before it finishes rising from the ground:

If you skip the cutscene when Sonic and Tails are landing on the Egg Carrier some weird things happen between scenes:

3) The cutscene skip feature breaks camera transitions that are supposed to take place after the cutscene has finished, and they break even if you don’t skip any cutscenes.

In the original game the camera often moves back to the player after the cutscene finishes playing. Not all cutscenes do that, and not all of these transitions are smooth, but at least the game tries to make it less jarring. In SADX, however, the camera simply cuts to the player immediately after the cutscene ends. One example of that is the Light Speed Shoes cutscene in the sewers. In the original game the camera zooms out near the end of the cutscene, so the transition is smoother. In SADX, apart from different angles that don’t necessarily work better, the camera abruptly cuts to the view behind Sonic at the end of the cutscene. Unfortunately all cutscenes are affected by this in SADX, even those where the camera transition would make sense.

DreamcastPC

In conclusion, it seems that the new content and extra features are poorly implemented and come off as an afterthought rather than a legitimate attempt to improve the game. Would you prefer to have skippable cutscenes or would you rather have smooth camera transitions? Would you play the game at (non-consistent) 60 FPS with downgraded graphics and broken game mechanics, or would you settle for 30 FPS of the original? Perhaps the most important question is, why do we have to make such choices if this is an “enhanced” port? These added features aren’t worth much considering the enormous amount of downgrades in almost every other aspect of the game. Imagine calling Sonic Genesis on the GBA the definitive version of Sonic 1 just because it added spindash and a save feature.

Thankfully you can play the PC version of SADX with mods that fix the majority of issues discussed on this page. SADXFE fixes Leon behavior, and Dreamcast Conversion introduces tweaks to the game’s logic to accommodate for the increased framerate. In addition, Dreamcast Conversion has an experimental option to restore camera transitions after cutscenes. Learn more about mods in the “Fixing the PC version of SADX” section.