-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Infighting and indirect kills not accounted to players in netgame #778
Comments
I am surprised that the PrBoom derived family of ports deviate from the Vanilla behaviour here, since one way to track demo sync is to compare the tally screen - and thus level stats - output with the same run in Vanilla. Otherwise I agree that not properly counting kills in multiplayer runs is unpleasant to say the least. Could you please preparea PR with the minimum required code change that is necessary for the tally screen and level stats output to match PrBoom+? |
There's the PR but I think there's some room for discussion before proceeding (after thinking about this for a while I'd rather see #784 rejected in its current state, see below). The behavior PrBoom+ is showing is indeed surprising with regard to demo verification purposes. But coop demos are probably sufficiently rare that nobody has ever bothered with it not aligning to the vanilla executables nor Choco/Crispy. The PR in #784 consists of two commits implementing two stages of PrBoom+' behavior: The first one dirkd@3e3fe6b implements attributing kills at all - which DOOM 1.9 doesn't so this is breaking visual compatibility with Vanilla in coop netgames. The second commit dirkd@db100ff pulls in some stuff that was introduced in Boom I think - namely the In conclusion merging only dirkd@3e3fe6b would introduce yet another way of counting kills (neither matching vanilla nor PrBoom+) while merging both commits pulls behavior into Crispy one might consider "not faithful to the original". What's your take on this? side note: |
crispy-doom/src/doom/p_inter.c
Lines 736 to 741 in 2cbcd0c
Since the above code does only attribute kills to player 1 in singleplayer when playing cooperative multiplayer kills get "lost" to infighting and indirect kills (monsters shooting barrels).
This affects the both level stats and tally screen when doing UV Max co-op runs - making them a little unpleasant QoL-wise.
It would be preferable to have kills always be attributed to a player (or have an option to at least force this behavior). What's your thoughts about this?
I don't know how original executables attributed those.
PrBoom+/DSDA-Doom attribute kills to the last enemy of the dying object if it was a player or the first player who is still ingame otherwise.
https://github.com/coelckers/prboom-plus/blob/e08f129f557cae6e529d8f9ff151750a2345a16a/prboom2/src/p_inter.c#L704-L723
Demo (solo-net) showing the behavior: infight-tally-00000.lmp (2:18 min, all kills @ 1:30)
The text was updated successfully, but these errors were encountered: