MantisBT - Zandronum
View Issue Details
0000989Zandronum[All Projects] Suggestionpublic2012-08-25 03:132018-09-30 20:48
Watermelon 
Torr Samaho 
normalfeatureN/A
closedfixed 
1.0 
1.11.1 
0000989: Flag for zdaemon air physics (for rockets)
The rockets in Zandronum shoot you up more than far, whereas on ZD they give you an insane horizontal thrust.
Odamex uses similar rockets to zdaemon. This may be similar to vanilla physics?

One of the major complaints for not having competitive leagues on Zandronum (like the IDL) is pretty much resulting around the rocket issue. So far everyone is really happy with Zandronum, but this would be the last thing that's needed to sway more people from the competitive scene to play on Zandronum.

Maybe a new CompatFlag2 ?

If any dev is unfamiliar with rocket jumping, load up ZD or oda and aim at the ground and jump w/ a rocket.
No tags attached.
png Zandronum 1.1.png (220,729) 2012-09-16 22:33
/tracker/file_download.php?file_id=717&type=bug
png

png ZDaemon 1.09.png (225,056) 2012-09-16 22:33
/tracker/file_download.php?file_id=718&type=bug
png

png ZDoom 2.0.42.png (222,016) 2012-09-16 22:34
/tracker/file_download.php?file_id=719&type=bug
png
Issue History
2012-08-25 03:13WatermelonNew Issue
2012-08-25 06:01QentNote Added: 0004444
2012-08-25 18:44NeewbieNote Added: 0004450
2012-08-25 20:38Torr SamahoNote Added: 0004454
2012-08-25 21:25NeewbieNote Added: 0004455
2012-08-25 23:34QentNote Added: 0004456
2012-08-25 23:36QentNote Edited: 0004456bug_revision_view_page.php?bugnote_id=4456#r2427
2012-08-25 23:38QentNote Edited: 0004456bug_revision_view_page.php?bugnote_id=4456#r2428
2012-08-25 23:39QentNote Edited: 0004456bug_revision_view_page.php?bugnote_id=4456#r2429
2012-09-07 08:42unknownnaNote Added: 0004607
2012-09-07 08:45unknownnaNote Edited: 0004607bug_revision_view_page.php?bugnote_id=4607#r2489
2012-09-15 19:46Torr SamahoNote Added: 0004675
2012-09-15 19:48Torr SamahoNote Edited: 0004675bug_revision_view_page.php?bugnote_id=4675#r2525
2012-09-16 16:19unknownnaStatusnew => feedback
2012-09-16 17:12unknownnaNote Added: 0004710
2012-09-16 17:22unknownnaNote Edited: 0004710bug_revision_view_page.php?bugnote_id=4710#r2558
2012-09-16 17:52Torr SamahoNote Added: 0004711
2012-09-16 18:04Torr SamahoAssigned To => Torr Samaho
2012-09-16 18:04Torr SamahoStatusfeedback => assigned
2012-09-16 18:04Torr SamahoStatusassigned => needs testing
2012-09-16 22:23unknownnaNote Added: 0004714
2012-09-16 22:27unknownnaNote Edited: 0004714bug_revision_view_page.php?bugnote_id=4714#r2560
2012-09-16 22:33unknownnaFile Added: Zandronum 1.1.png
2012-09-16 22:33unknownnaFile Added: ZDaemon 1.09.png
2012-09-16 22:34unknownnaFile Added: ZDoom 2.0.42.png
2012-09-16 22:49unknownnaNote Edited: 0004714bug_revision_view_page.php?bugnote_id=4714#r2561
2012-09-20 06:09Torr SamahoNote Added: 0004717
2012-09-20 16:28unknownnaNote Added: 0004721
2012-09-20 16:41unknownnaNote Edited: 0004721bug_revision_view_page.php?bugnote_id=4721#r2565
2012-09-20 18:52Torr SamahoNote Added: 0004723
2012-09-20 18:53Torr SamahoNote Edited: 0004723bug_revision_view_page.php?bugnote_id=4723#r2567
2012-09-20 18:54Torr SamahoNote Revision Dropped: 4723: 0002566
2012-09-20 19:31WatermelonNote Added: 0004724
2012-09-20 19:49unknownnaNote Added: 0004726
2012-09-20 19:56unknownnaNote Edited: 0004726bug_revision_view_page.php?bugnote_id=4726#r2569
2012-09-20 20:18Torr SamahoNote Added: 0004729
2012-09-20 20:34unknownnaNote Added: 0004730
2012-09-20 20:35unknownnaNote Edited: 0004730bug_revision_view_page.php?bugnote_id=4730#r2571
2012-09-20 20:43unknownnaNote Edited: 0004730bug_revision_view_page.php?bugnote_id=4730#r2572
2012-09-21 14:36WatermelonNote Added: 0004736
2012-09-21 16:47unknownnaNote Added: 0004739
2012-09-23 09:45Torr SamahoNote Added: 0004748
2012-09-23 22:54unknownnaNote Added: 0004788
2012-09-24 18:06Torr SamahoNote Added: 0004793
2012-09-24 19:24unknownnaNote Added: 0004795
2012-09-24 19:39Torr SamahoNote Added: 0004797
2013-01-09 23:18DuskTarget Version => 1.1
2013-01-31 07:01MobiusNote Added: 0005891
2013-01-31 11:54DuskStatusneeds testing => resolved
2013-01-31 11:54DuskFixed in Version => 1.1
2013-01-31 11:54DuskResolutionopen => fixed
2018-09-30 20:48Blzut3Statusresolved => closed

