Holiday update

As usual December has been a busy time, but a little bit of progress has been happening with Doomsday, too.

Saving 3D model state. I’ve put the most effort into ensuring that the state of 3D model animations gets saved and restored when writing and reading savegames. This has no bearing on gameplay as such, but visually it is pretty important that the objects get rendered the same way before and after loading a save. In practice, this was quite challenging because the new model renderer supports advanced features like multiple animation sequences, scripted rendering passes, and shader variables. All this state information gets included in the savegame package as a new file, so it can also be gracefully ignored in case any compatibility issues or other problems arise when dealing with old save files.

Multiplayer resource check. When joining a multiplayer game, the client checks that the same packages are loaded as on the server. This includes all WADs, DEHs, and PK3s. Any resource mismatches could lead to crashes or other problems during MP games.

Mac menu. I did a small tweak for the Mac UI: Doomsday now has a native menu bar for switching between the available games.

Fate. Finally, I’d like to call attention to a cool Hexen mod by fate that I recently enjoyed playing through. If like me you are a fan of Hexen, this is a nice way to spend a few hours during your holidays: fate_v0.1.pk3. Please leave your feedback and/or comments to the author on the forums.

Merry Christmas and happy holidays everyone! *<:)

UDMF experiment, Shell game options, installer facelift

Last week I went on a brief modding tangent and added a plugin that loads UDMF maps.

UDMF is an attractive choice for map editing due to its flexibility and potential to be widely compatible with map editors and source ports. However, it is basically only a syntax for describing map data; the real trick is interpreting the contents and supporting all the required gameplay logic, line and sector specials, etc. Doomsday at the moment supports only vanilla maps with a couple of Boom features. The new UDMF plugin also doesn’t yet transfer all the data to Doomsday, for example most line flags are ignored.

When it comes to extending Doomsday’s support for modding, I view full Boom compatibility as the first milestone to reach. Modding is on the roadmap for the future 2.4 release, so in the near future the UDMF importer plugin remains an experimental feature.

I also did many small improvements in preparation for the stable 2.0 release. Continue reading UDMF experiment, Shell game options, installer facelift

Version 2 multiplayer servers

Yesterday I merged a work branch where I’ve revised the way information about multiplayer servers is stored and distributed. The changes from “mp-serverinfo” are available in build 2144.

There are some important changes to discuss. Doomsday 2 servers are now incompatible and separate from Doomsday 1.x servers. Doomsday 2 uses a new status information format, new master server web API and new, compressed LAN broadcast messages. Doomsday 1.x clients will therefore not detect Doomsday 2 servers, and cannot query information about them (and vice versa). Continue reading Version 2 multiplayer servers

Tightening all the screws

For the past week I have been exclusively focusing on optimizations.

Work in the 2.0 unstable builds has been progressing without much attention having been paid to performance profiling. However, it has become clear that even in very basic maps (like Doom E1M1) there were unacceptable FPS dips. I decided to get to the bottom of what was going on. Continue reading Tightening all the screws

Down for the count

Autobuilder & Tracker offline

After 10 years of service, the PC running Doomsday’s autobuilder VMs has died. Probable culprit looks like the PSU, so I’ll replace it with a new one and (fingers crossed) the machine can still be resuscitated to full working condition. In the meantime, there will be no new unstable builds. Fortunately the AppVeyor and Travis CI builders should keep the boat afloat until the autobuilder is up and running again.

Another casualty of this hardware failure is the bug/feature tracker that was running on the same PC. The tracker will likewise be offline for now.

Focus navigation

Recently I’ve been working a lot on UI focus navigation. The ultimate goal is to allow using Doomsday without ever touching the mouse, i.e., with only the keyboard or a gamepad. Continue reading Down for the count