Windy Valley downgrades

From a quick look it might seem that Windy Valley didn’t change from SA1 to SADX. The first two acts are short, and the last act doesn’t have complex lighting or any particularly difficult special effects. Unfortunately even Windy Valley has some serious issues in the ports.

Act 1 is the area where you can notice the ports’ inferior texture quality. This is what you see right after entering the stage. The PC version screenshot has mipmaps enabled in the Mod Loader, normally it looks even worse.

DreamcastGamecubePC

Notice how the Gamecube version’s fake lighting, which admittedly looks pretty good in this area, didn’t carry over to the PC port. To compensate for the loss of the Dreamcast’s palettized lighting, some textures, such as the rocky walls, were made darker. In addition, there’s a color mismatch between the grass and the path texture’s edge in SADX, which could be either a design inconsistency or a side effect of texture recompression in the ports.

The textures in the PC version also lack mipmaps, which makes distant areas look problematic, especially in motion. Any movement reduces distant textures into a pixelated mess. It can be made to look better with anisotropic filtering, but it won’t look as good as real mipmaps. Thankfully SADX Mod Loader has automatic mipmap generation to correct that, and before the Mod Loader there were mods that added mipmaps to the PC version. Back when the PC port came out it looked like this (You can read more on it in the Textures section):

Several parts of the scenery are missing throughout the whole Act 1. For example, most of the wind turbines in the screenshots below are present in the Dreamcast version, but gone in SADX Gamecube and PC:

An interesting detail about the Dreamcast Windy Valley is its transparent skybox. The level pieces that are suspended in the air look like they are partially submerged in water. In the ports the skybox was made bigger and the effect was removed. It seems that the developers have tried to compensate for it by adding greenish vertex colors to the pieces involved, but it doesn’t look too convincing because the skybox is still far away. In addition, because the skybox is bigger and lacks transparency in SADX, the “parallax” effect seen in the original game when multiple layers scroll at different speeds is gone in SADX as the bottom layer of the skybox is invisible.

DreamcastGamecube

The Dreamcast version has dynamic fog that changes color and intensity depending on where you are in the level. When the tornado appears, the fog is supposed to get darker and thicker, but this effect is broken in the ports.

DreamcastGamecubePC

In the Dreamcast version, fog is often used to enhance the overall ambience of an area. For example, in Windy Valley Act 2 there is greyish-blue fog – a subtle, but effective touch to create the feeling of being inside a tornado. This effect is gone in SADX because fog is turned off for the area:

DreamcastGamecubePC

The following area has missing textures in SADX because of unnecessary material flags and/or incorrect texture conversion. The original Dreamcast level also has these wrong flags but the game processes the meshes correctly.

DreamcastGamecubePC

All later ports have strange-looking overhanging ropes on the collapsing bridge. Interestingly similar bridges in Ice Cap and Red Mountain (which use the same code) are unaffected. Some time ago I found out this is caused by a model change – for some reason the developers stretched the model used for vertical ropes. The UVs on the ropes are also stretched, which suggests it may have been done by accident. Also notice how the lighting on Sonic and the objects fits the environment in the Dreamcast version, while the Gamecube version’s lighting is more generic.

DreamcastGamecube

Act 3 begins with color banding in the sky, which looks odd in all versions of the game, but each more makes it more apparent.

DreamcastGamecubePC

Issues with transparency shows up on a few paths in this act. To work around transparency problems, the ports use alpha rejection – a feature that doesn’t let the engine display pixels whose transparency is beyond a certain threshold. It’s not the worst solution for its time, and it would’ve been an okay compromise if it didn’t break a substantial amount of unrelated special effects. The Dreamcast version didn’t have any drawbacks associated with transparency and alpha rejection. More on this in the Transparency section. Here’s what alpha rejection is used for in this level:

DreamcastGamecubePC

The third act also had a subtle white fog effect, which made it look like the area was bathing in sunshine. The effect is gone in SADX – while the fog is still there, its color was changed to a duller one, and fog distances were adjusted farther so there is no visible coloration on nearby objects and level geometry. This would’ve worked better in Emerald Coast to prevent washing out the sand color in the PC version.

