Can a GZDoom-like engine be made for Build games?

If it's not ZDoom, it goes here.
Gez
 
 
Posts: 17833
Joined: Fri Jul 06, 2007 3:22 pm

Re: Can a GZDoom-like engine be made for Build games?

Post by Gez »

Teddipetzi wrote:Also, from what I have been reading between the lines of Graf Zahl's postings about this matter over the last two months I suspect he's got something up his sleeve that will make EDuke32 look very, very old.
Do not expect a GZBuild. Build engine games have a lot less in common between them than Doom engine games do, so making some sort of unified port is pretty much out of question.
User avatar
Darkcrafter
Posts: 562
Joined: Sat Sep 23, 2017 8:42 am
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support

Re: Can a GZDoom-like engine be made for Build games?

Post by Darkcrafter »

Graf Zahl wrote:No, sorry, that's impossible. Technical issues aside, EDuke32 and its offspring use the GPL2 with no provision to upgrade and GZDoom uses GPL3, so even assuming the Build licensing quagmire can eventually be resolved, the licenses are still incompatible.
Oh sorry that was just a joke :cheers:
User avatar
StrikerMan780
Posts: 485
Joined: Tue Nov 29, 2005 2:15 pm
Graphics Processor: nVidia with Vulkan support
Contact:

Re: Can a GZDoom-like engine be made for Build games?

Post by StrikerMan780 »

Teddipetzi wrote: So why is it then that the biggest "progress" over the last year has been the total disintegration of proper, i.e. true color, hardware rendering?
Because it hasn't? And that isn't the only "progress"? The code is cleaner and faster than it's ever been, the collision code isn't a god-awful horrific mess of KenCode to work with and maintain anymore (no more randomly getting killed by doors, missiles exploding in mid-air near ledges, and other madness), among a ridiculous number of other things. This kind of response just comes off as extremely rude on top of clearly not knowing what you're talking about.

True color still is there, and it works the same as it always has. Just load a true-color texture, like in the HRP and see for yourself. Yeah, we got palette emulation in OpenGL modes for proper accuracy in lighting and presentation to the original games if you're loading the original 8-bit assets, but nothing has disintegrated or degraded. Just like phredreeke said, you can enable shade interpolation (pretty sure that's default now on a fresh config anyay), or, if you're really desperate to make the game's original assets look incorrect and washed out like old JFDuke3D builds or Duke3dw, you can make a mod to disable palette emulation in a DEF file.
Teddipetzi
Posts: 42
Joined: Sat Aug 17, 2019 2:32 am
Graphics Processor: nVidia with Vulkan support

Re: Can a GZDoom-like engine be made for Build games?

Post by Teddipetzi »

Phredreeke wrote:
Teddipetzi wrote:So why is it then that the biggest "progress" over the last year has been the total disintegration of proper, i.e. true color, hardware rendering?
The old shading was never proper, it was a hack because the original method (using lookup tables) wasn't viable on the GPU at the time. This needed further hacks on top to render the fullbrights in DN3D unshaded.
Phredreeke wrote: But if you don't like banding, NukeYKT implemented shade interpolation a while ago. This removes the banding while at the same time keeping the original colors. I took a few screenshots to show the difference
If it was just the banding, that'd be fine - but that shade interpolation does nothing at all to mitigate the palette crush that inevitably happens when working with only 256 colors.

Funny that we are discussing this on the forum for a port that must have faced the same problems but ultimately came out as an uncompromising true color engine that looks fantastic, even for the original game. No banding no palette crush or other compromises.

And what do I see here? The exact opposite - going back to the roots and preserving that old 90's crappy palette look.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Can a GZDoom-like engine be made for Build games?

Post by Graf Zahl »

Teddipetzi wrote: And what do I see here? The exact opposite - going back to the roots and preserving that old 90's crappy palette look.

What can I say? Welcome to the wonderful world of retro game development, where the greatest achievement is not to enhance the games and bring modern features to them but to meticulously preserve all the warts and bumps the games originally had to the greatest extent imaginable. Similar things often happen over at Doomworld, just witness the 4(!) featured retro ports.

