The Switchover

I just pushed 1036 commits to the master branch. This switches it over to Doomsday 3.

Doomsday 3 in its current form is still quite unfinished and broken in many places. Especially the new renderer remains disabled by default, and cannot be enabled without recompiling. However, the basic things are running, and they’re running fast!

Even the classic renderer has gotten a boost. Although to be fair, it still has the same old bottlenecks as before. The difference is that the application event loop has been optimized, which raises the FPS ceiling even though the floor remains largely the same. On average, the game should be running more smoothly.

Continue reading The Switchover

Doomsday 2.0.3, other minor updates

Over the past few weeks, I’ve made a couple of stable builds with the version 2.0.3. The first one of those was made a bit early as I was about to leave for a trip abroad, and mainly included one bug fix for Hexen related to saving and restoring object state from save files. Recently I’ve made a couple of additional stable builds to investigate and fix a problem with the Ubuntu Launchpad build scripts, where the “doomsday-stable” packages were correctly built but nothing was actually included in the generated DEB packages.

On the whole, progress has been somewhat slow. Perhaps the biggest advance was in the dengine.net website backend, where I’ve now split the API functionality to a separate api.dengine.net server, so that things like master server and update queries won’t interfere with the normal operation of the project home page and forums. I hope this will alleviate the issue of dengine.net sometimes failing to respond to requests.

Prompted by a forum post, over the weekend I was investigating an audio volume issue on Windows. It turns out there is a problem with the SDL_mixer music volume controls. I have yet to determine if there is a workaround that Doomsday can do to avoid the issue. Such a workaround would be preferable to disabling SDL_mixer music on Windows completely, since SDL_mixer does bring value to the table (e.g., music formats). The situation is also slightly tricky because SDL and SDL_mixer are built in to the engine, so there isn’t a plugin to take out or something simple like that.

SDL 2 vs. Qt

We’re switching to SDL 2.0 from the SDL 1.2 that has been in use for years in Doomsday. Sometimes I feel that minimalism would be the right way to go, and start considering if a switch back to SDL as the base framework would make sense. This scenario starts to look more enticing particularly with a switch to C++11 looming on the horizon — at least the crucial Qt components like threading and conveniences like foreach would be available via the programming language itself.

Continue reading SDL 2 vs. Qt