Mancubus
User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Zandronum and oldschoolism
 
Author
All times are GMT. The time now is 19:10. Post New Thread    Post A Reply
XCOPY
Member


Posts: 260
Registered: 12-12


Last edited by XCOPY on Jul 2 2015 at 23:50

Old Post Jun 11 2013 01:49 #
XCOPY is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
schwerpunk
Senior Member


Posts: 2110
Registered: 05-12


Get off my lawn.

But seriously, and maybe I'm just being cynical here, I think a lot of the hate (and there really isn't that much - mostly just grumbling) is based around resentment. I use Zandronum myself when playing online, simply because it's what's used by most of the servers. I can understand how someone who plays and maps for Boom or vanilla or ZDoom, might feel that they have to run a bastardized version of Doom in order to play with their friends.

Regarding the technical specifics, I couldn't really say, but playing Zandronum definitely feels different, especially when compared to the plainer source ports I mentioned. I'd be pretty interested in exactly how they're different, as I've never been able to put my finger on anything too substantive.

Old Post Jun 11 2013 02:02 #
schwerpunk is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
XCOPY
Member


Posts: 260
Registered: 12-12


Last edited by XCOPY on Jul 2 2015 at 23:50

Old Post Jun 11 2013 02:16 #
XCOPY is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Dr. Sean
Green Marine


Posts: 30
Registered: 08-11



XCOPY said:
tl;dr: What does Zandronum have that modifies the game's experience in oldschool doom gameplay?

Although there are numerous differences in the client/server code and how latency compensation, interpolation, and other bits of smoke & mirrors that ports use to try to hide the effects of latency, your post does specifically mention "oldschool" so I'll focus on that aspect alone.

IMO, a true oldschool experience would be one capable of exact fidelity with vanilla Doom. To that extent, an oldschool-flavored port should be able to play the vast majority of vanilla LMP demos perfectly to emulate the little quirks, bugs, and nuances of vanilla Doom.

The three major client/sever (c/s) ports are all based on different versions of ZDoom, which has notably diverged from vanilla Doom compatibility in favor of a perhaps a more modern game feel. Zandronum is based on the 2.x versions of ZDoom where as ZDaemon is based on ZDoom 1.23b33 and Odamex is based on ZDoom 1.22 with 1.23b33 physics. All three ports make some attempt to offer some degree of (toggleable) vanilla feel beyond what they inherited from ZDoom, with Odamex being the closest (it can play vanilla LMP demos), ZDaemon being second, and Zandronum being a distant third.

Some key differences you'll find between Zandronum and vanilla Doom are the physics and the weapon damage.

Zandronum has a different vertical spread for the SSG and a different method of calculating the damage per pellet. Some competitive players complain that this SSG feels too weak, but that is hardly conclusive. ZDaemon does not have the same spread or damage that vanilla Doom does, nor does it appear to be the same as ZDoom 1.23b33, however it is closed source and no further information can be determined. Odamex's spread and damage match that of vanilla Doom.

While I'm not that well versed on Zandronum or ZDoom 2.x's physics code, I probably qualify as an expert on the ZDoom 1.23b33 code as I added the ZDoom physics code on top of Odamex's vanilla physics code. Some of the general changes all versions of ZDoom have when compared to vanilla is wallrunning in both north and south directions, aircontrol, proper three-dimensional explosion damage/thrust, altered gravity, smoothing of the player's view when going over bumpy terrain, and non-projectile actors moving over/under each other.

Typically when you hear competitive players complaining about Zandronum physics, keep in mind that they are typically complaining about the differences between Zandronum/Zdoom 2.x physics and the ZDoom 1.23b33 physics that they prefer, rather than comparing it to vanilla. There appear to be some real differences that do change the feel of the game but I'm sure someone more versed in ZDoom 2.x would be able to offer a better comparison in that direction.

Last edited by Dr. Sean on Jun 11 2013 at 03:14

Old Post Jun 11 2013 02:58 #
Dr. Sean is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Watermelon
Warming Up


Posts: 14
Registered: 08-12


