Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
OpenRift

VZDoom: The Dream Source Port (rambling)

Recommended Posts

Someone oughta make a fork of GZDoom and make it into a port that actually runs non-GZ/ZDoom WADs competently and accurately. Namely someone who isn't Graf Zahl.

 

"Well why not just use a different port then?"

I do, I just think we need a definitive do-all port that actually does everything well, something that is both noob and veteran-friendly. Something that is both compatible with modern mods while maintaining all the classic quirks of the original experience. 

 

Stuff I'm talking about:

  • Default settings that don't break the base game's mechanics nor make it look like dogshit
  • 100% vanilla compatibility
    • vanilla physics
    • ghost monsters
    • 100% dehacked compatibility
    • 100% demo compatibility (and plays them on-launch like a normal port)
    • a bunch of other things Graf fucked up that I don't know about yet/forgot
  • Streamlined settings menu that fits Doom's (also PrBoom's or ZDoom's) design language
  • A QoL settings/improvements (automap label position/colors, consistent pixel ratio scaling for text, etc.)
  • Doesn't run like shit
  • Probably some more things I'm forgetting

 

It'd be called VZDoom, or GZDoom classic, or something like that. I dunno.

Share this post


Link to post
11 minutes ago, OpenRift said:

Someone oughta make a fork of GZDoom and make it into a port that actually runs non-GZ/ZDoom WADs competently and accurately. Namely someone who isn't Graf Zahl.

 

"Well why not just use a different port then?"

I do, I just think we need a definitive do-all port that actually does everything well, something that is both noob and veteran-friendly. Something that is both compatible with modern mods while maintaining all the classic quirks of the original experience. 

 

Stuff I'm talking about:

  • Default settings that don't break the base game's mechanics nor make it look like dogshit
  • 100% vanilla compatibility
    • vanilla physics
    • ghost monsters
    • 100% dehacked compatibility
    • 100% demo compatibility (and plays them on-launch like a normal port)
    • a bunch of other things Graf fucked up that I don't know about yet/forgot
  • Streamlined settings menu that fits Doom's (also PrBoom's or ZDoom's) design language
  • A QoL settings/improvements (automap label position/colors, consistent pixel ratio scaling for text, etc.)
  • Doesn't run like shit
  • Probably some more things I'm forgetting

 

It'd be called VZDoom, or GZDoom classic, or something like that. I dunno.

 

I have a few name suggestions for that:

 

-EZDoom

 

-EZPZDoom

 

-RZDoom (R for Retro)

 

Though I do like the idea of a GZDoom fork that does all that, if it's even possible to get all that in one sourceport.

Share this post


Link to post
4 minutes ago, DavetheDoomguy said:

 

I have a few name suggestions for that:

  

-EZDoom

 

-EZPZDoom

 

-RZDoom (R for Retro)

 

Though I do like the idea of a GZDoom fork that does all that, if it's even possible to get all that in one sourceport.

Eh, reminds me too much of EZQuake, a QuakeWorld source port I also don't like very much.

Share this post


Link to post
5 minutes ago, OpenRift said:

Eh, reminds me too much of EZQuake, a QuakeWorld source port I also don't like very much.

 

Why don't you like EZQuake? I'm not familiar with it, so I don't know why it wouldn't be liked.

Share this post


Link to post
1 hour ago, OpenRift said:

I just think we need a definitive do-all port that actually does everything well

Yeah, that would be great! And I assume you will spearhead the development of this port since the rest of the community has been unable to achieve such a masterpiece.

Share this post


Link to post
43 minutes ago, Gez said:

 

You will have to remove all the ZDoom stuff, all of it. No more DECORATE or ZScript, no more slopes, no more 3D floors, no more ACS, no more Hexen format or UDMF, no more Heretic/Hexen/Strife support. Toss all that aside and shoe-horn Chocolate code inside instead. You will end up with something that's basically Chocolate Doom using the GZDoom backend.

that does not sound good, i couldnt play without all of that. 

may i ask, @OpenRift, what did Graf Zahl screw up? i think he made a pretty damn good source port.

Share this post


Link to post
1 minute ago, Deathclaw886 said:

that does not sound good, i couldnt play without all of that. 

may i ask, @OpenRift, what did Graf Zahl screw up? i think he made a pretty damn good source port.

possibly a setting feature or an excluded  feature, the demo playback would be nice for gzdoom.

Share this post


Link to post
49 minutes ago, Gez said:

 