Notes
(0004444)
Qent   
2012-08-25 06:01   
It would help me to know the exact mechanics of the phenomenon. From what I can tell, Chocolate Doom and Zandronum are very similar, while Odamex's is many times stronger.
(0004450)
Neewbie   
2012-08-25 18:44   
I want it so we can play rocket jump wads (:
(0004454)
Torr Samaho   
2012-08-25 20:38   
I surely need more technical details on what exactly you would like to have changed how.
(0004455)
Neewbie   
2012-08-25 21:25   
I think it's because of the greater aircontrol skulltag has.
'http://zdoom.org/wiki/CVARs:Configuration [^]' says "Note: Skulltag ignores this value unless its compat_limited_airmovement flag is set. The default behavior in that port corresponds to an aircontrol value of 0.25." at sv_aircontrol and is by "Default: 0.00390625 "
(0004456)
Qent   
2012-08-25 23:34   
(edited on: 2012-08-25 23:39)
It's not. I tested with compat_limited_airmovement and sv_aircontrol 0.

BTW the wiki is incorrect. sv_aircontrol does have an effect when compat_limited_airmovement is false, albeit a strange one. I'll fix the wiki sometime if no one does.

(0004607)
unknownna   
2012-09-07 08:42   
(edited on: 2012-09-07 08:45)
ZDaemon is apparently based on ZDoom 1.23. In 1.23, rocket blasts were a lot more powerful and sent the players flying far away. I think some popular CTF maps (IDL/ZDCTF: MAP08) were designed with the rocket blast in mind.

'http://www.zdoom.org/files/zdoom/1.x/zdoom-1.23beta33-src.tar.bz2 [^]'
'http://www.zdoom.org/files/123beta33-src.zip [^]'

(0004675)
Torr Samaho   
2012-09-15 19:46   
(edited on: 2012-09-15 19:48)
Quote from unknownna
In 1.23, rocket blasts were a lot more powerful and sent the players flying far away.

Watermelon, can you confirm that ZDoom 1.23 behaves exactly as you would like it to in this regard? If so, what's the first ZDoom version where the behavior was changed? Here you'll hopefully find enough old ZDoom versions to pinpoint where the behavior was changed.

(0004710)
unknownna   
2012-09-16 17:12   
(edited on: 2012-09-16 17:22)
Quote from Torr Samaho
Watermelon, can you confirm that ZDoom 1.23 behaves exactly as you would like it to in this regard?

ZDaemon 1.09 seems to behave like ZDoom 1.23.

Quote from Torr Samaho
If so, what's the first ZDoom version where the behavior was changed? Here you'll hopefully find enough old ZDoom versions to pinpoint where the behavior was changed.

From what I can tell, it seems that ZDoom changed the behavior somewhere between 2.0.42 and 2.0.43.

(0004711)
Torr Samaho   
2012-09-16 17:52   
I found a difference regarding explosion trust between ZDoom 2.0.42 and 2.0.43 and ported it over. Please try if this binary behaves as desired. If so, I can add a new flag to toggle this behavior.
(0004714)
unknownna   
2012-09-16 22:23   
(edited on: 2012-09-16 22:49)
Very nice, Torr. Thank you very much for this. It works well, but it seems that ZDaemon 1.09 and ZDoom 1.23 sends you approximately 2-4 map units further on average. I think it has something to do with the damage calculation since the rockets seem to consistently deal different amounts of damage in each port.

ZDoom 2.0.21-2.0.42 is the strongest in terms of thrusting, but it doesn't deal the most damage.
ZDaemon 1.09 and ZDoom 1.23 are in the middle in terms of thrusting, but they deal the most damage it seems.
Zandronum is the weakest, even with compat_oldrandom set to 1.

I think that this bug could be related the issue.

Most people won't notice the differences, but they are there. The only thing missing now is some damage prediction for rocket thrusts online and we're set.

Note: For those of you who wish to test these binaries, set sv_aircontrol to 0 and compat_limited_airmovement to 1.

(0004717)
Torr Samaho   
2012-09-20 06:09   
Quote from unknownna
ZDoom 2.0.21-2.0.42 is the strongest in terms of thrusting, but it doesn't deal the most damage.
ZDaemon 1.09 and ZDoom 1.23 are in the middle in terms of thrusting, but they deal the most damage it seems.
If we want to refine this further, we need to find out which ZDoom versions changed this behavior.
Quote from unknownna
The only thing missing now is some damage prediction for rocket thrusts online and we're set.
You mean that the clients should explode the rockets themselves (something we explicitly turned off a while ago because people don't like mispredictions in this regard) and estimate how much they will get thrusted? Does ZDaemon have anything like this?
(0004721)
unknownna   
2012-09-20 16:28   
(edited on: 2012-09-20 16:41)
Quote from Torr Samaho
You mean that the clients should explode the rockets themselves (something we explicitly turned off a while ago because people don't like mispredictions in this regard) and estimate how much they will get thrusted? Does ZDaemon have anything like this?

What I can tell you is that under the same circumstances (300 ping), ZDaemon 1.09 plays considerably better when it comes to rocket jumping. I don't notice any mispredictions there. The only thing I notice in ZDaemon is that the DSOOF sound is delayed when you land on a floor. In Zandronum, you seem to *jitter/glitch/teleport/warp* when you're thrusted, and if you don't press +jump, you won't even see any z thrusting locally, which in turn causes the client to mispredict its own z position, thinking that it's instantly located on the lowest floor when it actually is falling down. Zandronum feels very amateurish in comparison.

Quote from Torr Samaho
If we want to refine this further, we need to find out which ZDoom versions changed this behavior.

I couldn't test ZDoom 2.0.13, the version after 1.23 beta 33, since the download only contains the source code. But there's a difference between 1.23 beta 7 and 1.23 beta 24. It seems that beta 24 behaves like beta 33, but beta 7 is even weaker than Zandronum. I couldn't test 1.23 beta 20 since the download only contains the source code.

(0004723)
Torr Samaho   
2012-09-20 18:52   
(edited on: 2012-09-20 18:53)
Zandronum doesn't have any client side explosion prediction, so it's not surprising that it doesn't work well with a high ping in this regard. Adding such a kind of prediction is not trivial and may have adverse side effects. I'm not sure if it's worth the effort.
Quote from unknownna
I couldn't test ZDoom 2.0.13, the version after 1.23 beta 33, since the download only contains the source code. But there's a difference between 1.23 beta 7 and 1.23 beta 24. It seems that beta 24 behaves like beta 33, but beta 7 is even weaker than Zandronum. I couldn't test 1.23 beta 20 since the download only contains the source code.
Let me ask differently, is there any ZDoom version on Sourceforge (or elsewhere, it just has to include the full source) that behaves exactly as desired?

(0004724)
Watermelon   
2012-09-20 19:31   
That binary is awesome. It works really well. Sorry I didn't get back to this ticket, the university year has started.

I tried it out and it worked really well (the binary that is).

COMPAT_OLDROCKETTHRUST maybe?
(0004726)
unknownna   
2012-09-20 19:49   
(edited on: 2012-09-20 19:56)
Quote from Torr Samaho
I'm not sure if it's worth the effort.

Of course it's worth the effort in the long run. If anything, it should have been added ages ago. I already requested this a while ago. What's the point of playing seriously and competitively when you can't even maneuver around properly? Don't expect competitive players (IDL) to take this port seriously until we've fixed all of the evident prediction errors. We already fixed most of them in 1.0.

Quote from Torr Samaho
Let me ask differently, is there any ZDoom version on Sourceforge (or elsewhere, it just has to include the full source) that behaves exactly as desired?

Well, as I said earlier, ZDaemon (and Odamex's "ZDoom physics" flag) is based on ZDoom 1.23 beta 33, so the source code of that version should give you what you need.

(0004729)
Torr Samaho   
2012-09-20 20:18   
Quote from Watermelon
COMPAT_OLDROCKETTHRUST maybe?
I added the flag shortly after unknownna confirmed that the testing binary works :)'https://bitbucket.org/Torr_Samaho/zandronum/changeset/a90c6f1434bd6fe7ca4894afd6d1b3392ca76545 [^]'

Quote from unknownna
Of course it's worth the effort in the long run.

Let me clarify my statement: Of course it won't hurt to have proper prediction for this, but there are countless of things that would be nice to have. I'm not sure that the effort is better spend on this than let's say upgrading to ZDoom 2.4.

Quote from unknownna
If anything, it should have been added ages ago. I already requested this a while ago.
And the statement I made there still holds: 0000517:0001902.

Quote from unknownna
Well, as I said earlier, ZDaemon (and Odamex's "ZDoom physics" flag) is based on ZDoom 1.23 beta 33, so the source code of that version should give you what you need.
So you can confirm that ZDoom 1.23 beta 33 behaves exactly as desired? I wasn't completely certain about this from the previous comments.
(0004730)
unknownna   
2012-09-20 20:34   
(edited on: 2012-09-20 20:43)
Quote from Torr Samaho
I'm not sure that the effort is better spend on this than let's say upgrading to ZDoom 2.4.

I think most developers and modders wish to see Zandronum upgrade to ZDoom 2.4.0.

Quote from Torr Samaho
So you can confirm that ZDoom 1.23 beta 33 behaves exactly as desired? I wasn't completely certain about this from the previous comments.

They (ZDaemon 1.09 and ZDoom 1.23 beta 33) should pretty much be identical to one another in terms of thrusting and damage. When having a megasphere, holding +attack and firing two rockets near a wall (MAP01) should have you end up with:

Armor : 95
Health : 94
Y Postition : 1304


Currently in Zandronum you end up with:

Armor : 97
Health : 97
Y Position : 1305


ZDoom 1.23 beta 33 should behave as desired.

Quote from Torr Samaho
I added the flag shortly after unknownna confirmed that the testing binary works :)https://bitbucket.org/Torr_Samaho/zandronum/changeset/a90c6f1434bd6fe7ca4894afd6d1b3392ca76545

There are some typos in the comments. Thurst should be thrust.

(0004736)
Watermelon   
2012-09-21 14:36   
Could odamex/ZD rocket thrust be possibly tampered with further (which may give the extra 2 map unit differences)? They might have slightly tweaked the old ZD code further.
(0004739)
unknownna   
2012-09-21 16:47   
Quote from Watermelon
Could odamex/ZD rocket thrust be possibly tampered with further (which may give the extra 2 map unit differences)? They might have slightly tweaked the old ZD code further.

I don't think so.

Quote from Vulture
When you enable ZDoom mode in Odamex, the ZDoom physics that is emulated is based on ZDoom 1.23 beta 33, which is the same version of ZDoom that ZDaemon is based on. The rocket jumping in Odamex should be exactly the same compared ZDaemon's.


Quote from EarthQuake
Quote from Galaxy_Stranger
I've been poking around and I can't find an answer -

What version of ZDoom is the current version of ZDaemon based upon?

1.23 beta 33
(0004748)
Torr Samaho   
2012-09-23 09:45   
Quote from unknownna
ZDoom 2.0.21-2.0.42 is the strongest in terms of thrusting, but it doesn't deal the most damage.
ZDaemon 1.09 and ZDoom 1.23 are in the middle in terms of thrusting, but they deal the most damage it seems.

The PIT_RadiusAttack/P_RadiusAttack code in ZDoom 1.23b33 and 2.0.25 is identical, the damage difference has to be caused by something else (possibly the PNRG). Without more evidence it's very difficult to fine tune this further.
(0004788)
unknownna   
2012-09-23 22:54   
Hmm, did you change something in this binary? It behaves differently now.

It should take 2 rockets to push you away from a wall with the 1.23b33 behavior. Right now it only takes one. But if you're invulnerable, it takes 2 rockets.
(0004793)
Torr Samaho   
2012-09-24 18:06   
I simplified the code before committing it. After looking into this more closely this may have changed the behavior. Please try if this binary works as the original testing binary.
(0004795)
unknownna   
2012-09-24 19:24   
That took care of it. It seems that we now have several explosion-related flags:

sv_norocketjumping
compat_oldradiusdmg
compat_oldexplosionthrust

Which one of them has the final say in terms of behavior?

Quote from Torr Samaho
The PIT_RadiusAttack/P_RadiusAttack code in ZDoom 1.23b33 and 2.0.25 is identical, the damage difference has to be caused by something else (possibly the PNRG). Without more evidence it's very difficult to fine tune this further.

Speaking of which, it seems that 1.23b33 explosions deal more damage than Vanilla Doom explosions. When standing close to a wall and firing a rocket while having 200 blue armor and 100 health, you should end up with 36 health and 136 armor. In 1.23b33 you end up with 35 health and 136 armor.
(0004797)
Torr Samaho   
2012-09-24 19:39   
Quote from unknownna
Which one of them has the final say in terms of behavior?
sv_norocketjumping and compat_oldexplosionthrust are complementary:
- sv_norocketjumping removes the z-momentum
- compat_oldexplosionthrust changes the xy-momentum

compat_oldexplosionthrust disables the two other ones though (at least for explosions that deal damage). If it's set, Vanilla Doom's radius damage code is used, i.e. explosions have infinite vertical range.
(0005891)
Mobius   
2013-01-31 07:01   
Tested online and it works accordingly.