ECWolf is a source port for the Wolf3D engine that has grown in popularity in recent years, in part due to it's accessibility and it's modding-specific features.
With each milestone update to the engine, Blzut3 (The developer) tries to bring something new to the project, whether it be compatibility with a commercial Wolf3D title (Such as Super 3D Noah's Ark with v1.3) or something else major.
After many years, Blzut3 has announced that version 1.4 of ECWolf is right around the corner, and is set to become the first instance of network-based co-op multiplayer for Wolfenstein 3D!
For this significant release, Blzut3 was willing to take some time to answer a few questions regarding the update, other source ports, and Wolf3D in general.
Q: It’s been a long journey for ECWolf, with its first release all the way back in 2012. Ten years on, has your vision and goals for the project changed over that time?
A: Been a little longer than 10 years actually since the project started in 2008.
At the time I was just annoyed that the working source port of the time, Wolf4SDL, didn't have mixer controls. So in some ways the entire project is scope creep, but ever since I decided to expand it into a ZDoom style port for the Wolf3D engine my goals have remained the same. Saving for some slight shifting of priorities when Wisdom Tree was accommodating of the reverse engineering efforts of Super 3-D Noah's Ark.
Q: It's interesting to hear it wasn't always inspired by ZDoom. What inspired you to make that progression?
A: Honestly at this point I don't really remember what the trigger point for transitioning from a light fork of Wolf4SDL to doing a ZDoom style port. Probably one of: Linux not being well supported by the community, trying to fix some user experience things led naturally to copying in ZDoom code and things grew from there, trying to support Wolf3D and Spear of Destiny in a single binary for convenience, or maybe was helping Executor/Woolie Wool with coding for his Wolfenstein Sextilogy mod and wanted to make that easier.
I of course was a ZDoom contributor at the time so naturally things were going to go that way given enough time. I do remember things accelerated a bit after Ripper disappeared.
Q: With the upcoming release, ECWolf 1.4 is the first instance of co-op multiplayer over LAN for Wolfenstein 3D. So on that note, congratulations on achieving this milestone! How do you feel about reaching this point?
A: Thanks. It's certainly a big relief.
You know a lot of people are burned from getting excited about some lofty goal and the developer loses interest and disappears and I got to see a lot of cynicism around if ECWolf 1.4 would ever release. I certainly get it, I've been on the other side, but hopefully this in a way proves that I'm serious when I say I have no plans to abandon the project.
Q: That's fantastic and reassuring to hear, and seeing a release like this on the horizon is exciting for so many reasons. Was there anything you wanted to see implemented in this version but were unable to add in time?
A: The big one is full support for the Macintosh version of Wolfenstein. A couple years into development I realized that I didn't have as much time to work on ECWolf as I did in college and had to make the decision to lighten the work load. I had been promising multiplayer support coming in the re-release of Super 3D Noah's Ark so it felt like putting that on hold would be a riskier move than putting Mac Wolf to the side (which obviously would have no impact on S3DNA).
These were the main things planned for 1.4 so there wasn't a whole lot that got cut, but I can say that in pursuit of finishing the net code while I was between jobs I did focus myself on getting to a minimum viable product, so there are some user experience things I would have probably done for this release that I decided not to do.
For example ECWolf doesn't have a scoreboard yet, or even a way to differentiate between players in game
Q: Mac Wolf3D support is definitely something at least a few people having been eager to see. Do you still see it as something that will be completed soon, or pushed to the next major release (1.5)?
A: It will definitely be completed at some point, 1.5 is unlikely though.
Between the release of 1.3 and 1.4 LZWolf came into the picture. What would be cool is if we could get tighter collaboration between Linuxwolf and myself. Due to how LZWolf was handled in the beginning, the best way to facilitate that going forwards I think would be to take some time and cherry pick the things that are done well in LZWolf and hopefully make it easier for him to rebase off the latest code.
To that end 1.5 will likely just be back porting features and switching to modern C++, so to many it will be a boring release but hopefully will be an important one under the hood. Possibly look at return to Mac Wolf for 1.6, but we'll have to wait and see how things progress.
Q: Do you see a similar fate for the multiplayer features you mentioned (scoreboard, separate player entities), or could those features be seen in a sooner patch?
A: Probably a mixture, there's certainly some things that were just left out because it was deemed not needed even it wouldn't be that much extra work to do. Those things will likely get added as the 1.4 series progresses. Some other things will likely have to wait for the next feature release. I haven't made any lists so don't have anything to call out specifically.
Q: It sounds like you have a positive view on what LZWolf offers as an alternative fork of ECWolf, and the idea of a more collaborative relationship between Linuxwolf and yourself sounds great.
A: It is kind of funny how when forks like LZWolf appear there's a small group of people who immediately assume there must be some kind of tension or drama between the developers.
In reality forks are natural, especially for things like source ports where there's many different opinions what direction to take it. I do like seeing Linuxwolf experiment with features and exploring unique ways of implementing them. I just wish he was more proactive about communicating with me early on.
In the beginning there was definitely a lot of misunderstanding of what ECWolf was and what it set out to accomplish, which resulted in me adding the PHILOSOPHY.md file to the git repository. I think if we were on the same page from the beginning there would have been a bit more back and forth between the two projects. But there's a lot of value to having a more experimental project in the family to try out ideas before implementing them into the more conservative project. That's the relationship I hope the projects can have, and perhaps we'll even get to the point where we share an issue tracker.
Even if LZWolf was a hard fork, I love competition. A word that many in the open source space find dirty, but I look forward to the day when Mac Wolf is finished in ECWolf and I get to go head to head with Macenwolf. To me it's all about the users, and users win when projects are challenged to do better.
Q: It's been 8 years since ECWolf's 1.3 release, and there have been a great many mods released on both it and LZWolf. What do you think of the way of Wolf3D mods (Particularly those built on ECWolf) have evolved over that time?
A: I haven't had time to play through any of the latest mods. When 1.3 launched ECWolf was still very much the black sheep of the Wolf3D community and Executor/Woolie Wool was more or less the only one playing with it. Meanwhile in the world at large it wasn't hard to find people singing the praises of the project.
Over the last few years its been great to see greater uptake inside the community, and I've been absolutely floored with some of the things people have been doing within the limits of the current feature set. There's been a lot of really interesting combinations of features I personally felt were just stepping stones with little practical utility.
I'm sure anyone that decides to make a hardware accelerated renderer in the future will hate it though.
Q: ECWolf introduced UWMF (Universal Wolfenstein Map Format) as a system, but while some programs have reached various stages of development, no level editor has actually been released that takes advantage of the system.
How do you feel about that hole in ECWolf modding, and do you think that such an editing program would provide any immediate benefits to ECWolf/LZWolf mod designers?
A: The editor situation has definitely been unfortunate.
Early on in ECWolf's development it is clear that there are things that the engine can easily do but there's not a really good way to represent those things in the basic tile format of the original game.
For example there's no particular reason why static objects need to be grid aligned, or even why there can't be multiple objects occupying the same tile. When we look at things like billboarded sprites (or 3D sprites if you will although that name makes them sound like voxels), having the ability to freely specify the angle of the actor could be useful since there's literally no reason that they have to be aligned with the walls (after all your camera can move freely around them).
Then there's quality of life issues like needing to a script to tell ECWolf how to interpret the map vs just be able to do things ad hoc. To that end inspired by the Doom community's UDMF I worked with Adam Biser to define an extendable format, but for various reasons we've yet to see much of anything come from that as you mention.
Even if we were to accept the binary map format as a fact of life that can't be changed, I think there's a lot that map editors could be doing to better integrate.
The 4th plane in ECWolf is just Rise of the Triad's 3rd plane, and with current tools it's really clunky to use. There's no particular reason map editors can't support making switches natively, or setting the Z coordinate of things, but despite ROTT being around since 1994/1995 editors have continuously limited themselves to what Wolf3D does. (This isn't even getting into the meta data systems in the other games.)
I'm of course happy that Adam has been doing what he can in WDC to make modding for ECWolf easier. Havoc as well. Given that the tools development side of the community has been largely dormant I can't really hope for too much more, but hopefully someone will come in, actually consider how tooling can be better than the status quo and disrupt things. I guess we have WLEdit coming on the scene now, although I have no idea what its goals are.
Q: We've seen a couple of (albeit cancelled or on hiatus) projects trying to bring UWMF concepts to the forefront, such as LinuxWolf's map editor experiments, and Deima's Mapcaster, so I believe there's still hope for that literally game-changer on that front.
LinuxWolf has actually utilized UWMF elements in some of his projects (Rampant being an example that took already released maps, and tried to reinvent the experience using UWMF)
A: Yeah, there's at least three other UWMF editor attempts that I'm aware of based on the ECWolf forum and email conversations. Indeed there are a few UWMF maps out in the wild as a result. The trouble is just getting to the finish line with the tools.
I'm honestly not even opposed to redoing the format if the problem is the format itself, but so far none of the feedback I've gotten indicates that it is. Just the usual problem of people not having time I suppose.
Q: As a finisher, I wanted to ask if there's anything you wanted to say to the general Wolf3D modding community?
A: I think I managed to slip all my soap boxing into the responses. I guess except for a plea to the editor developers to release their source code!
I should give a shout out to my friends at RustBit Studios (developers of "The Grip of Madness" on Steam) for helping me with testing the net code ahead of the 1.4 release. Hopefully we'll get another round of testing near the end of this month before cutting the final build to make sure things don't immediately fall over.
Q: Thanks for your time, Blzut3, I really appreciate it. It's an exciting time for ECWolf and many of us look forward to playing 1.4.
A: Thanks for having me, and thanks for maintaining wolf3d.net.