You will have to remove all the ZDoom stuff, all of it. No more DECORATE or ZScript, no more slopes, no more 3D floors, no more ACS, no more Hexen format or UDMF, no more Heretic/Hexen/Strife support. Toss all that aside and shoe-horn Chocolate code inside instead. You will end up with something that's basically Chocolate Doom using the GZDoom backend.

I don't see how it would be impossible to bring vanilla behavior with DECORATE and all those things. My idea is similar to what Zelda Classic did to its editor with Small Mode (And way previously with its quest rules) Basically my idea would be to have a simple on/off switch for ZDoom-exclusive content when you launch a WAD (I mean to be honest who is gonna use both DeHacked things AND ZDoom stuff at the same time) True, this would break the demo compatibility when using this setting, but this would actually allow you to choose between Vanilla (DeHackEd allowed), Boom, GZDoom "vanilla", GZDoom customizable and GZDoom...GZDoom. I know this would maybe be complicated to include all in one port, but this is definitely possible and it would indeed help to consolidate everything in one port. So it would basically be 3 ports in one executable.

 

In the case where my idea is impossible, we can always try to code a DECORATE parser thanks to the arbitrary code execution exploit that was found recently. I mean if we find a way to have a DECORATE parser injected into Vanilla WADs thanks to arbitrary code execution, we can essentially just forget about even having to make a new source port, we're only gonna need Chocolate Doom from now on. And trust me, I'm willing to try.

Share this post


Link to post
Just now, Angelloproduct said:

possibly a setting feature or an excluded  feature, the demo playback would be nice for gzdoom.

yeah, that would be cool, but i wouldnt sacrifice all of that for demo playback.

Share this post


Link to post
1 hour ago, OpenRift said:

I just think we need a definitive do-all port that actually does everything well, something that is both noob and veteran-friendly.

That's almost tautologically true - of course it'd be nice to have a port that does everything well, who wouldn't like that? But it's obviously easier said than done. If you've ever taken a look at PrBoom+'s source code, you've seen how much of a headache it already is just to support the complevels it has; each way Ultimate Doom, Doom II, Final Doom, Boom, MBF, etc. differ are basically frankensteined into one monster program, and that doesn't even touch all the things ZDoom brings to the table. GZDoom intentionally gave up on supporting exact vanilla behavior because it gets in the way of adding functionality that modders want, whether that be due to code complexity or different audiences' goals being at odds with each other. Same with performance - of course nobody would say no to better performance, but there's often a tradeoff between genericizing a behavior for more customizability and optimizing it for better performance.

Share this post


Link to post

why fix whats was broken on purpose?


GZDoom is not anymore a Doom Engine.
Its a game developing tool that also can run Doom.

 

Sourceports that try to be conservative and vanilla and demo friendly are out there.

Just let Graf Zhal do his magic.

A lot of people enjoy it already.

 

Maybe a more accesible sourceport would be cool.

But no sense using GZDoom as base.

 

Delphi Doom could be a good start as it has slopes, and i think 3D Floors, too.

But there is no way to merge that with vanilla compatibility.

More features means less compatibility, simply as that.

 

Chocolate is vanilla, but limit removing is not compatible with it, and also, boom is not compatible with limit removing...

Its that way.

Share this post


Link to post
Quote

Someone oughta make a fork of GZDoom and make it into a port that actually runs non-GZ/ZDoom WADs competently and accurately. Namely someone who isn't Graf Zahl. 

I actually considered doing this a while ago, before realizing that....honestly?  I think you could do a lot better by starting with Chocolate Doom or WinMBF (or now Crispy Doom or Woof) and giving it a killer interface.  I think we should set our sights higher than the Quake 2-era interface that ZDoom's interface is heavily informed by, because by most objective measures it's quite dated.

 

How cool would it be to have a Doom port with an interface like UT99?  Or Half Life?  Or even something more modern and original?

 

3 hours ago, Gez said:

You will have to remove all the ZDoom stuff, all of it. No more DECORATE or ZScript, no more slopes, no more 3D floors, no more ACS, no more Hexen format or UDMF, no more Heretic/Hexen/Strife support. Toss all that aside and shoe-horn Chocolate code inside instead. You will end up with something that's basically Chocolate Doom using the GZDoom backend.

 

You absolutely do not have to remove even close to all of the ZDoom stuff.

 