Zandronum doesn't have the most rigorous vanilla support. Things I've submitted to get in are mainly "NS vanilla" which is what ZD defined as the standard of online competitive play. These are things like the 1.08 ssg damage, zdoom 1.23beta33 physics (rocket jumps) and any other minor stuff that zandronum didn't have.

The thing I think that throws most people off is OpenGL + uncapped frame rate. For people trying it out at first, it feels like you ice-skate because your movement is really smooth. The render for zdoom 2.x is also vastly different from old school, making it look disconnected. Changing cl_capfps to true fixed this for me.


Zandronum is something I feel is more focused on the mod scene than being competitive. Somehow it seems to have the most active competition at the moment... which is surprising, but I feel this is because the players were given everything they asked for and everyone went to town.



In short, ZDoom has deviated so much from Doom. It in essence is more of a 'custom gaming engine mixed with the doom engine', unlike ZD/Oda which are really close to vanilla and have little mod capability relative to Zandronum.
If I had to make a chart:

G/Zdoom .... Zandronum ................................. ZD .. Oda Choc/Vanilla
|-------------|----------------------------------| --- | ---|


If anyone is expecting a lot of old school support, it would only happen if ZDoom adds it. I don't see anyone ever considering pursuing such things as vanilla compatibility for demos or such anytime soon/ever.

Sean has a really good post on this.

Old Post Jun 11 2013 04:05 #
Watermelon is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 12397
Registered: 07-07



Dr. Sean said:
Zandronum has a different vertical spread for the SSG and a different method of calculating the damage per pellet. Some competitive players complain that this SSG feels too weak, but that is hardly conclusive.

The differences in spread and damage both come from the different pseudo-random number generator used. Zandronum has a setting to use the vanilla PRNG instead of ZDoom's PRNG. It's compat_oldrandom.

Old Post Jun 11 2013 09:50 #
Gez is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 8029
Registered: 01-03



Gez said:
The differences in spread and damage both come from the different pseudo-random number generator used. Zandronum has a setting to use the vanilla PRNG instead of ZDoom's PRNG. It's compat_oldrandom.


Hmmm... I wonder if this should be implemented in ZDoom as well...

That said, even Boom uses another RNG, retaining the original table for demo compatibility only, so it's hardly ZDoom alone that's changing it.

Old Post Jun 11 2013 10:32 #
Graf Zahl is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
myk
volveré y seré millones


Posts: 15290
Registered: 04-02



XCOPY said:
What does Zandronum have that modifies the game's experience in oldschool doom gameplay?
I tried it and the issue I had was with the servers, rather than the engine directly. Almost all of them, including servers running classic megawads or the IWADs, required additional huge files. If I'm going to have to spend minutes downloading files that do nothing I'm interested in and even sometimes search the web (when getwad failed), it's no surprise I shorten my server list by removing Zandronum, given it's only going to give me a smallish additional number of servers I could really be interested in.

Perhaps making some resource WADs related to high res or whatever optional could help.

Old Post Jun 11 2013 14:56 #
myk is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
XCOPY
Member


Posts: 260
Registered: 12-12


Last edited by XCOPY on Jul 2 2015 at 23:50

Old Post Jun 11 2013 16:01 #
XCOPY is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Ladna
Member


Posts: 353
Registered: 04-10



Gez said:
The differences in spread and damage both come from the different pseudo-random number generator used. Zandronum has a setting to use the vanilla PRNG instead of ZDoom's PRNG. It's compat_oldrandom.

It's been a while since I looked, but I think it's more complicated than this. IIRC, the way hitscan lines are calculated in ZDoom after 1.22 is totally different than Vanilla or anything else.

A couple things make me say this. First, the clipping code >= 1.23 is totally different. Second, ZDaemon also has an option to use the old-school number generator, which IDL always used, and the spreads were still different than both Vanilla and Zandronum (then Skulltag). I don't doubt the PRNG plays a role, but it's not the only difference.

Again it's been a while since I looked though, this is just what I vaguely remember.

Old Post Jun 18 2013 23:49 #
Ladna is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
chesse20
Banned


