DA2 Alpha 10, Big Changes?
Several months ago, I decided to take a break from Dark Ages: The Continents to work on the sequel. Specifically, I decided to finally port the
game to SDL for the graphics library. This is technically the third port for the game. The most recent one, to version 2.0 alpha 1 through 9,
was already dated. It still used 2D software rendering and many of the functions no longer behaved correctly, whether this was a video driver
issue or OS issue.
So I bite the bullet and begin the port. It is surprisingly easy. Swap out DirectX (7, I think…ick…), swap in SDL 2.0, then see which functions
break. Ninety percent of the time the broken function was just a rendering function. A simple find and replace fixed those. Keyboard and mouse
inputs were easy to wrap. Even making configurable screen modes and updating to hardware rendering and surfaces instead of textures wasn’t too tricky.
In all, it was probably just a month of off-and-on work, then several months of life happening, and then finishing touches these last few days. Voila!

Dark Ages II: Engel, leaner, meaner, and more portable. It even works in Linux for those bold enough to try compiling from the source, although with a few glitches I’m choosing to ignore at the moment. Overall DA2 will work better (or at all) on most computers now. The sacrifice is in a few cosmetic issues, e.g. a few mouse cursor issues. Most noticeable, perhaps, is in moving from 256 color screen modes to true color. True color gives me more compatibility, and allows for a few simple effects like translucent dialog windows. But it broke the palette effects. Original DA2, back to the very first version, used 32 color indexes for effects. Those effects included swapping the colors each screen refresh, allowing texture colors to change, glow, or sparkle. Without a palette, those pixels are no longer magical in the game. Oh well, time to get creative…
In any case, enjoy alpha 10. In summary, lots of big changes, and the end result is a few more things broken! Yay! Hopefully not too many new bugs were introduced in the port, but I’m sure you’ll all let me know. Source code is now available for Linux users or anyone who wants to see all the wrong things I did.