Take Odamex.  It plays vanilla demos but also supports ACS, Hexen format maps, slopes, and a number of other ZDoom features, and there's plenty of ZDoom features like UDMF, 3D floors, and more complete support for the previously-mentioned featured that could reasonably be implemented with more developer hours invested.

Or, take Eternity, which seems to be making good progress on Raven support.  You don't even need one for Strife because Strife: Veteran Edition already exists.

ZScript is probably a no-go, but some flavor of DECORATE could be supported as well, though probably not the GZDoom-dialect.

Edited by AlexMax

Share this post


Link to post

good luck rewriting GZDoom back to fixed point. please, notify my grandson when you'll finish.

Share this post


Link to post

EE will eventually fill the niche of advanced features and classic feel. In fact the plan is to eventually include complevel equivalencies, most idtech1 games, and scripting (aeon iirc.) Not to mention all it currently includes. I hope it gets better custom game support eventually, since getting it to run Harmony or Chex Quest 3 should be possible with a little elbow grease. Not trivial though; I know since I've tried.

Share this post


Link to post
6 hours ago, OpenRift said:

Stuff I'm talking about:

Isn't this what Doom Legacy v2.0 was set out to do about 13 years ago?

~ Ok maybe it hasn't been that long ago?

Share this post


Link to post

Firstly, GZDoom's goal isn't to be a demo compatible port, its main goal is modding. And that has been the case since 1998. Gameplay mechanics being "broken" (which by the way is a huge exaggeration) has been that way since day one, well before even Graf entered Zdoom's development. In order to fix some of the issues, it would require sacrificing modding features which in turn would break mods.

 

Nobody is stopping you from making such a port if you think GZDoom isn't good enough. Go ahead and make this masterpiece of a port happen.

Share this post


Link to post

 

2 minutes ago, ReaperAA said:

masterpiece 

"Masterpiece"  i wasnt impressed with the idea to begin with.

i am completely satisfied with GZDoom at the moment, i dont understand your grudge against it.....

 

Share this post


Link to post

DO IT, PLEASE DO IT. IT'S COMPLETELY POSSIBLE IN EVERY WAY PLEASE I NEED TO HAVE PRBOOM+ WITH ZDOOM COMPATIBILITY.

 

Although I understand how hard it would be to make a GZDoom port that wasn't slow as hell and could play Doom correctly (should just call it GZ if it isn't Doom anymore), I think it's a possibility, but would probably take a lot of effort. I once tried to make a port of Fusion that worked on Windows, but sadly I had no idea how to code or make a port, so you should probably know code first.

Share this post


Link to post
2 minutes ago, Deathclaw886 said:

i am completely satisfied with GZDoom at the moment, i dont understand your grudge against it.....

Nothing to do with "grudge against (GZDoom)", it's more that people in this thread discuss about possibilites of other source ports for other kind of people too.

GZDoom is great and almost immediately available for many people, yes, but there are other people who want the advanced features (scripting language, limit-removing, etc.) while still retaining tons of vanilla DOOM stuff, or the other way around. Not all people have devices that can run GZDoom, as well, as it employs the more advanced hardware-based features for some high-end devices, while these people are lucky enough to even have their device(s) still running, wishing to improve their usual Dooming experience while at it.

 

Indeed, other source ports do exist. Tons of them, in fact. But they usually lack some of the aforementioned things.

  • PrBoom+ and Woof! support demos and different compatibility levels, but have no scripting language.
  • EDGE has its own scripting language arguably just as advanced as GZDoom, but is nowadays run by few developers and testers, with lots of broken and/or different stuff between the last main 1.x release and 2.x ones. It has no demo support and its MIDI driver depends on TiMiDity a lot, being internally broken even for pre-Windows 8 OSes.
  • Eternity Engine hits the sweet spot for many in this thread, but it has yet to reach GZDoom's popularity (hindering its max potential to some). Its documentation is also far less widespread than GZDoom's.

Besides, who knows if this discussion may furthermore bring a good wind for everyone here, even of the GZDoom side? DOOM is a technically simple game that is supposed to run on devices with a CPU while being modifiable to people as well. GZDoom is only one such means, and people are free to pick their choice.

Share this post


Link to post
41 minutes ago, ReaperAA said:

Gameplay mechanics being "broken" (which by the way is a huge exaggeration) has been that way since day one, well before even Graf entered Zdoom's development.

actually, Graf implemented alot of compatibility options to restore vanilla quirks. it's... interesting to see people accusing Graf of "breaking" GZDoom, while in reality Graf did exactly the opposite.

Share this post