Posts: 86
Registered: 06-13


zandronum feels much more smoother and faster
i played doom on my playstation as a kid and im not complaing that im using an improved engine

Old Post Jun 19 2013 00:04 #
chesse20 is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
XCOPY
Member


Posts: 260
Registered: 12-12


Last edited by XCOPY on Jul 2 2015 at 23:52

Old Post Jun 19 2013 09:25 #
XCOPY is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
GhostlyDeath
Forum Retard


Posts: 1041
Registered: 08-05



chesse20 said:
i played doom on my playstation as a kid and im not complaing that im using an improved engine

The playstation has a cut framerate much lower than 35.

Old Post Jun 19 2013 09:51 #
GhostlyDeath is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 12397
Registered: 07-07



Ladna said:
It's been a while since I looked, but I think it's more complicated than this. IIRC, the way hitscan lines are calculated in ZDoom after 1.22 is totally different than Vanilla or anything else.

ZDoom uses a blockmap-based algorithm (originating from Doom 1.2 and earlier, but replaced by a slowed BSP-based algorithm afterwards) which was preserved in Heretic and Hexen. There was a bug-through-omission in it, which Randy fixed.

Though there is a compat_hitscan setting in ZDoom to use the BSP-based method along with its own glitches. With a combination of that and compat_oldrandom, the shooting should be pretty much identical.

GhostlyDeath said:
The playstation has a cut framerate much lower than 35.

Isn't it 30 Hz? Like Doom 64? However, in addition to a slower framerate, the enemies have lengthened state durations making them even slower, so that their attacks would be easier to dodge with a controller.

Old Post Jun 19 2013 11:49 #
Gez is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
dew
superfriend


Posts: 4196
Registered: 05-08



Gez said:
ZDoom uses a blockmap-based algorithm (originating from Doom 1.2 and earlier, but replaced by a slowed BSP-based algorithm afterwards) which was preserved in Heretic and Hexen. There was a bug-through-omission in it, which Randy fixed.

so zandronum uses the heretic ssg? makes sense it feels nerfed.

Old Post Jun 19 2013 14:07 #
dew is online now || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 8029
Registered: 01-03


No, it uses Heretic's (a.k.a. Doom 1.2's sight checking.
This has nothing to do with how hitscan attacks work. They are mostly the same, ZDoom uses a better, more precise, tracing algorithm - but this should not affect the SSG's spread.

Old Post Jun 19 2013 16:50 #
Graf Zahl is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Ladna
Member


Posts: 353
Registered: 04-10



Gez said:
ZDoom uses a blockmap-based algorithm (originating from Doom 1.2 and earlier, but replaced by a slowed BSP-based algorithm afterwards) which was preserved in Heretic and Hexen. There was a bug-through-omission in it, which Randy fixed.

Though there is a compat_hitscan setting in ZDoom to use the BSP-based method along with its own glitches. With a combination of that and compat_oldrandom, the shooting should be pretty much identical.


Graf Zahl said:
No, it uses Heretic's (a.k.a. Doom 1.2's sight checking.
This has nothing to do with how hitscan attacks work. They are mostly the same, ZDoom uses a better, more precise, tracing algorithm - but this should not affect the SSG's spread.

Hmm, I still think they're pretty different. I didn't bother to fully understand it, but (in MBF and Heretic) PTR_AimTraverse does:
code:
slope = FixedDiv (opentop - shootz , dist);
while ZDoom 1.23 does:
code:
pitch = -(int)R_PointToAngle2 (0, shootz, dist, opentop);
It seems to me like this difference would account for the different vertical spreads, but I could be wrong.

Old Post Jun 20 2013 02:03 #
Ladna is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Dr. Sean
Green Marine


Posts: 30
Registered: 08-11



Ladna said:
Hmm, I still think they're pretty different. I didn't bother to fully understand it, but (in MBF and Heretic) PTR_AimTraverse does:
code:
slope = FixedDiv (opentop - shootz , dist);
while ZDoom 1.23 does:
code:
pitch = -(int)R_PointToAngle2 (0, shootz, dist, opentop);
It seems to me like this difference would account for the different vertical spreads, but I could be wrong.

