The Future
Moderator: GZDoom Developers
The Future
Q. Why haven't you incorporated all the DECORATE enhancements Graf Zahl gave you, you miserable cur? Why must we use an unofficial build if we want them?
A. Because it has provisions for Use, Pickup, and Drop states for items. There is really nothing wrong with this, except they use what is essentially animation data to do this. To me, this seems like a kludge, and I don't especially want to implement a poor man's scripting language like this.
Q. So you aren't going to implement them?
A. Although I really hate to say it, not as provided, no. But since these features are already available in an executable that people can download and use, I also don't want to release a version of ZDoom without these features. After pondering the matter for a while, I think the time has finally arrived for DECORATE to live up to its potential. When I originally added the lump, it was simply a means of defining new decorative actors. Since then, it has grown to a point where it can describe almost every actor in the game.
But my original intent was always for it to be a precursor to the fabled "DoomScript." DECORATE introduced support for runtime classes to the engine, which are an integral feature for such a system. If you check the changelog recently, you should have noticed mention of a new type system and byte codes. This is what they are for.
Q. DoomScript? I thought that was just vaporware!
A. Just because it hasn't surfaced over all these years, that doesn't mean it never will. But I don't like the name "DoomScript" anymore, so you'll probably never see anything in ZDoom called "DoomScript." (Consider this a name-the-language contest if you want.)
Q. If you really are doing this, you'd better not make me compile my DECORATEs before I put them in a wad!
A. The compiler will be integrated directly into ZDoom, so you will not need to perform any extra steps when you build your wad. Depending on how long it takes to compile the thousands of classes that I will be able to move out of the executable, there will probably be a facility for precompiling the data, but it will be an optional step, not a requirement.
Q. Why create a new scripting system when you already have ACS?
A. Because ACS is extremely limited, and it is better to start with something new than try to extend it. Maybe we'll even see a new scripting language for maps that can make up for ACS's shortcomings!
Q. This isn't all just a big joke, is it?
A. I sure hope not. I think I've learned enough to make it work, and I've had years to let ideas for it stew in the back of my mind.
A. Because it has provisions for Use, Pickup, and Drop states for items. There is really nothing wrong with this, except they use what is essentially animation data to do this. To me, this seems like a kludge, and I don't especially want to implement a poor man's scripting language like this.
Q. So you aren't going to implement them?
A. Although I really hate to say it, not as provided, no. But since these features are already available in an executable that people can download and use, I also don't want to release a version of ZDoom without these features. After pondering the matter for a while, I think the time has finally arrived for DECORATE to live up to its potential. When I originally added the lump, it was simply a means of defining new decorative actors. Since then, it has grown to a point where it can describe almost every actor in the game.
But my original intent was always for it to be a precursor to the fabled "DoomScript." DECORATE introduced support for runtime classes to the engine, which are an integral feature for such a system. If you check the changelog recently, you should have noticed mention of a new type system and byte codes. This is what they are for.
Q. DoomScript? I thought that was just vaporware!
A. Just because it hasn't surfaced over all these years, that doesn't mean it never will. But I don't like the name "DoomScript" anymore, so you'll probably never see anything in ZDoom called "DoomScript." (Consider this a name-the-language contest if you want.)
Q. If you really are doing this, you'd better not make me compile my DECORATEs before I put them in a wad!
A. The compiler will be integrated directly into ZDoom, so you will not need to perform any extra steps when you build your wad. Depending on how long it takes to compile the thousands of classes that I will be able to move out of the executable, there will probably be a facility for precompiling the data, but it will be an optional step, not a requirement.
Q. Why create a new scripting system when you already have ACS?
A. Because ACS is extremely limited, and it is better to start with something new than try to extend it. Maybe we'll even see a new scripting language for maps that can make up for ACS's shortcomings!
Q. This isn't all just a big joke, is it?
A. I sure hope not. I think I've learned enough to make it work, and I've had years to let ideas for it stew in the back of my mind.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49223
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: The Future
If you can do something better, take those 3 states out. They are indeed a kludge that should be removed if you can do it better. It will just be some baggage that has to be carried around. I don't think there are many projects that use them. Better announce it now so their use is being discontinued as soon as possible.randy wrote:Q. Why haven't you incorporated all the DECORATE enhancements Graf Zahl gave you, you miserable cur? Why must we use an unofficial build if we want them?
A. Because it has provisions for Use, Pickup, and Drop states for items. There is really nothing wrong with this, except they use what is essentially animation data to do this. To me, this seems like a kludge, and I don't especially want to implement a poor man's scripting language like this.
With the current DECORATE parser compiling the entire set of ZDoom actors takes considerably less than a second. And if you are concerned about compiling some code I also don't think there's a problem as long as the compiler is comparable in speed to ACS. Whether the game's startup takes 1 or 2 seconds more is completely irrelevant but having some binary data carried around is something I'd rather not see.Q. If you really are doing this, you'd better not make me compile my DECORATEs before I put them in a wad!
A. The compiler will be integrated directly into ZDoom, so you will not need to perform any extra steps when you build your wad. Depending on how long it takes to compile the thousands of classes that I will be able to move out of the executable, there will probably be a facility for precompiling the data, but it will be an optional step, not a requirement.
- David Ferstat
- Posts: 1113
- Joined: Wed Jul 16, 2003 8:53 am
- Location: Perth, Western Australia
- Contact:
- Caligari87
- Admin
- Posts: 6225
- Joined: Thu Feb 26, 2004 3:02 pm
- Preferred Pronouns: He/Him
- Contact:
For a name, instead of DoomScript, here's an idea: Z.D.M.L. - ZDoom Modding Language
Anyway, when I first read this, I nearly flipped out, but upon a more careful review, I'm starting to like the sound of a new system that will hopefully be even better and more capable than DECORATE and ACS.
I'm assuming this new language will merge both somehow, am I right? And will backwards compatibility will be supported?

Anyway, when I first read this, I nearly flipped out, but upon a more careful review, I'm starting to like the sound of a new system that will hopefully be even better and more capable than DECORATE and ACS.
I'm assuming this new language will merge both somehow, am I right? And will backwards compatibility will be supported?

-
- Posts: 380
- Joined: Thu Oct 21, 2004 5:27 pm
- Apothem
- Posts: 2070
- Joined: Sat Nov 29, 2003 7:13 pm
- Location: Performing open heart surgery on an ACS compiler.
Oh oh oh! I got one! ZDSE!
Zdoom Scriting extension. I'll prolly figure out a better name later down the line.

Zdoom Scriting extension. I'll prolly figure out a better name later down the line.

NEVAR!!! I Will never quit scripting for ZDoom.ReX wrote:Damn !!! It sounds like another steep learning curve ahead. [Or perhaps this is Randy's way of telling some of us to quit mapping while we're still ahead !!!!]
