I've been meaning to write something here for the last year and whilst I have been working on various things continuously throughout, I initially avoided writing anything on NNF out of fear of there being too little meaningful activity as I struggled with new levels of stress and pressure that prevented me from being able to focus on a project long enough in one go to attack any serious progress as well as dealing with such a level of mental fatigue that every time I sat down to do some work on my projects it took forever to even get back up to speed with what I was doing before I had to stop again. This awful 'stuttering' drained any fun out of the work I was doing and I had to find projects that were less pure-engineering with no meaningful demonstrableness.
PortaDOOM is a '90s-style disk-zine that provides an easy, zero-config way to play classic DOOM and the ton of creative community content out there. I created this for my own purposes as a way to simplify the complex process of playing DOOM mods -- there's multiple different engines and just loading mods requires swotting up on quite a lot of tech knowledge in a totally new field. I didn't want anybody else to have to repeat that nonsense so I built PortaDOOM so that the specifics of launching any particular mod would all be handled by code and I wouldn't have to think about it again.
If you want to experience some of the best of what the DOOM community has been creating in the last 20 years, PortaDOOM is worth a look.
Appropriately, PortaDOOM is written in QuickBASIC and a few thousand lines of batch script, for that authentic '90s feel.
PortaDOOM is pretty big and constantly growing so I needed a way to wrestle back whatever bytes I could. There already existed tools, but no automation and PortaDOOM's expansion to hundreds of WADs (DOOM files) meant that the workload would balloon to an unmanageable amount.
DOOM-Crusher is a JPG/PNG optimiser with support for DOOM files (WAD/PK3). It's one of the most complex set of batch files I've written and was brutally difficult to develop given the complete lack of automation for DOOM tools in the community.
What we have though is a tool that will walk through a folder and optimise anything it can including the internals of packed files (WADs, PK3s -- which are just ZIP files) but uses a cache of file hashes so that it never tries to optimise files it's already crushed before. This means that you can incrementally optimise a project without having to wait hours for the PNG tools to retry thousands of already crushed files. When you have 6+ GB of content, this is critical and there didn't exist anything out there to do this -- what a pain!