When I made a patch that implemented ZDoom 1.23b33 weapons as an option, the vertical spread for the ZDoom 1.23b33 SSG was noticably reduced, with ranges from around 18% to 28% less than that of vanilla Doom's SSG vertical spread. The code you quoted above was what appeared to cause that diversion.

Old Post Jun 20 2013 02:10 #
Dr. Sean is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 8029
Registered: 01-03


Ok, people. If you investigate this stuff and note a significant difference, why do you just complain here about ZDoom being different instead of REPORTING THE GODDAMN BUG!!!!!

It's really annoying to find this kind of discussion about a supposed difference and then someone creeping up saying he already investigated and posting the code responsible.


But regardless, this is only the aiming code, not the shooting code. But the problem is certainly related with replacing the (mathematically bad) slope value with a proper pitch. The real cause must be in A_FireShotgun2:
code:
for (i=0 ; i<20 ; i++) { damage = 5*(pr_fireshotgun2()%3+1); angle = self->angle; angle += pr_fireshotgun2.Random2() << 19; // Doom adjusts the bullet slope by shifting a random number [-255,255] // left 5 places. At 2048 units away, this means the vertical position // of the shot can deviate as much as 255 units from nominal. So using // some simple trigonometry, that means the vertical angle of the shot // can deviate by as many as ~7.097 degrees or ~84676099 BAMs. P_LineAttack (self, angle, PLAYERMISSILERANGE, pitch + (pr_fireshotgun2.Random2() * 332063), damage, NAME_Hitscan, NAME_BulletPuff); }

But keep in mind that Zandronum/Skulltag have replaced this function completely so there's more potential causes for error. Does this only happen with Zandronum or is the most recent ZDoom also affected? I can't say.

Last edited by Graf Zahl on Jun 20 2013 at 08:24

Old Post Jun 20 2013 08:13 #
Graf Zahl is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6457
Registered: 08-00


Maybe because they weren't confident enough yet to report anything as being a bug. I would not myself ever go onto the ZDoom forums and state something as vague as "The SSG spread feels different to me; fix it." I'd rather at LEAST have some kind of clue where the difference is coming from first. Speculation to that end can take place anywhere, I see no need for it to be entirely on the ZDoom forum.

You complain about this happening all the time, and yet your number of complaints indicates that you do visit here often enough to pretty much always find these threads. It kind of negates the reason for the complaint, from my point of view. I could see your point if they were on, say, the dead crusty old New Doom forums where nobody ever goes and complaining about shit and why ZDoom "never fixes all this stuff." Nobody here was even complaining, only speculating.

Old Post Jun 20 2013 17:31 #
Quasar is offline Twitter account Youtube Github || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Ladna
Member


Posts: 353
Registered: 04-10


I don't know enough about ZDoom philosophy to file a bug. You guys break compat all the time; how is anyone supposed to know which cases are bugs and which cases are "improvements"? In general (and this is my biased perspective of ZDoom as "a game engine that happens to load Doom resources") my approach is to assume you guys know what you're doing behavior-wise, and only investigate differences myself or others have noticed between EE and ZDoom to see if I can pull them over into EE reasonably (3D radius attacks, etc.).

To be a little less OT, the reason I like "old-school" ports is that I like Doom, and they implement Doom. (G)ZDoom is a great port, and its derivatives (ZDaemon and Zandronum) all have things to recommend them, but they're a little too far from Doom for me. I could make a big list I guess, but (and maybe this will make Graf explode again) I can't be bothered to do that. Anyone who plays Doom seriously knows there are tons of differences.

Old Post Jun 20 2013 17:58 #
Ladna is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 8029
Registered: 01-03


When in doubt you can also start a general discussion on the ZDoom forums. But the rule should be: If you feel that something is different enough to notice it even casually, the likelihood that something unintended is going on, is high.

The problem is not with me, but Randy as lead developer doesn't post here which means that the discussion will bypass the most important person in the entire matter.

Ladna said:
I could make a big list I guess, but (and maybe this will make Graf explode again) I can't be bothered to do that. Anyone who plays Doom seriously knows there are tons of differences.


You are damn right. On the one hand you complain that 'ZDoom is gone too far from the original game' but on the other hand you do nothing to help fix the situation. I concur that not everything you may report would be a genuine problem (I know well that some people get all worked up over the tiniest bit of change) but I'm quite certain that there's still stuff lurking around that could be changed.

Old Post Jun 20 2013 18:31 #
Graf Zahl is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Ladna
Member


Posts: 353
Registered: 04-10


Whooooooooooooooooooooooooooooooooooooooa not complaining here (I actually prefer the ZDoom SSG spread because I was raised on ZDaemon... I'm trying to get over it but it's a long road to recovery). I will make you a deal though. For every hour I spend investigating and filing ZDoom bugs, you spend an hour working on whatever Quasar tells you to ;). If you accept, you should know that you are already roughly 6 hours in the hole due to this SSG spread bug.