Link to post
5 minutes ago, ketmar said:

actually, Graf implemented alot of compatibility options to restore vanilla quirks. it's... interesting to see people accusing Graf of "breaking" GZDoom, while in reality Graf did exactly the opposite.

 

ZDoom's compatibility options are piecemeal and incomplete - best-effort attempts at emulating an engine it has long since left behind.  For every quirk that's patched there's two more that remain, and even some purposefully left unfixed.  It cannot be complete for the same reason why the described "dream port" can never be fully realized.

Share this post


Link to post

Honestly, if you really want a perfect DOOM Source Port that can run GZDoom, ZDoom, BOOM, or Vanilla mods and wads, then you, or someone you are asking someone to do, should just make a new Source Port. I have an idea, and I don't know if it is possible. Get this, a DOOM Source Port, that is also a Quake Source Port. Crazy idea, I know. Both source codes exist, and GZDoom can do stuff even Quake can't do, so it should be a slam dunk. I am not a programmer, so I don't know if it is possible, but it would be cool to have it do that. Should be named something the Dream Engine, or the Illusion Engine. Or hell, even fuckin' DemonGate Engine.

Share this post


Link to post
12 minutes ago, AlexMax said:

ZDoom's compatibility options are piecemeal and incomplete - best-effort attempts at emulating an engine it has long since left behind.

Best effort in some cases, complete non-functional at worst:

 

Or out-right forbidden to the end user and authors: https://forum.zdoom.org/viewtopic.php?f=4&t=23967&p=465634&hilit=ghost+monsters+mapinfo#p465634

Edited by Edward850

Share this post


Link to post
19 minutes ago, AlexMax said:

ZDoom's compatibility options are piecemeal and incomplete

sure, there is only so much one can do without completely freezing the codebase. still, Graf tried to preserve as much as possible without turning the engine into unmaintainable mess. and blaming Graf of "breaking things" sends the clear message to any advanced sourceport developer: simply ignore "pure" audience. it seems that they will never be happy, and you will always be the one who broke everything, no matter how much efforts you put into keeping the damn thing working.

Share this post


Link to post

Okay, I think I have some memory of seeing this before, but....yeah.

 

Quote

// Emulate old bugs for select maps. These are not exposed by a cvar
// or mapinfo because we do not want new maps to use these bugs.
enum
{
   BCOMPATF_SETSLOPEOVERFLOW   = 1 << 0,   // SetSlope things can overflow
   BCOMPATF_RESETPLAYERSPEED   = 1 << 1,   // Set player speed to 1.0 when changing maps
   BCOMPATF_SPECHITOVERFLOW    = 1 << 2,   // Emulate spechit overflow (e.g. Strain MAP07)
   BCOMPATF_VILEGHOSTS         = 1 << 3,   // Monsters' radius and height aren't restored properly when resurrected.
};

 

Looks like it was done with the express intention of preventing new maps with ghost monsters from being made.  I....gotta say, I have a hard time seeing this in any light that's not controlling and paternalistic.

Share this post


Link to post
1 hour ago, Deathclaw886 said:

"Masterpiece"  i wasnt impressed with the idea to begin with.

i am completely satisfied with GZDoom at the moment, i dont understand your grudge against it.....

 

I don't have any grudge against GZDoom and I personally use it all the time. My post mostly meant to answer OP's rambling by challenging them to make a "so-called-masterpiece" of a port that has all the features they want.

 

Seriously, if OP wants to have vanilla faithfulness and GZDoom's modding strength, then they should just use multiple ports. GZDoom for gameplay mods or TCs and ports like PrBoom+, Eternity or Crispy for more vanilla stuff. End of problem.

Share this post


Link to post
55 minutes ago, ReaperAA said:

Seriously, if OP wants to have vanilla faithfulness and GZDoom's modding strength, then they should just use multiple ports. GZDoom for gameplay mods or TCs and ports like PrBoom+, Eternity or Crispy for more vanilla stuff. End of problem.


+100500 to this

Share this post


Link to post

Gzdoom was never designed with what you think it should be when it was made, Graf has done exceptional work on Gzdoom to make a port of a classic game compatible with the ever expanding Modern technology that we have at our disposal as of right now.

 

If you HAVE to have a port of Doom that is 100% the real thing, go play DOSBox, or the many other "Vanilla" source ports that exist, Gzdoom is perfect the way it is as a modding tool and that's not going to change.

Share this post


Link to post
Guest
This topic is now closed to further replies.
×