DreamcastGamecubePC

Finally, the “goal” emerald’s pulsating glow is missing in SADX.

DreamcastGamecubePC

The removal of the glow effect is a relatively minor issue. However, as this blog demonstrates, the entire game has many details removed in every level, and after so many downgrades it ends up losing its charm. Together with the removed lighting and reduced texture quality the “enhanced port” does not compare favorably to the Dreamcast original. In the PC version, this level can be improved significantly by reverting to the original Dreamcast version of level models, fixing texture quality by using textures from the original game, and adding back fog effects and palettized lighting from the Dreamcast. More on that in the “Fixing the PC version of SADX” section.

Emerald Coast dowgrades

It’s often assumed that Emerald Coast has received the most polish during the Dreamcast-Gamecube transition. And indeed, Emerald Coast and Station Square are some of the few areas in the game that features prominent drop shadows made of semi-transparent models. However, the level itself has gone through just as many graphical downgrades as the other stages, possibly even more.

Let’s start with the most obvious part that makes up the level’s theme: the ocean. Here’s a comparison of ocean textures between SA1, SADX Gamecube and SADX PC near the beginning of the stage:

DreamcastGamecubePC

The Dreamcast version has a low-resolution water texture with choppy animation, while the Gamecube water consists of 3 layers: the green part (with a bump mapping effect that makes it brighter or darker), transparent water waves (same resolution as the Dreamcast texture), and a surface that creates distortions. In addition, the water surfaces move, while on the Dreamcast the surface is static. The PC version lacks the effects, has a simpler surface movement pattern and uses a different sea texture. Even with all the limitations and differences this could have ended up looking nice, but there are several problems with the water’s implementation in SADX Emerald Coast. A separate section discusses problems with SADX water in other levels here.

This is what the seashore looks like in SA1 and SADX. The Dreamcast seashore is brighter, with more prominent waves washing off the sand, while the Gamecube seashore has near invisible waves with a strange neon green line running across:

DreamcastGamecube

If you compare the seashore textures side by side, you’ll notice that the SADX textures are the Dreamcast textures in lower resolution and with some color edited out:

It’s quite possible that the seashore was made to look this way because the Dreamcast design of the seashore didn’t work with the SADX engine. It’s possible to fix as demonstrated by the Dreamcast Conversion mod. Check out the Transparency section for more information on transparency problems and how they can be fixed.

The seashore isn’t the only part that has received redesigns in SADX. In the first video comparison near the top of this page you may notice the tiny shadows underneath the water surface. They aren’t immediately noticeable, but they add to the overall amount of detail. Their opacity was reduced in SADX, making them almost invisible. Here’s what they could have looked like if they retained their opacity and if the water texture was slightly more transparent.

PC with Dreamcast Conversion + SADX Style Water mod

It isn’t just the opacity that was reduced for these level pieces in SADX. The developers remodeled some parts of level geometry (possibly in an attempt to overcome transparency issues), but broke the UVs during the process. In the video below you can see a clear border between the “normal” and “broken” UVs:

It becomes more noticeable when you see the whole area from above. There is a similar area with broken UVs near the end of Act 2 as well.

Here’s what the broken model looks like. In addition to the obvious UV problem, notice how the right side doesn’t tile properly even in the “normal” part:

DreamcastGamecube

To compensate (probably) for the lack of those shadows, the SADX version of the level has additional pieces of level geometry added around the stage. They prevent the bottom of the skybox from being visible through the overly transparent water, which is probably their main function. However, there’s a transparency sorting problem near the start of Act 1 that makes entire level pieces disappear at some camera angles. The problem persists in all later ports, but becomes even more noticeable without the distortion effect, which means it looks like this in all versions of SADX after the Gamecube port. This problem is fixable by flipping a single flag in the level’s model list.

GamecubePC

Another problem with the SADX version of the level is the ocean’s alignment with the skybox. In the original Dreamcast game, the surface of the ocean was aligned with the horizon at all times:

