This version improves support for vanilla DOOM render hacks and adds more script bindings to manipulate things in the map.
DOOM render hacks.TNT: Evilution and The Plutonia Experiment use several render/map hacks to take advantage of quirks in the original DOOM renderer. Many of these effects are now supported (or fixed) in Doomsday. Examples: TNT MAP02 deep water, TNT MAP02 windows overlooking the deep water, TNT MAP09 transparent window, TNT MAP31 Arachnotrons inside pillars.
Scripting. Several new Doomsday Script bindings were added, allowing access to game, player, and thing properties. In addition to spawning things, one can now list things by type, check their state and flags, and perform state changes on them. Things can also have an “On death” script that gets run when the thing dies. Bitwise operators are now available in scripts.
Modding. Sprite renaming is supported via DeHackEd. In Heretic, ambient sound sequences can be redefined and new ones can be added via the Audio module. Changing the sequences is also possible during gameplay. The earthquake effect from Hexen is now also available in Heretic. It can be controlled via scripts.
Renderer. Player HUD weapon models may specify a custom FOV value for rendering so that model authors have more control over the appearance, for instance to replicate a 2D sprite appearance more faithfully.
Most of the progress this year happened in the first quarter, while I was revising how DOOM render/map hacks are detected and applied. The way it works now should be more robust and have better performance during gameplay, as the hacks are primarily detected during the map setup phase and not dynamically while the map is being played.
The other major focus area was improvements in Doomsday Script and bindings for players and things. It is now possible to query and manipulate several properties via scripts. This enables new modding capabilities when scripts are used in state actions and when things get killed.
I’m looking forward to phasing out the 2.3 branch and switching over to 3.0. The Doomsday 3 codebase has been reorganized and cleaned up significantly, and is in many ways nicer to work with. There will almost certainly still be bug fixes for 2.3, but I expect most work to focus on the unstable 3.0 releases. However, the switch-over will still require some additional work in the distribution scripts because the build environment has once again changed (with Qt being gone, for one thing). It may take some time before all platforms have fully functional unstable 3.0 builds in the Autobuilder.
To accompany the upcoming release, the demo video on the dengine.net front page has been updated. It shows a few snippets of gameplay with the default settings, without any additional mods. This time with audio and in normal speed!
Version 2.2 is a relatively minor feature update. It comes with a number of bug fixes and a bunch of modding enhancements.
A few more regressions related to 3D model rendering are fixed in this release. Also, on macOS the applications are now notarized and the bundle metadata has been fixed to contain appropriate IDs.
This also acts as a test for the revised build scripts that now live in a repository separate from the main Doomsday source code. The separation makes it easier to maintain the scripts while building releases from different branches.
2.1.1 is a patch release that improves the stability of the engine and fixes some incorrect behavior.
There were a couple of regressions in the renderer such as white flashes with additively blended dynamic lights, and black walls appearing in the sky. A few bugs have also been fixed in the game menus and resource file management.