Corpses, gibbing, antilag and disappearing bullets

Discussion for Bani's Tournament Mod

Moderators: Forum moderators, developers

Nogen
Posts: 93
Joined: Mon Aug 30, 2004 4:31 pm

Corpses, gibbing, antilag and disappearing bullets

Post by Nogen »

Assume you have a reasonably high ping. You are tracking someone running across an open courtyard. Assume that you have perfect aim. You start shooting at them and (your ping)ms later you hear the hitsounds. At some point you have killed the player on the server but you don't find that out until (your ping)ms after you fired the kill shot. In the meantime you continue to track them and keep firing.

1.First Question

My question in simple...where do these bullets go?

Where do the bullets go between the time you fired the kill shot and the time that the server tells you the person is dead?

My understanding is this:

When the shots arrive at the server, they get rewound to the point when they were fired and are seen to hit the player.

But which one of these happens next?

1.a) The player however is already dead so those shots just disappear.

1.b) The player is seen to be dead so the shots continue on to potentially hit a target behind where he was standing.

My guess is a. As a side issue do those bullets count as being fired from an accuracy perspective?

2.Second Question

Does antilag apply to ungibbed bodies?

2.a) If you counted the number of shots to kill the player and then started shooting where the ungibbed body was to land taking into account your ping and target speed could you start gibbing in advance?

2.b) Or can you only start gibbing once the ungibbed body appears on your screen?

Why all the questions?

Well both these points have implications concerning part of the intent of the antilag code - to even the contest between people of different ping.

If premise 2.b is true then lower pinging players have an opportunity to gib far earlier than higher pinging players making revives much easier for a lower pinging team.

Proposal

Considering question 1. Would it be possible to take those shots that "would have hit but the player was already dead" and apply them to the ungibbed body?

By doing this you would make the kill/gib process continuous (and thus fair) for players of all pings. You would also increase the WYSIWIG feel of shooting that antilag is supposed to bring. Even with a 50-100 ping I still notice shots that should have hit not getting a hitsound (and hence hit) because the player was dead at the server by the time my shot arrived and it doesn't feel right. If you fire a shot accurately at someone that you see that shot will always hit them - either their living body or their corpse.

Is it possible? Are the benefits worth it? Are there any balancing issues I've neglected to notice?

Discuss...
User avatar
zinx
Posts: 267
Joined: Fri Jan 16, 2004 12:37 pm
Location: US
Contact:

Re: Corpses, gibbing, antilag and disappearing bullets

Post by zinx »

Nogen wrote: 1.First Question
But which one of these happens next?
1.a) The player however is already dead so those shots just disappear.
1.b) The player is seen to be dead so the shots continue on to potentially hit a target behind where he was standing.

My guess is a. As a side issue do those bullets count as being fired from an accuracy perspective?
Neither, but 1.b is partially correct.
Here's what really happens:
Your shots kill the player, player gets turned in to corpse, extra shots in-transit reach the server and hit the *corpse* (they don't just disappear). If the corpse didn't exist, or you shoot somewhere the corpse isn't, you'll hit whatever is there. Shots never just disappear. Unless you shoot at the sky/etc :P
Nogen wrote: 2.Second Question
Does antilag apply to ungibbed bodies?
2.a) If you counted the number of shots to kill the player and then started shooting where the ungibbed body was to land taking into account your ping and target speed could you start gibbing in advance?
2.b) Or can you only start gibbing once the ungibbed body appears on your screen?
Hits are done server-side, not client-side. The corpse will take damage as soon as the *server* thinks the player is dead - which means, as soon as it received the kill-shot from you.
Nogen wrote: Proposal
Considering question 1. Would it be possible to take those shots that "would have hit but the player was already dead" and apply them to the ungibbed body?

Is it possible? Are the benefits worth it? Are there any balancing issues I've neglected to notice?
You're assuming you're right. You aren't. Sorry. It already applies these shots towards gibbing, if you hit the corpse. It even antilags properly.

