That's valid. It's when the knowledge is not your own but you insist on arguing it that it begins to bother me.Zippy wrote:Discussion is thrilling. There isn't anything quite like exploring views which are not your own.
Again, discussion is a wonderful thing I tend to participate in quite often, but you won't see me discussing the merits of one type of automobile engine over another because this is a topic I have not bothered to become familiar with, and I wouldn't want to seem an ass trying to discuss things of which I know nothing. This is the mistake you seem to be making here.Exchanging information with someone whose perspective does not exactly match yours. An admission that the world is inhabited by other people, and there is a need to discourse with them; to understand them. A forum happens to be a nice setting for that too, provided it doesn't dissolve into flame war drivel.
This would seem to be disproven by the fact that despite the addition of numerous features, ZDoom is one of (if not the) most stable source ports out there. It is very easy to code by adding "little bits at a time" so long as the project is being maintained in such a way that these bits are consistent and don't break anything existing. Most open source projects are developed by many different programmers and still manage to maintain stability.Ok, let me try it like this. I'm maintaining that the flipside of "wait to develop it later" has its own problems. Taking it to the extreme, for the sake of example, would of course be developing and putting in all that you can, immediately, little bits at a time. The big problem is that there's no eye for design with regards to future development. What's going to happen is that you have a loosely tied together engine that lacks stability.
Show me one case where this occurred and didn't have something to do with Dehacked. If we were speaking more generally you might have a shred of a case. As it is I'm talking about a very specific and simplistic lump that would require no maintaining whatsoever once implemented.Moreover, you're increasing your own workload as you'll have to constantly go back to old code and rewrite it to work properly with new things coming that you hadn't exactly planned for.
Quit trying to play the backwards compatibility card. It doesn't apply here and nothing you're saying makes any sense.This is especially true for a project like ZDoom, where there is a large degree of backwards compatibility to maintain. And this isn't just Dehacked we are talking about. With every new version, it seems to me, the developers are activately trying to make it so a map produced with any previous version of ZDoom will work in any future version. Admittingly it falls short in some areas; this is reality. But they're trying. This requires trying to maintain backwards compatibility with all features. So no decision to add or remove something should be taken lightly, especially if it's going to interact with other parts of the engine. If the extreme of waiting for DoomScript is death by development starvation, than the opposite side is death by a thousand development wounds.
To illustrate, let's say at some future point the HUDDEF lump becomes entirely unsupported. The side-effect is that the player can't select a custom HUD. The map will still function otherwise entirely as intended. And give me one compelling reason to cease support for a very simple lump. I can guarantee you that the difficulty of maintaining compatibility is not one such reason. It'd be like dropping support for LOADACS. Why would you?
ACS is a more powerful language than it was six months ago. It's far more powerful than the ACS Raven used to create Hexen. Why should Graf go to great lengths to design another language when ACS will just catch up with it eventually? Then you'd have two languages that are just as powerful, which creates redundancy. If anything, this is what we should be avoiding down the road.So which way do we go here? Obviously not either of the extremes, but somewhere in the middle, and probably closer to one side than the other. I think holding off is the better choice. As suggested by Graf, there are some inadequacies in ACS, and another, more powerful language would do the job better.
Really? Do we know that? Because I've been waiting for DoomScript for around 6 years, and I don't see any progress in its direction.We know something like DoomScript is coming. If we wait for that to begin to surface, and begin to get a better idea of just what it will be like, then we can start working on some kind of HUDDEF lump.
On the other hand, we already know that ACS works to create custom HUDs because it's already been done.
It wouldn't be a precursor. It would be the HUDDEF we use now and continue to support in the future. If more features are needed down the road, it can be extended, it need not be replaced. Think about it: We have a lump named Decorate which does far more than let us define decorations. DoomScript might eventually replace it, but that's not a compelling argument for getting rid of it... or did you want to wait until you're 60 to play KDIZD?And why not add some kind of HUDDEF right now as a precursor?
Do we intend to maintain backwards compatibility with ACS? Yes? Then your argument just fell flat on its face.There's a few reasons I think something like that shouldn't be done just now with ACS. One, as mentioned before, is backwards compatibility. It would have to be maintained.
No it's not, I just told you.This goes bad with the second reason: with not a lot to DoomScript (or some other language which would later be the focal point of a HUDDEF lump) right now, it's hard to tell just how a HUDDEF lump should be started.
Redundancy. If it works, why break it?HUDs done with ACS may be done entirely differently in another language.
More likely we'd wind up with something that continues to work but is supplemented with more features as it's used and people come up with ideas for expanding it. See also: Decorate.We could wind up with something that becomes totally worthless as a starting point later on.
If it's not worth it, then why are there so many threads asking for how to disable this or that HUD, or to provide a better way for mappers to put optional HUDs into their maps? Why has Graf complained about people creating custom HUDs that can't be disabled? Since this is exactly what everyone is asking for, a method of easily toggling custom HUDs or selecting between multiple HUDs in a standardized fashion, and especially since the changes required would be so easy to code, I fail to see where you come up with the argument that it's not worth it.I don't think it's worth it to put it in just to make HUDs done with ACS scripting more easily togglable. This is a case, I believe, where a little bit of patience would serve us better in the end.