Old Post Jun 20 2013 19:05 #
Ladna is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6457
Registered: 08-00



Ladna said:
For every hour I spend investigating and filing ZDoom bugs, you spend an hour working on whatever Quasar tells you to ;)

O_o

Old Post Jun 20 2013 20:08 #
Quasar is offline Twitter account Youtube Github || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Ladna
Member


Posts: 353
Registered: 04-10


I hear he waxes a car like no other.

Old Post Jun 20 2013 20:13 #
Ladna is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
AlexMax
Senior Member


Posts: 1138
Registered: 01-03



Graf Zahl said:
Ok, people. If you investigate this stuff and note a significant difference, why do you just complain here about ZDoom being different instead of REPORTING THE GODDAMN BUG!!!!!

It's really annoying to find this kind of discussion about a supposed difference and then someone creeping up saying he already investigated and posting the code responsible.

I seem to remember people complaining about odd ZDoom behavior compared with Vanilla being dismissed as stuck in the past, not being worth addressing, etc. I don't care enough to dig through people's DW post histories, but have I been wrong in my assumption all along or did you guys have a change of heart recently?

Old Post Jun 22 2013 20:41 #
AlexMax is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
dew
superfriend


Posts: 4196
Registered: 05-08



AlexMax said:
I seem to remember people complaining about odd ZDoom behavior compared with Vanilla being dismissed as stuck in the past, not being worth addressing, etc. I don't care enough to dig through people's DW post histories, but have I been wrong in my assumption all along or did you guys have a change of heart recently?

here we go, alex parachutes in to enflame threads needlessly yet again. you like when people claw at each other, don't you?

quick edit: adding quotation of the post before it turns into "This post intentionally left blank."

Old Post Jun 22 2013 20:53 #
dew is online now || Blog || PM || Post History || Add Buddy IP || Edit || Quote
Graf Zahl
Why don't I have a custom title by now?!


Posts: 8029
Registered: 01-03



AlexMax said:
I seem to remember people complaining about odd ZDoom behavior compared with Vanilla being dismissed as stuck in the past, not being worth addressing, etc. I don't care enough to dig through people's DW post histories, but have I been wrong in my assumption all along or did you guys have a change of heart recently?


No. If you dig through the past you'll notice that I take such issues seriously. However, I still make distinctions between something being wrong (like the SSG spread) and something being different (like the RNG stuff)


Personally I find many purists' complaints ridiculous - especially when it's about things that's different in other ports as well - but if something is obviously different in a trivial manner it should be changed back.

Old Post Jun 22 2013 21:26 #
Graf Zahl is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
AlexMax
Senior Member


Posts: 1138
Registered: 01-03



Graf Zahl said:
No. If you dig through the past you'll notice that I take such issues seriously. However, I still make distinctions between something being wrong (like the SSG spread) and something being different (like the RNG stuff)

I think I figure what you're getting at. Thanks for not assuming the worst of my question.

Old Post Jun 23 2013 04:24 #
AlexMax is offline || Blog || PM || Post History || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 19:10. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Source Ports > Zandronum and oldschoolism

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.