I have taken a few weeks' break from writing developer updates as we've been preparing the stable 1.14 and there has been nothing remarkable to discuss.
As usual, we still need to patch a few bugs in 1.14 before we can fully shift focus to 1.15. On the whole, I am pretty pleased with 1.14: bloom is an important visual step forward, and there is very solid progress with the UI and savegames. We even managed to make the Doomsday 2 file system in libdeng2 more robust while DaniJ was developing the savegame code and ran into a number of issues.
What might the future hold for 1.15, then? You may recall that I was working on a new lens flare renderer
last December. It is past time this work is finalized and incorporated into the light sources of the world. Doing this properly requires some reorganization and cleanup of the related (dynamic light) map renderer components, though. Fortunately, this is an area of the renderer that is anyway in need of renovation, as it has some known performance bottlenecks.
It is also time that we start addressing the need to have Doomsday understand the concept of resource packages. We have a number of conventions already in place that are being used in the savegame packages: zipped folders and metadata. Support for Snowberry add-on packages will need to be added, too. However, I don't see this being fully implemented in time for 1.15. A nice first objective could be to clean up the Doomsday distribution using built-in packages: basically taking the existing doomsday.pk3
and expanding it into a next-gen format doomsday.pack
, with some supplementary packages on the side for things like default effects (blood particles, etc.).
When it comes to the world renderer, pretty much every part of it needs updating with today's rendering techniques in mind. I believe a good place to start would be one of the more isolated components: the 3D model renderer. I can reveal that we already have the beginnings of a new model renderer, with support for skeletal animation and several modern file formats. The real trick is, however, to integrate this into Doomsday in such a way that it works harmoniously with the existing model definition mechanism. Indeed, it may turn out that we need an entirely new definition format that works well with the new renderer. This, and more, will undoubtedly be a topic in my developer updates over the next months.