It's certainly possible - It's already done that way. The antilag system is a lot more sane than you seem to think it is. It's not black magic.
Zinx Verituse http://zinx.xmms.org/
Nogen
Posts: 93
Joined: Mon Aug 30, 2004 4:31 pm

Post by Nogen »

Actually zinx i wasn't making a criticism - I have a fairly decent understanding of the way antilag works except around the areas of death and gibbing - hence the questions.

Effectively you just told me that what I was proposing has already been done which is of course the most sane thing to do as you pointed out.

However the fact still remains that I often feel as though I "miss" shots just as a player dies. That is shots that are actually on target when the bullet leaves the gun but don't yield a hitsound. So a couple of thoughts for what might cause that.

1 - What happens if a player is killed AND gibbed on the server but not yet dead on your screen? Do THOSE bullets go through the player and continue on to whatever is behind even though they were acurately aimed(since limbo'd corpses no longer block bullets)?

2 - How do hitboxes change when a player dies? Does the death hitbox follow the player animation with intermediate positions ending at the point where the corpse lies or does the transition take place instantly?
User avatar
zinx
Posts: 267
Joined: Fri Jan 16, 2004 12:37 pm
Location: US
Contact:

Post by zinx »

I don't believe you get a hitsound for corpses...
EDIT: Oh, and I already answered those two questions above.
Zinx Verituse http://zinx.xmms.org/
Nogen
Posts: 93
Joined: Mon Aug 30, 2004 4:31 pm

Post by Nogen »

You do get hitsounds for corpses (ungibbed of course).

1. So consider this scenario. A teammate is knifing a low pinging player on one side of them while you are shooting at the person on the otherside. Your kill shot reaches the server and then gets to the low pinger who taps out instantly. Their tapout reaches the server and their corpse is "removed". On your screen they are still alive and you are shooting them accurately but in reality you are pumping a couple of bullets into your teammate. It seems a bit odd that you can shoot at something which exists on your screen and find that it doesn't exist on the server. Limbo'd corpses should be blocking bullets if the antilagged shots reveal that they were shot while they were still alive/ungibbed. I think its almost worth discussing whether or not hitsounds should be heard for these "non-damaging" shots just to keep the feel of the game consistent.

2. You didn't make a comment regarding hitboxes for the death animation. Only regarding the fact that they are properly antilagged.
User avatar
Lagger
Posts: 316
Joined: Mon Sep 29, 2003 8:30 am

Post by Lagger »

The hitbox transition is instantaneous, you'd know this if you tested it.
Nogen
Posts: 93
Joined: Mon Aug 30, 2004 4:31 pm

Post by Nogen »

The time it would take to test it is a lot less than the time it took you to write that reply. But thanks.

So the two issues still remain then which cause accurately aimed shots (according to the animation on the clients PC) to miss AND/OR hit other targets which should have been blocked by the target under the crosshair.
Isn't that perhaps something which should be addressed?
User avatar
Deus
Posts: 1053
Joined: Fri Mar 12, 2004 2:24 am
Location: Germany
Contact:

Post by Deus »

Nogen wrote:The time it would take to test it is a lot less than the time it took you to write that reply. But thanks.
What if he lied?
Only believe what you have seen and tested urself, or a person you trust has tested or seen.

He did not lie BTW ;)
ogrec
Posts: 80
Joined: Tue Oct 26, 2004 10:56 am

Post by ogrec »

Deus wrote:What if he lied?
Only believe what you have seen and tested urself, or a person you trust has tested or seen.

He did not lie BTW ;)
How can we be sure that he didn't lie and that you didn't lie too to cover up his lie? Liers...
User avatar
Deus
Posts: 1053
Joined: Fri Mar 12, 2004 2:24 am
Location: Germany
Contact:

Post by Deus »

