The Linux version of ZDoom is working (and has been for quite a while). I'm holding off on releasing it, because I want to add code that clears out dangling pointers. (This is the cause of the game crashing when you try to save.) With the original Doom, dangling pointers existed but weren't a problem, because the game didn't try to save them. ZDoom 1.18 tries to save every relevant pointer, and if a pointer's contents are garbage, "bad things" will happen. When I fixed that, I apparently broke coop game sync, and the bots seem to be crashing a lot, so I need to get those fixed, too.
Which brings me to the real reason for this update... A week ago, I got tired of spending all my time bug hunting and decided to take a break from ZDoom and do something else. So I started writing a Build-like engine. The result so far is available for download as well as a screen shot:
[The very beginnings of the new engine]
This is the engine after one week of work, so it's pretty bare. What's special about it is that it uses portals and edge sorting instead of a BSP tree to do visibility calculations, so the geometry can be dynamic. The demonstration above even includes two moving sectors.
Since it turned out pretty easy to get this far, my current plan is to continue developing this engine in parallel with DoomScript. There are things I want to do with DoomScript that would have required changes to the Doom engine. Now, instead of making those changes, I will write a new engine instead. I will probably keep the Doom engine around for compatibility purposes, but unless something unforeseen happens, all active development will occur on the new one instead.