HeXen update
Moderator: GZDoom Developers
-
- Posts: 1
- Joined: Thu Aug 07, 2025 7:17 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 11
- Graphics Processor: nVidia (Modern GZDoom)
HeXen update
So regarding the recent HeXen / Heretic remaster, will everything come to GZDoom?
- Hellser
- Global Moderator
- Posts: 2782
- Joined: Sun Jun 25, 2006 4:43 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Manjaro Linux
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
- Location: Citadel Station
Re: HeXen update
From what I'm able to see - just a few sprites and two sets of levels with a couple of new enemies and a weapon? GZDoom could possibly load them *if* they're available on your system. Otherwise, I think we have some nifty widescreen stuff already - and the maps could be extracted baring that they're using the same system (WADs) like Doom + Doom II. Give the developers some time, Heretic and Hexen isn't that high up in the list of priorities. 

Re: HeXen update
It's actually a little bit more involved.
- The originals levels are actually modified - some to the point of being almost unrecognizable in some parts. This is to improve upon the originals' shortcomings (don't worry, the unmodified levels are still accessible via a menu option)
- There's also a gameplay overhaul baked into the games by default - using what appears to be The Wayfarer's Tome, but it's also implemented in some kind of JSON-looking format that GZDoom can't read
- Hexen has a map marker system built in to guide players where to go to, next
IIRC the levels themselves are able to be loaded into GZDoom, you just won't be getting the full experience. Some work is needed on that front.
- The originals levels are actually modified - some to the point of being almost unrecognizable in some parts. This is to improve upon the originals' shortcomings (don't worry, the unmodified levels are still accessible via a menu option)
- There's also a gameplay overhaul baked into the games by default - using what appears to be The Wayfarer's Tome, but it's also implemented in some kind of JSON-looking format that GZDoom can't read
- Hexen has a map marker system built in to guide players where to go to, next
IIRC the levels themselves are able to be loaded into GZDoom, you just won't be getting the full experience. Some work is needed on that front.
Re: HeXen update
So they have made their own content definition system called EXDEFS, however it's based on JSON, so its boilerplate setting is set to eleven. (To be fair, JSON was never designed to be hand-typed.) I imagine the idea is that eventually some sort of "DecoEx" tool will appear, like there's DecoHack already, that will allow you to write code that then gets electroplated into the JSON version.
If EXDEFS actually catches on in the community, it might be worth implementing a parser for it in GZDoom -- feature-wise, there's nothing really new, it's just an incredibly more verbose way of writing DECORATE. If it doesn't catch on, all that's needed is to add ZScript versions of the new content (the stuff that gets loaded in EX_BASE). For the optioned stuff, it's probably better to leave that out to be made with mods.
The full-screen widescreen images also need to have support for them implemented; it's mostly just a matter of coding in that raw graphics lump with a size of 112000 bytes are 560x200.
If EXDEFS actually catches on in the community, it might be worth implementing a parser for it in GZDoom -- feature-wise, there's nothing really new, it's just an incredibly more verbose way of writing DECORATE. If it doesn't catch on, all that's needed is to add ZScript versions of the new content (the stuff that gets loaded in EX_BASE). For the optioned stuff, it's probably better to leave that out to be made with mods.
The full-screen widescreen images also need to have support for them implemented; it's mostly just a matter of coding in that raw graphics lump with a size of 112000 bytes are 560x200.
Re: HeXen update
Much as I appreciate what NightDive et al does, I do wonder why they have a tendency to re-invent the wheel and introduce new systems to do the work of well-established standards with (as far as I can see it) little or no advantage, that simply increase the work for port authors and serve to confuse modders about which system they "should" be using, and make mods incompatible with certain ports.
For a while things were becoming more and more unified in the approach to Doom engine modding but, recently, there has been a proliferation of standards for, again - as I see it, little or no advantage.
For a while things were becoming more and more unified in the approach to Doom engine modding but, recently, there has been a proliferation of standards for, again - as I see it, little or no advantage.
- MartinHowe
- Posts: 2078
- Joined: Mon Aug 11, 2003 1:50 pm
- Preferred Pronouns: He/Him
- Location: East Suffolk (UK)
Re: HeXen update
THIS ^^ .
ISTR somebody making a JSON parser for ZScript, but whether there's any way to safely expose the compiler, I don't know. It wouldn't be hard to instance an Actor and mod its properties on creation, but I don't know if one can programatically add new states to an actor from within ZScript code; probably not. That said, I wouldn't have thought it too hard for GZDoom to compile this stuff to the VM anyway.
ISTR somebody making a JSON parser for ZScript, but whether there's any way to safely expose the compiler, I don't know. It wouldn't be hard to instance an Actor and mod its properties on creation, but I don't know if one can programatically add new states to an actor from within ZScript code; probably not. That said, I wouldn't have thought it too hard for GZDoom to compile this stuff to the VM anyway.
-
- Posts: 1177
- Joined: Mon Oct 05, 2015 8:37 am
- Nems
- Posts: 694
- Joined: Wed Jan 12, 2005 1:09 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Your forum thread
Re: HeXen update
Yeah I've gotta second this. Wasn't there kind of a stink about this when Doom + Doom 2 came out regarding features Legacy of Rust had? I would have thought they'd learn from that. I'm guessing the folks at Nightdive aren't in communication with other port developers when they do these things. That's a wild guess on my part admittedly.Enjay wrote: ↑Fri Aug 08, 2025 5:43 am Much as I appreciate what NightDive et al does, I do wonder why they have a tendency to re-invent the wheel and introduce new systems to do the work of well-established standards with (as far as I can see it) little or no advantage, that simply increase the work for port authors and serve to confuse modders about which system they "should" be using, and make mods incompatible with certain ports.
For a while things were becoming more and more unified in the approach to Doom engine modding but, recently, there has been a proliferation of standards for, again - as I see it, little or no advantage.
I was hoping for a more unified approach too but seeing stuff like this really puts me off. :\
- phantombeta
- Posts: 2177
- Joined: Thu May 02, 2013 1:27 am
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Brazil
Re: HeXen update
With Doom modding, yes. But what's there for Heretic and Hexen modding? (Specially the latter...)Enjay wrote: ↑Fri Aug 08, 2025 5:43 am Much as I appreciate what NightDive et al does, I do wonder why they have a tendency to re-invent the wheel and introduce new systems to do the work of well-established standards with (as far as I can see it) little or no advantage, that simply increase the work for port authors and serve to confuse modders about which system they "should" be using, and make mods incompatible with certain ports.
For a while things were becoming more and more unified in the approach to Doom engine modding but, recently, there has been a proliferation of standards for, again - as I see it, little or no advantage.
I'm not aware of any efforts like MBF21 to add extra states, make it possible to define new items, etc. for Hexen, so it's not exactly like they had an existing standard to use here...
I'm also not sure they're actually expecting sourceports to really support EXDEFS, and as far as I can tell, the whole thing seems to also be necessary so their port can actually switch those changes on and off. (they made several improvements to the games that you can turn on or off)
Re: HeXen update
Unfortunately I think a lot of that is thanks to the GPL. I am not defending NightDive or their decisions to reinvent yet another new standard, I agree they could go along with already established ones and that would actually be quite nice. However, a lot of existing standards used by the community have implementations that are protected by the GPL, and with every new source port appearing comes a new implementation of that standard. Every company both big and small knows that the GPL is literal kryptonite whenever you need to have some flexibility when it comes to porting to consoles and just "glancing" at GPL code is already risky, "cleanroom"-reversing it is extremely difficult to do, especially when their existing programmers have already had their hands in GPL side-projects relating to the exact same thing.Enjay wrote: ↑Fri Aug 08, 2025 5:43 am Much as I appreciate what NightDive et al does, I do wonder why they have a tendency to re-invent the wheel and introduce new systems to do the work of well-established standards with (as far as I can see it) little or no advantage, that simply increase the work for port authors and serve to confuse modders about which system they "should" be using, and make mods incompatible with certain ports.
For a while things were becoming more and more unified in the approach to Doom engine modding but, recently, there has been a proliferation of standards for, again - as I see it, little or no advantage.
So in the end, it's probably a legal "cover-your-ass" scenario and maybe they're being extremely careful. I do not know, I can't speak for them, I am also not a lawyer, so this all is just guessing on my part.
Re: HeXen update
I take your point, but I was more meaning the general standards/features that apply to any id-tech engine port.phantombeta wrote: ↑Fri Aug 08, 2025 7:51 pm But what's there for Heretic and Hexen modding? (Specially the latter...)
I'm not aware of any efforts like MBF21 to add extra states, make it possible to define new items, etc. for Hexen, so it's not exactly like they had an existing standard to use here...
I haven't played the remasters, so I didn't know they had embedded specific features that could be turned on/off. Interesting.
[edit] I just snagged a copy, and it does seem to be a nicely packaged deal with proper modern menus and lots of features to make it feel at home in a modern environment. As a left-handed player, it did strike me as amusing that a port that has several accessibility features built in only had WASD and ESDF configurations by default but you have to configure things yourself if you want to use the arrow keys. I can't speak too much to the gameplay yet, but it's clear that there are several nice little tweaks in there.[/edit]
Re: HeXen update
That makes sense.
I'm neither a coder nor a copyright lawyer. So, I watched from the sidelines as most (all?) Doom ports moved over to the GPL, along with the original source release IIRC. There was quite a clamouring for it to happen from some people. It was always presented as a positive and desirable thing to do, but it also seemed to come with a lot of work and a lot of strings/restrictions.
A genuine question: what are the benefits of the GPL to a Doom source port and do they outweigh the restrictions that being GPL imposes? I know it's all moot now - but I would be interested to hear a balanced opinion.
Re: HeXen update
GPL is more of an end-user-friendly license than it is an author-friendly license.
The GPL license over the DSL, allows for commercial use, ensures that forks always remain source-available, and ensures that you, as a user, have full permission to do whatever you want to the software and that you can make whatever changes you please with the software in your own personal use. It also gives contributors legal recourse should the license ever not be followed properly, such as a person taking your work and republishing it without making the source available.
It is also the most widely recognized license in use for open-source projects, and for all of its faults is probably one of the leading reasons why lots of free software remains open and accessible to everyone (including entire operating systems such as Linux), including those who might not be able to otherwise afford it if GPL alternatives not available to them.
The GPL is a perfect example of how nothing is ever 100% good or 100% bad.
The GPL license over the DSL, allows for commercial use, ensures that forks always remain source-available, and ensures that you, as a user, have full permission to do whatever you want to the software and that you can make whatever changes you please with the software in your own personal use. It also gives contributors legal recourse should the license ever not be followed properly, such as a person taking your work and republishing it without making the source available.
It is also the most widely recognized license in use for open-source projects, and for all of its faults is probably one of the leading reasons why lots of free software remains open and accessible to everyone (including entire operating systems such as Linux), including those who might not be able to otherwise afford it if GPL alternatives not available to them.
The GPL is a perfect example of how nothing is ever 100% good or 100% bad.
Re: HeXen update
I asked for a balanced opinion, and I got one. 
Thank you.

Thank you.
- ThatKidBobo
- Posts: 17
- Joined: Sun Mar 13, 2022 10:16 am
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia (Modern GZDoom)
- Contact:
Re: HeXen update
If these changes get implemented, will they be toggleable? Although I really have no idea how that would work with the maps. Where are the new maps and assets stored anyway? I'm guessing they are in wad files too, but if they are not, how would that be implemented?