ogrec wrote:How can we be sure that he didn't lie and that you didn't lie too to cover up his lie? Liers...
The answer is simple: Test it yourself \o/
User avatar
ReyalP
Posts: 1663
Joined: Fri Jul 25, 2003 11:44 am

Post by ReyalP »

Nogen wrote: Isn't that perhaps something which should be addressed?
If you play on the Internet, you WILL get inconsistencies. If two players have a total of 200ms between them, their views of the game cannot be consistent, with each other, or the server. The first law of Internet gaming is that someone always has to get screwed.

You are far better off just accepting this than trying to fudge around it. The fact is that if you have a high ping, your view of the server will delayed. This will always hurt your reaction time, which is what the "problem" you are describing boils down to. There are many cases where reaction time hurts you far worse than shooting at corpses, and it is inherently unfixable. Antilag fixes aiming so you can aim at where people were in the past rather than leading in proportion to your ping, but it cannot fix reaction time.
send lawyers, guns and money
Nogen
Posts: 93
Joined: Mon Aug 30, 2004 4:31 pm

Post by Nogen »

I agree ReyalP except the part that nothing can be done about it.

The dying hitbox could be made to transition closer to the animation. Even just a frame or two in the crouching position would be an improvement.

Limbo'd corpses have been made not to block bullets. If an extra bit of logic was added in here to say limbo'd corpses don't block bullets if they limbo'd on the client at the time of shooting it would fix the problem.

You shouldn't be able to shoot at a solid object on your client and hit another target behind it. The whole point of antilag is to make the shooting experience independent of ping. Well this is an addressable inconsistency.
User avatar
ReyalP
Posts: 1663
Joined: Fri Jul 25, 2003 11:44 am

Post by ReyalP »

Nogen wrote: If an extra bit of logic was added in here to say limbo'd corpses don't block bullets if they limbo'd on the client at the time of shooting it would fix the problem.
Huh ? If a corpse is limbod on your client, it has by definition already been limbod on the server for some time. I interpreted your complaint as the reverse, that a corpse which appears unlimbod on your screen is actually limbo'd on the server.
Nogen wrote:Well this is an addressable inconsistency.
No it isn't. If you think it through, you will realize that you can move the inconsistency around, but you cannot get rid of it.

If I understand your proposed "fix" correctly, it would make corpses block more or less bullets depending on your ping. That is certainly inconsistent, and in many cases would be a bad thing.

edit:
I should add that making the hitbox take time to transition to the corpse size is completely unrelated to this. It's not a bad idea, but it would pretty much just speed up gibbing.
send lawyers, guns and money
Nogen
Posts: 93
Joined: Mon Aug 30, 2004 4:31 pm

Post by Nogen »

Yes you are right...corpses would block more bullets depending on your ping. However, I'd prefer that to being able to shoot through people. Does anybody actually deliberately shoot through people? Do you ever shoot at someone EXPECTING your bullets to go through them at hit what is behind them?

No of course not. You were either aiming for the target under your crosshair OR you would reposition yourself to hit the target behind them.

Sure the corpse would be blocking the bullets but you would have kept shooting at the "live" target on your client anyway until you saw that they were dead and probably gibbed.

Nobody intentionally tries to shoot through someone so therefore while you are moving the inconsistency, you are only moving it somewhere where it will cause less problems.
User avatar
ReyalP
Posts: 1663
Joined: Fri Jul 25, 2003 11:44 am

Post by ReyalP »

Nogen wrote:Does anybody actually deliberately shoot through people? Do you ever shoot at someone EXPECTING your bullets to go through them at hit what is behind them?
There are two corpses close together that you are trying to gib. With your 'fix' it takes you longer to gib them both.

Imagine there is a corpse between your line of fire, and the person you are trying to kill. With your "fix" it protects them longer, based on your ping.

Notice that both of these cases your "fix" just artificially punishes high pingers.
send lawyers, guns and money
Post Reply