But I have to admit that the deliberate preservation of the paletted visuals was why I refrained from buying Blood Fresh Supply. I do not pay money for that kind of stuff.

StrikerMan780 wrote: Because it hasn't? And that isn't the only "progress"? The code is cleaner and faster than it's ever been,
Ok, well, if you think so, but I cannot agree. The code is so performant that it renders the opening scene in Ion Fury with about the same performance on my system as the infamous bridge scene in Frozen Time gets done in GZDoom (12 ms processing time each) - that scene has 13000 linedefs visible all at once. And please - please(!) show me the code that got cleaned up. Because I cannot find any traces of this, despite looking.
User avatar
Kinsie
Posts: 7399
Joined: Fri Oct 22, 2004 9:22 am
Graphics Processor: nVidia with Vulkan support
Location: MAP33
Contact:

Re: Can a GZDoom-like engine be made for Build games?

Post by Kinsie »

StrikerMan780 wrote:the collision code isn't a god-awful horrific mess of KenCode to work with and maintain anymore (no more randomly getting killed by doors, missiles exploding in mid-air near ledges, and other madness), among a ridiculous number of other things.
The extensive and inventive collection of profanity and "Hey Kinsie, wanna hear how the engine's busted this week?" stories I've heard throughout the year from a CON scripter on a large mod project suggests that the collision overhaul has been a perhaps less-than-smooth process.
User avatar
Phredreeke
Posts: 293
Joined: Tue Apr 10, 2018 8:14 am

Re: Can a GZDoom-like engine be made for Build games?

Post by Phredreeke »

Teddipetzi wrote: If it was just the banding, that'd be fine - but that shade interpolation does nothing at all to mitigate the palette crush that inevitably happens when working with only 256 colors.
Which matches what Allen Blum and Levelord would have seen while mapping back in the 90s. Using multiplicative shading instead changes the mood of the scene.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Can a GZDoom-like engine be made for Build games?

Post by Graf Zahl »

No, actually, that's not what you'll see. You are forgetting one important piece in the chain and that's the monitor.
There's also this horrible stench of retro absolutism to be smelled here that's also quite widespread over at Doomworld, i.e declaring the technical limitations of the 90's an artistic merit. Aren't we here to improve matters and not trying at all costs to keep them the same?

Just look at the Doom port landscape for how things really are. No, it's not the pixel perfect retro ports that are the most popular - it's the hardware rendered ones that do away with the limitations. Of course most of those users will never visit the forum so you never hear their voice.
dpJudas
 
 
Posts: 3037
Joined: Sat May 28, 2016 1:01 pm

Re: Can a GZDoom-like engine be made for Build games?

Post by dpJudas »

Funny thing about monitors is that I used to play Doom on my dads 20" monitor back in the mid 90's. With a monitor that big 320x200 pixels are absolutely huge making most CRT emulating shaders rather incorrect as they assume some kind of low end TV-like monitor. Most people that were really into computers back then would be trying to get the best monitor they could afford as one of the first things they did. Just like today.

About absolutism, I see that all around even among people into true color rendering. When I play Doom I don't like the banding but I do like the, perhaps unintended, part where it makes the world seem far more gritty/dusty. Likewise with Square the colors of the water and other effects are lot better than what the true color renderers produce. I'm not remotely into retro like 1993 tho, since I also very much like the bloom effect on top of it all. :)

I think most people prefer a mixture of improvements and staying loyal to the original intended artistic style of the games. Like with music we all have our own idea what was the important/enjoyable part of it.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Can a GZDoom-like engine be made for Build games?

Post by Graf Zahl »

dpJudas wrote: About absolutism, I see that all around even among people into true color rendering.

Let's just phrase it this way: A consumer has every right to be absolute about their choice. Which pushes the ball back into the developers' field which need to provide the needed options. And that clearly also implies not removing options and declaring that an improvement. As we can see here, some people do not take that well. If some option needs to be removed there needs to be a good, justifiable reason. And that's something I cannot see here.

