ZDOOMGL v2: Re-Restarting The ReWrite, Again
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49234
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
That's precisely what I have in mind. However, such a system requires strict adherence to custom label use. Jumps with offsets won't work with that.Nash wrote:Yeah, that was something I suggested on the GZDoom forums a long time ago. This would be soooo much easier for the modder:
This is an example of how the model definition would look like. It would replace the Spawn state with frames 0 to 20 from the model. How the Spawn state is setup in DECORATE doesn't matter. Walking frames would be from 21 to 40, melee attack from 41 to 50, etc.Code: Select all
states { Spawn: 0, 20 See: 21, 40 Melee: 41, 50 ... etc }
Most people probably won't find this interesting at all, but work is (slowly) progressing on the materials system. I'm just getting the editor up and running and deciding how far I want to go with its abilities and how precisely I'm going to hook it up to the game.
http://timmie.shackspace.com/zdoomgl/sc ... ated_1.png
Right now I'm leaning towards the process of creating a pool of materials and then providing a way of binding a material to a texture used in Doom. Any texture without a material explicitly bound will get the default material (basically just the diffuse texture, so it'll look exactly as it does now).
http://timmie.shackspace.com/zdoomgl/sc ... ated_1.png
Right now I'm leaning towards the process of creating a pool of materials and then providing a way of binding a material to a texture used in Doom. Any texture without a material explicitly bound will get the default material (basically just the diffuse texture, so it'll look exactly as it does now).
Why don't you just copy the index for the Materials in Doom3? It's not like people will be making their own textures using Normals anyway.
Speaking of normals. How do you forsee the lighting being done in this? I'm asking this because, if you're gonna go with the same kind of lighting that is used in most Hardware rendered Doom ports, there's not much use for Normals in the first place.
Speaking of normals. How do you forsee the lighting being done in this? I'm asking this because, if you're gonna go with the same kind of lighting that is used in most Hardware rendered Doom ports, there's not much use for Normals in the first place.
It's going to be proper per-pixel lighting, so normals will be able to be used. Sector lighting is going to be treated as ambient lighting and then the point lights will be added in (potentially using normals/specular/etc).
edit: also, my plan is to essentially have a visual editor for the materials and the game will automatically generate the vertex/fragment programs used, so nobody will have to go off and learn GLSL to use the feature. I'm pretty much using the UE3 material editor as a model.
edit: also, my plan is to essentially have a visual editor for the materials and the game will automatically generate the vertex/fragment programs used, so nobody will have to go off and learn GLSL to use the feature. I'm pretty much using the UE3 material editor as a model.
- StrikerMan780
- Posts: 486
- Joined: Tue Nov 29, 2005 2:15 pm
- Graphics Processor: nVidia with Vulkan support
- Contact:
Well, since this topic has been revived, I want to talk. 
I've been reading this, and I'd have to whole-heartedly agree with ST, GZDoom, and ZDoom binding all together into one port - ZDoom itself. This would keep bugs down for a good reason - Version Differences wouldn't be an issue at all.
Why? Well, look, ST was based on 2.1.7, now it's based on GZDoom, which is based on the Latest SVN version, but ST changes some stuff, then does this and that etc. Which can cause confusion, and can end up being a total coding headache because of stuff hand-picked he and there are mashed together haphazardly. and can break the possibility of being correctly updated to a solid version, instead of a mixed version set. Merging it all into ZDoom though, fixes that, because with each ZDoom release, all of the stuff goes with it in Harmony. (since it's all in one full unit.)
Also, about the Netcode. I looked that that little snippet that Graf Zahl posted, and DAMN. I can see that would definitively be a pain the the ass, knowing a little bit of how C/C++ works. Ouch. The best way to make the netcode centric, is to wipe the netcode out completely; clean all the little bits strewn throught the code, clear the lines, and start on a clean slate.
If that's done, and ST merges, when cleaning out the netcode, I'd recommend keeping the ZDoom Master/Slave method of play in so it is still playable online while it's still in the works.
And once the new C/S netcode is done, it would be kick-ass to have the capability of using either Client/Server or Master/Slave (whichever you prefer or suits your server best) at your own choosing when making your server. (Kind of like how EDuke32's Multiplayer Launcher allows you to choose between Master/Slave or P2P.)
I think it would be the greatest thing if ST + GZDoom + ZDoom merged.
Making that decision is on the part of Graf, Carn, Randy, Torr, and Rive though, but I hope they consider it. It's likely the best route to take.
And, as with the ST Forums, don't worry about it, it's possible to keep that forum up, and away from here. Maybe moved to the ZDoom domain *if* the site goes down, as an entire separate forum for the would-be-new "Multiplayer" part of ZDoom's community. (Main reason is to keep the drama away from the Single player group of ZDoom players)
If not, I'm sure we can find a way to cut down on drama. And as far as the Devs go, it's much easier on them not to get too involved or stressed over the community, the mods and admins are there for that. The devs are best off focusing more on the Coding and progress of the Port than dealing with idiots on a forum.
Anyhow, that's all I have to say for now folks. Tell me what you think of what I've said, and let's discuss more. I hope the Devs will read this too.
Thank you.
- StrikerMan780.

I've been reading this, and I'd have to whole-heartedly agree with ST, GZDoom, and ZDoom binding all together into one port - ZDoom itself. This would keep bugs down for a good reason - Version Differences wouldn't be an issue at all.

Why? Well, look, ST was based on 2.1.7, now it's based on GZDoom, which is based on the Latest SVN version, but ST changes some stuff, then does this and that etc. Which can cause confusion, and can end up being a total coding headache because of stuff hand-picked he and there are mashed together haphazardly. and can break the possibility of being correctly updated to a solid version, instead of a mixed version set. Merging it all into ZDoom though, fixes that, because with each ZDoom release, all of the stuff goes with it in Harmony. (since it's all in one full unit.)
Also, about the Netcode. I looked that that little snippet that Graf Zahl posted, and DAMN. I can see that would definitively be a pain the the ass, knowing a little bit of how C/C++ works. Ouch. The best way to make the netcode centric, is to wipe the netcode out completely; clean all the little bits strewn throught the code, clear the lines, and start on a clean slate.
If that's done, and ST merges, when cleaning out the netcode, I'd recommend keeping the ZDoom Master/Slave method of play in so it is still playable online while it's still in the works.
And once the new C/S netcode is done, it would be kick-ass to have the capability of using either Client/Server or Master/Slave (whichever you prefer or suits your server best) at your own choosing when making your server. (Kind of like how EDuke32's Multiplayer Launcher allows you to choose between Master/Slave or P2P.)
I think it would be the greatest thing if ST + GZDoom + ZDoom merged.
Making that decision is on the part of Graf, Carn, Randy, Torr, and Rive though, but I hope they consider it. It's likely the best route to take.
And, as with the ST Forums, don't worry about it, it's possible to keep that forum up, and away from here. Maybe moved to the ZDoom domain *if* the site goes down, as an entire separate forum for the would-be-new "Multiplayer" part of ZDoom's community. (Main reason is to keep the drama away from the Single player group of ZDoom players)
If not, I'm sure we can find a way to cut down on drama. And as far as the Devs go, it's much easier on them not to get too involved or stressed over the community, the mods and admins are there for that. The devs are best off focusing more on the Coding and progress of the Port than dealing with idiots on a forum.
Anyhow, that's all I have to say for now folks. Tell me what you think of what I've said, and let's discuss more. I hope the Devs will read this too.

Thank you.
- StrikerMan780.

Yeah, that's all well and good except that Graf has repeatedly stated that a lot of ST's code is strewn throughout the various actors and weapons and maintaining it would be a nightmare. I doubt he'd want to take on such a task. And rewriting the entire netplay system? What makes you think they'd want to do such a thing when they've refused to implement C/S play for this long?
Also, I think you're a tad confused. A client/server implementation is the same thing as a "master/slave" design -- one computer hosts and controls the game, the others just interfase with it. (Z)Doom's original netcode is a peer-to-peer (P2P) system where each machine runs its own instance of the game.
Also, I think you're a tad confused. A client/server implementation is the same thing as a "master/slave" design -- one computer hosts and controls the game, the others just interfase with it. (Z)Doom's original netcode is a peer-to-peer (P2P) system where each machine runs its own instance of the game.
- StrikerMan780
- Posts: 486
- Joined: Tue Nov 29, 2005 2:15 pm
- Graphics Processor: nVidia with Vulkan support
- Contact:
I'm just saying that a Re-Write would be much better than having to maintain a messy, and screwy netcode. Re-Writing would have the benefit of being able to maintain it better, in the future.

Really, Refusing something just because it's a big task isn't really the best thing to do though. Sure, things can be extremely hard, but nobody's forcing anybody to do it in a rush, it's one of those things that takes time. Just do tidbits here and there, when you have time or the will to do so. Just take little baby steps, to put it short.
Honestly, there's no hurt in taking on such big things from time to time, because if nobody ever did, we couldn't go beyond where we are now.
IMHO, doing a re-write would be for the better, instead of messing with a buggy, unstable mess.
I just want what's best for ZDoom and it's cousins, and in doing something like this could definitely give DOOM that real boost it needs. (And might even boost it's popularity in the newer generation of gamers
).
EDIT:

Also, nobody's forcing Graf or anybody to do it in a rush or immediately.I doubt he'd want to take on such a task. And rewriting the entire netplay system? What makes you think they'd want to do such a thing when they've refused to implement C/S play for this long?

Really, Refusing something just because it's a big task isn't really the best thing to do though. Sure, things can be extremely hard, but nobody's forcing anybody to do it in a rush, it's one of those things that takes time. Just do tidbits here and there, when you have time or the will to do so. Just take little baby steps, to put it short.

Honestly, there's no hurt in taking on such big things from time to time, because if nobody ever did, we couldn't go beyond where we are now.
IMHO, doing a re-write would be for the better, instead of messing with a buggy, unstable mess.
I just want what's best for ZDoom and it's cousins, and in doing something like this could definitely give DOOM that real boost it needs. (And might even boost it's popularity in the newer generation of gamers

EDIT:
Oh, from what I heard, Master/Slave and Client/Server were two different things. And from what I've heard Graf Say, that ZDoom was Master/Slave. :\ If not, my bad.Also, I think you're a tad confused. A client/server implementation is the same thing as a "master/slave" design -- one computer hosts and controls the game, the others just interfase with it. (Z)Doom's original netcode is a peer-to-peer (P2P) system where each machine runs its own instance of the game.

Skulltag's netcode is neither instable, screwy, nor messy (some parts are needlessly redundant, but not in areas that you've seen). Nor, for the most part, is it hard to work with IMO. I don't see how rewriting it will avoid having to integrate it with Doom's existing code. You can make your code more modular, but a rewrite seems excessive to me.StrikerMan780 wrote:I'm just saying that a Re-Write would be much better than having to maintain a messy, and screwy netcode. Re-Writing would have the benefit of being able to maintain it better, in the future.
Also, nobody's forcing Graf or anybody to do it in a rush or immediately.
Really, Refusing something just because it's a big task isn't really the best thing to do though. Sure, things can be extremely hard, but nobody's forcing anybody to do it in a rush, it's one of those things that takes time. Just do tidbits here and there, when you have time or the will to do so. Just take little baby steps, to put it short.
Honestly, there's no hurt in taking on such big things from time to time, because if nobody ever did, we couldn't go beyond where we are now.
IMHO, doing a re-write would be for the better, instead of messing with a buggy, unstable mess.
I just want what's best for ZDoom and it's cousins, and in doing something like this could definitely give DOOM that real boost it needs. (And might even boost it's popularity in the newer generation of gamers).
Also, does Doom really, truly need a huge boost in its player base?
dang, any screens or anything for us to drool over. I'd love to help but i wouldn't know where to begin.
This is my most looked foward to thing in doom thus far.
Having recetly downloaded the darkplaces engine for quake and seeing how fucking awesome that is on such an old game, something like that in doom would just be the greatest thing in history
Good luck!
This is my most looked foward to thing in doom thus far.
Having recetly downloaded the darkplaces engine for quake and seeing how fucking awesome that is on such an old game, something like that in doom would just be the greatest thing in history

Good luck!