The skybox obscures all objects beyond it, which is needed for the ocean to look correct. In all versions of SADX, however, the ocean doesn’t reach far enough so it ends up being cut off. The increased skybox scale in SADX is commonly mistaken as “better draw distance”, but it has more to do with the size of the skybox rather than an actual draw distance difference (which also exists). As the skybox was made bigger in SADX, it no longer covers the “edges” of the ocean.

Areas like these, combined with a stretched skybox, low texture quality and fog settings in the PC version, make the level look significantly worse:

PC players have probably noticed that the ocean blinks every few frames. This is caused by an error in transparent water wave textures, which have different alpha channels for some frames of the animation. This happens on the Gamecube as well, but it’s less noticeable because of the distortion effect. It doesn’t happen in the original game.

DreamcastGamecubePC

In Sonic’s Act 2 and Gamma’s Act 1 several rock platforms that served as decorations in the original game were removed in SADX. In SADX they cause minor Z fighting when placed next to each other, most likely due to SADX using a less precise Z Buffer. It could’ve been fixed with minor position adjustments, but in some areas the platforms were removed entirely. This also makes some parts of the scenery (like the red flower in the second screenshot) look suspended in the air because its position wasn’t adjusted properly. On the other hand, the rocks cast shadows now, which is an improvement.

DreamcastGamecubePC

The cinematic scene where Sonic runs away from an orca with bridges collapsing behind him is one of the memorable moments in the game. On the Dreamcast this scene had an effect that was removed in SADX. The Dreamcast version had a dynamic model for the water surface that simulated ocean waves. Together with the original lighting system it also created a shadow effect on the water. Unfortunately the SADX version of the effect isn’t as impressive:

DreamcastGamecube

As you can see, the water just moves up and down in SADX. This creates an inconsistency with the bridge that still moves like on the Dreamcast, which makes it go underwater. Interestingly the code for the wave effect is still in the game, but it’s never called and the model affected by it is not rendered. As demonstrated by Dreamcast Conversion, it is possible to enable the wave effect in SADX – though it requires changes to the way the water is rendered because SADX water in Emerald Coast isn’t compatible with dynamic vertex shifting.

To be fair, some of the changes made to the SADX version of the level can considered enhancements. Even though they were possibly added to camouflage the removal of lighting (more on that in the Lighting section), the vertex colors are a nice touch in some areas. For example, the Gamecube version features a gradation in sand color. However, this is not visible in the PC port because of the fog that washes out the colors, even on things close to the player.

DreamcastGamecubePC

In the second act of Emerald Coast there are supposed to be two Sweep badniks in the pool, but SADX has only one. This might seem like a minor thing to complain about, but the reason the badnik doesn’t show up is a programming error in the ports that causes many other enemies to not spawn. A similar problem happens with Leon badniks in different levels, the Egg Keeper in Final Egg 1* and the Sweeps in Twinkle Park Act 2.
*Interestingly the Egg Keeper reappears in the Steam version, however the other enemies are still not fixed.

Big’s area also has a few problems. For example, the shadow effect on the walls is less visible in underwater areas, although the Gamecube’s distortion effect makes it difficult to see either way:

DreamcastGamecubePC

The water surface in the cave isn’t aligned properly with the underwater parts in the PC version:

DreamcastGamecubePC

Finally, the subtle white fog effect is missing in the cave, although SADX adds green vertex colors on the walls, which arguably looks better:

DreamcastGamecubePC

There’s a cutscene in Big’s story when Gamma steals Froggy from him. This cutscene is missing parts of the scenery in SADX because they were removed from the level’s SET file. The ocean doesn’t show up in this cutscene either:

DreamcastGamecube

As can be seen from the above discussion, the level that is sometimes considered one of the most improved and polished levels in the ports has had quite a few downgrades from the original Dreamcast version. The enhancements introduced in this level are superficial and (arguably) don’t make up for the removal of effects and low texture quality. There are several options to improve the experience in the PC version: you can use Dreamcast Conversion to revert to the original level, or you can install the SADX Style Water mod that restores the ocean wave effect and fixes several issues with the SADX level without reverting it to the Dreamcast version. The Gamecube Project mod aims to restore the Gamecube look of the water in the PC version, although only the textures are restored at the moment.