One feature I have been thinking about on and off is to take the colormaps and somehow derive a mathematical formula for a fade ramp from, but it's sadly beyond my mathematical skills to do it myself. And in case of some degenerate colormaps that suffer from color crushing at the bright end it's probably impossible.
dpJudas
 
 
Posts: 3037
Joined: Sat May 28, 2016 1:01 pm

Re: Can a GZDoom-like engine be made for Build games?

Post by dpJudas »

I once looked at the source code of the program Carmack wrote that calculated the original color ramp. It is literally a linear interpolation with a closest palette color search afterwards. From that we get that gritty effect is just less and less color quality as the darker the colors get (as there will be less and less accurate matches for the desired color). Effectively, we are looking at increasing desaturation and some noise.

For Square is it is a lot harder as here they artistically manipulated the colormap. At best we could take the original color, see which color it mapped to, then calculate the average desaturation and hue change across all pixels. Based on that we could create a texture with a ramp. But this would only work if they didn't do something really weird like having different rules for different color ranges.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Can a GZDoom-like engine be made for Build games?

Post by Graf Zahl »

Correct. Ion Fury has such an issue - the red color range has a totally weird off-kilter fade ramp that defies any mathematical approach. All the rest works fine but the red is totally off. To get it right I think it'll be necessary to extend the palette to 9 bits and recalculate everything so that at the bright end it doesn't degenerate into that white-ish orange. Heretic also got a yellow range that tops out as white, it's really something I eventually want to find a solution for. Of course I am looking for solutions that do not involve palettization of the output image.

One interesting effect I generally noticed from the color crush that happens with paletted color maps is that the resulting image is often a lot darker than doing the linear calculation directly, I've seen that in nearly every game I checked.
User avatar
Darkcrafter
Posts: 562
Joined: Sat Sep 23, 2017 8:42 am
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support

Re: Can a GZDoom-like engine be made for Build games?

Post by Darkcrafter »

Here is where I disagree on that palette degradation effect and I'm gonna bite like a mad cat everyone who impinge on it, in my opinion this linear palette degradation effect is what makes doom grit looking great in the dark areas, I don't play Doom with palette post effect disabled even if it kills some colors and even like that it doesn't nail software renderer look for all the 100%. I also highly disagree with people that hate doom palette comparing it to crap, it contributes a lot to unique doom look kind of enhancing that flat look. Is it theoretically possible to make hardware to render in 8 bit colors?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Can a GZDoom-like engine be made for Build games?

Post by Graf Zahl »

Darkcrafter wrote:Is it theoretically possible to make hardware to render in 8 bit colors?
No, hardware cannot render in 8 bits, but what you can do is do the entire shader processing paletted. This is essentially what EDuke is doing - it only applies the real color to the fully postprocessed palette index. The downside of such an approach is, of course that you can pretty much forget any kind of advanced render effect which needs to operate on real colors.

This wouldn't even be too hard to add to GZDoom, but it'd clash with some shader based effects.

But I'd rather pass on this. I've been using true color hardware rendering since I first discovered that PrBoom got a functional hardware renderer back in 1999 and have never looked back. I merely used the advancements in hardware rendering to get the lighting closer to the original, but didn't bother with image degradation effects - all that was external contributions.

I personally do not even use the emulated light modes, I use lightmode 2, the one called "Doom", it's not the most accurate but IMO it is the one that jumps least in your face with hardware rendering, while approximating proper brightness. With both mode 8 and 16 the lighting feels unnatural to me, same with pretty much any software renderer in existence.

But here's the nice thing: GZDoom allows to serve both extremes. EDuke sacrificed one for the other.
User avatar
Darkcrafter
Posts: 562
Joined: Sat Sep 23, 2017 8:42 am
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support

Re: Can a GZDoom-like engine be made for Build games?

Post by Darkcrafter »

Alright, thanks for the detailed answer, so it's not worth anything, hm... I just discovered something that I think suits my maps more, that doom mode.

Software mode: https://imgur.com/a/QdV7uLE
Doom mode: https://imgur.com/a/vURX3Il

As a result very distant objetcs get much darker introducing more contrast, this is what I like, the contrast. Perhaps some sort of fake contrast feature for 3d models can be achieved too?
Locked

Return to “Off-Topic”