Planetside 2 Hit detection - PlanetSide Universe
PSU Social Facebook Twitter Twitter YouTube Steam TwitchTV
PlanetSide Universe
PSU: If all else fails, blame France
Home Forum Chat Wiki Social AGN PS2 Stats
Notices
Go Back   PlanetSide Universe > PlanetSide Discussions > PlanetSide 2 Discussion

Reply
 
Thread Tools Search this Thread Display Modes
Old 2012-01-09, 06:20 AM   [Ignore Me] #1
SKYeXile
Major General
 
SKYeXile's Avatar
 
Planetside 2 Hit detection


TLDR: read the pink.

I have made threads in the past and read asmuch info as possible on Planetsides 2 netcode and all netcodes possible, playing from Australia one must know their enemy well. I have tried to find as many sources as possible, but some have eluded my searches, I believe now with 99% certainly that Planetside will use a serverside hit detection model featuring hit prediction.


Before I start though, I will use some terms, I don’t claim these are the correct terms, but to avoid confusion in these thread it would be nice if you used them.

Severside hit detection(SSHD): This is a standard code that was used by games like the original halo and the Unreal Series, everything happens on the server, you need to lead your target to compensate for your ping and predict where they will be on the server when your packet gets there.

Clinetside hit detection(CSHD): Your client sends a packet to the server saying, " I hit" server agrees with the hit, sometimes known as zero ping. Planetside 1uses this code.

Severside hit prediction.(SSHP) This ones tricky to explain some people will say this is CSHD or also zero ping. Anyway the process is that your computer sends a packet to the server with a timestamp, the server gets this packet rolls its data back based on this timestamp and see's if you hit. it has the same effect..most of the time as CSHD with more security. but it has 1 drawback, ill explain more on this later. Games that use this code are games on the source engine and I believe most modern games use this code along with BF3, though getting info on the codes developers use is always tricky.

Before I go on, I would like to state again that hit detection has nothing to do with warping, warping is a result of movement prediction, and that’s the word, it predicts and then re-corrects itself when it gets proper data. Planetside will unlikely feature this code.

On the good stuff, This is the info we have on PS2 netcode:
Is the hit detection client-side or server-side? We all know how frustrating it is to get killed after you've already taken cover on your screen. The developers want to minimize the effect of lag in PlanetSide 2. Hit detection will use a hybrid model of client and server-side tracking. Physics will be handled by the client, and some other details will be handled by the server. I was told the target latency is around 100-150 ms maximum. How this would be achieved or enforced is unknown. However, there will be multiple servers, so players can choose the server with the shortest latency.
http://comms.planetsidesyndicate.com...ead.php?t=4516

Quote:
PlanetSide Universe: Ping will effect gameplay less than it did before.
http://www.planetside-universe.com/p...overage-67.htm

Came up on the second live blog.

Smedly has stated in a fan fare Q&A that Planetside 1 used one hit detection model, and that Planetside 2 will use the other.
http://www.g4tv.com/videos/54137/Pla...c-Panel-Video/
hit detections talk starts at 43:30

this last one has eluded me:
But im 100% positive higby has stated somewhere that planetside 2 hit detection will be similar to BF3;s where I uses a client/server design and he says something like a hit will be a hit"
it wasn't a fully informative quote with 100% accuracy to say its SSHP, but to know its similar to BF3's is enough.



With that info, a "hybrid model" can defiantly been seen as SSHP or SSHP Smedly said that planetside uses one model(CSHD) and that planetside 2 will use the other, it can only be interpreted as SSHD. They said that ping will play less of an issue in PS2, this could be because of a change to movement prediction or it could be that they believe there is inconsistencies with CSHD.

While it does say it requires 100-150ms ping, that’s an American talking, I play with a lot of Americans and let me say that your interpretation of whats playable with a pad ping is meaningless. OH THE SCREAMS WHEN YOU GET ABOUVE 100PING, THE END OF THE WORLD! MY PING ITS SPIRALING OUT OF CONTROL, IT TERRIBLE!!!....I'm done.

This leads me to conclude that the game is going to use SSHP. What does this mean for you? it means that most of the time a hit on your screen will be a hit on the server, it caters to everybody equally, nobody has to lead their target. However the major downside is that same thing, this leads to people getting killed around corners and is a major contributor to rage in BF3 by people that don’t understand the code...even those that do.

the other downside is sync issues, this ones hard to explain, so ill let valve do it.


This screenshot was taken on a listen server with 200 milliseconds of lag (using net_fakelag), right after the server confirmed the hit. The red hitbox shows the target position on the client where it was 100ms + interp period ago. Since then, the target continued to move to the left while the user command was travelling to the server. After the user command arrived, the server restored the target position (blue hitbox) based on the estimated command execution time. The server traces the shot and confirms the hit (the client sees blood effects).
Client and server hitboxes don't exactly match because of small precision errors in time measurement. Even a small difference of a few milliseconds can cause an error of several inches for fast-moving objects. Multiplayer hit detection is not pixel perfect and has known precision limitations based on the tickrate and the speed of moving objects. Increasing the tickrate does improve the precision of hit detection, but also requires more CPU, memory, and bandwidth capacity for server and clients.
The question arises, why is hit detection so complicated on the server? Doing the back tracking of player positions and dealing with precision errors while hit detection could be done client-side way easier and with pixel precision. The client would just tell the server with a "hit" message what player has been hit and where. We can't allow that simply because a game server can't trust the clients on such important decisions. Even if the client is "clean" and protected by Valve Anti-Cheat, the packets could be still modified on a 3rd machine while routed to the game server. These "cheat proxies" could inject "hit" messages into the network packet without being detected by VAC (a "man-in-the-middle" attack).
Network latencies and lag compensation can create paradoxes that seem illogical compared to the real world. For example, you can be hit by an attacker you can't even see anymore because you already took cover. What happened is that the server moved your player hitboxes back in time, where you were still exposed to your attacker. This inconsistency problem can't be solved in general because of the relatively slow packet speeds. In the real world, you don't notice this problem because light (the packets) travels so fast and you and everybody around you sees the same world as it is right now.
there would offcourse be more issues with syncing the faster a player is moving.

While I read asmuch as possible about netcode I have to wonder, the source engine canlag with 32 players using this code while the server runs at 66 ticks per second. (for reference planetside runs at 5 ticks) is this even possible for forgelight to do? now obviously SSHP uses more server processing power than CSHD.

But the real question is does SSHP use more processing power than SSHD?
planetside WILL feature bullets with arching projectiles, I wonder does the server need to calculate the arch of a projectile with SSHP? I guess it would since it needs to check if a hit is possible, so I would presume that SSHP does use more server resources than SSHD, since it has to rollback data? the answer to this could very well confirm the type of hit detection they plan to use...or Matt could stroll into this thread...

I made this thread because myself and elude sort of hijacked another thread.
http://www.planetside-universe.com/f...t=38481&page=9
our discussion started there, there is obviously confusion to what hit detection some games use, but I believe SSHP sync issues is the cause of hit detection issues he has had and other do have in some of these games that apparently use "CSHD." use this thread to continue any discussion about that though.
__________________

SKYeXile TRF - GM
FUTURE CREW - HIGH COUNCIL

Last edited by SKYeXile; 2012-01-09 at 07:29 AM.
SKYeXile is offline  
Reply With Quote
Old 2012-01-09, 06:40 AM   [Ignore Me] #2
ArmaGetItOn
Private
 
Re: Planetside 2 Hit detection


Getting killed behind cover isn't the only problem in BF3 with it's hit detection model. I wouldn't even say that it's the worst.

The worst is that you can't tell you're being hit until you are dead. A player shooting at you, on his screen, might be pelting away at you for 3-4 seconds. On your screen, you fall over like he OHK'd you. When the server finally tells your client you're being hit, it compresses all the hits into one moment.

...and then there's cheaters in BF3, that with a press of a button, can kill everyone on the enemy team, instantly. The hit detection model allows this.
ArmaGetItOn is offline  
Reply With Quote
Old 2012-01-09, 07:38 AM   [Ignore Me] #3
Stevo IRL
Private
 
Re: Planetside 2 Hit detection


Also bare in mind that PS2 will be the largest example of this type of coding solution that involves a high level of vehicles and vehicle types. Who knows what will happen when certain areas of the map are flooded with about hundred players constantly shooting. Someone is going to take a hit in performance. Tbh if they can get around 90% accuracy ill be happy enough, there has yet to be a online game as of yet that has handled so many players in one area while also do the relevant "math damage" behind the scenes.
Stevo IRL is offline  
Reply With Quote
Old 2012-01-09, 07:44 AM   [Ignore Me] #4
SKYeXile
Major General
 
SKYeXile's Avatar
 
Re: Planetside 2 Hit detection


Originally Posted by ArmaGetItOn View Post
Getting killed behind cover isn't the only problem in BF3 with it's hit detection model. I wouldn't even say that it's the worst.

The worst is that you can't tell you're being hit until you are dead. A player shooting at you, on his screen, might be pelting away at you for 3-4 seconds. On your screen, you fall over like he OHK'd you. When the server finally tells your client you're being hit, it compresses all the hits into one moment.

...and then there's cheaters in BF3, that with a press of a button, can kill everyone on the enemy team, instantly. The hit detection model allows this.
Could be an issue with BF3's server tickrate, i cant find any info what it is, apparently it goes at whatever the server can take, ergo: shit server, shit tick rate.

F2000 can shoot 14 rounds per second thats 350dps, 4 shots to kill, on a refire of 71.42 x 3 (first shot is at 0 seconds) means you can kill somebody in .214 seconds. I think if a server is lagging, getting "gibbed" is very possible. I cant explain the 3-5 seconds.... servers really lagging and you have bad packet loss..while you also have a shit computer with a shit monitor refresh rate? its makes no sense why that would happen in BF3 otherwise, i cant say that that has happened to me ever, or if it has, i haven't noticed it.

None the less, its probably a good reason to have a higher TTK, (planetside 2s is been aimed at been slightly higher than BFBC2) we still obviously have no idea on Planetside 2's tickrate, but i imagine with SSHP it would have to be low, though i think sonys are the masters when it comes to netcode, hopefully they have something thats atleast on par with BF3, think about it, been an MMO with 2000 players...its gotta have some problems.
__________________

SKYeXile TRF - GM
FUTURE CREW - HIGH COUNCIL

Last edited by SKYeXile; 2012-01-09 at 08:02 AM.
SKYeXile is offline  
Reply With Quote
Old 2012-01-09, 08:25 AM   [Ignore Me] #5
Sighpolice
Corporal
 
Sighpolice's Avatar
 
Re: Planetside 2 Hit detection


BF 3's hit code is awful, I often see tank shells bounce off soldiers head's and they casually carry on like nothing's happened. Not to mention trying to shoot somebody whilst running, you have to lead your target quite heavily..

the worst part is say your crouched behind a wall, you pop up fire some rounds, crouch back down and - boom - you've been killed behind the wall, and your corpse (even though on your screen had crouched back down) almost time travels 1 second backwards and you fall forward over the wall or something.

Amazingly detailed post on coding though, well worth the read, let's hope these points hit home with the right people
Sighpolice is offline  
Reply With Quote
Old 2012-01-09, 09:14 AM   [Ignore Me] #6
EASyEightyEight
Sergeant Major
 
Re: Planetside 2 Hit detection


The gist of it is, because it's the internet, no model is perfect. People will say SSHD is super fair, but only if your ping is below 100. A landmass the size of America, with people all over it playing a game with this kind of scale? Don't count on there being too many people, tolerance is in extremely short supply anymore.

The game needs to be accessible to a LOT of people. This is MMO 101, especially for F2P's that live on the 80/20 rule, and especially for a game that lives or dies on it's population alone. They'll have some pretty generous lag compensation. I'd prefer to be killed around a wall by someone than only have 50 guys to shoot because the other 950 couldn't be arsed to play a game where they aren't hitting anything they are skilled enough to put a bead on otherwise.

150ms I'd still say is too short (unless it's only counting one way, in which case a 300ms ping would be fine,) but this will probably all be worked out during betas, when they can track player numbers and their latencies.

They'd need to plant a server in Chicago for me to have roughly 100ms, and that's about as low as it gets for me.
EASyEightyEight is offline  
Reply With Quote
Old 2012-01-09, 09:44 AM   [Ignore Me] #7
Princess Frosty
Corporal
 
Re: Planetside 2 Hit detection


It's worth mentioning that while SSHP can allow players to be apparantly killed around corners and while in cover, it should be noted that this is in APPEARANCE only and you're not actually being cheated out of anything.

If you move out of cover, get shot at and you move back in cover, then die in cover, it means that really you died when you were exposed but the server hasn't told you yet.

It allows everyone to play as if they're shooting directly at their targets with the appearance of instant netcode but with the drawback of being apparently unfair. Personally I've grown to like this method, it's somewhat CPU intensive for the server to manage which could be a problem for Planetside 2.

The other option is to not have the server essentially verify what the client is saying and implicitly trust everyone connected, which is what can lead to really nasty hacks where 1 person can just fake packets to the server that says they've hit everyone in the head 20 times.

I think hardware is at a point now where we can handle that level of computation per second, we can build individual servers with dual 6 core CPUs with hyperthreading (12 physical cores, 24 logical) and write server side software to simply track it all, have 64gb of RAM to hold as much data from prior ticks as is needed. As a systems admin and hardware enthusiast I'd be interested in seeing what kind of server hardware they're going to run on.
__________________
All the Planetside 2 information in one place - http://www.planetside2wiki.com

PC game fix database - http://www.pcgamingstandards.com
Princess Frosty is offline  
Reply With Quote
Old 2012-01-09, 11:07 AM   [Ignore Me] #8
ArmaGetItOn
Private
 
Re: Planetside 2 Hit detection


As for lag, in this kind of game I just care if it works. It does matter a bit more in this than it does in planetside 1 though, because of the higher TTK.

What I'm primarily concerned about is what I mentioned with BF3 cheaters. If the hit registration worked the same way, imagine 1 cheater with the ability to kill everyone on a continent instantly and repeatedly.
__________________
ArmaGetItOn is offline  
Reply With Quote
Old 2012-01-09, 04:27 PM   [Ignore Me] #9
SKYeXile
Major General
 
SKYeXile's Avatar
 
Re: Planetside 2 Hit detection


Originally Posted by SKYeXile View Post
TLDR: read the pink.


But the real question is does SSHP use more processing power than SSHD?
planetside WILL feature bullets with arching projectiles, I wonder does the server need to calculate the arch of a projectile with SSHP? I guess it would since it needs to check if a hit is possible, so I would presume that SSHP does use more server resources than SSHD, since it has to rollback data? the answer to this could very well confirm the type of hit detection they plan to use...or Matt could stroll into this thread...
On this, while it would be nice for the server to caulclate the bullet projectitles i guess this would nolonger make it a hybrid model. confirming pyhsics on the server would only deny afew types of hacks i beleive and not worth the processing power and i dont think possible.

I think with the server running SSHP, probably better discribed as CSHP,(clinetside hit prediction) when the client is just sending hit data. Planetside 2 will definatly be capable of running thousands of players.
__________________

SKYeXile TRF - GM
FUTURE CREW - HIGH COUNCIL
SKYeXile is offline  
Reply With Quote
Old 2012-01-09, 04:32 PM   [Ignore Me] #10
SKYeXile
Major General
 
SKYeXile's Avatar
 
Re: Planetside 2 Hit detection


Originally Posted by Princess Frosty View Post
It's worth mentioning that while SSHP can allow players to be apparantly killed around corners and while in cover, it should be noted that this is in APPEARANCE only and you're not actually being cheated out of anything.

If you move out of cover, get shot at and you move back in cover, then die in cover, it means that really you died when you were exposed but the server hasn't told you yet.

It allows everyone to play as if they're shooting directly at their targets with the appearance of instant netcode but with the drawback of being apparently unfair. Personally I've grown to like this method, it's somewhat CPU intensive for the server to manage which could be a problem for Planetside 2.

The other option is to not have the server essentially verify what the client is saying and implicitly trust everyone connected, which is what can lead to really nasty hacks where 1 person can just fake packets to the server that says they've hit everyone in the head 20 times.

I think hardware is at a point now where we can handle that level of computation per second, we can build individual servers with dual 6 core CPUs with hyperthreading (12 physical cores, 24 logical) and write server side software to simply track it all, have 64gb of RAM to hold as much data from prior ticks as is needed. As a systems admin and hardware enthusiast I'd be interested in seeing what kind of server hardware they're going to run on.
Yea i thought i said that, but perhaps not clearly enough i went onto say that BF3 people complaing about it are n00bs and dont understand the code, but you explained it perfectly. I understand the code and i think the positives of this code far outweigh the negatives.

BF3's code does have some issues sure, but i beleive most people use this sort of code now, BF3 may have more issues because they run more players. like i said i never have had too many issues with hit detection, but i play on 32 players servers, could be why. But anyway, SOE will have servers way more powerful than BF3 servers.
__________________

SKYeXile TRF - GM
FUTURE CREW - HIGH COUNCIL
SKYeXile is offline  
Reply With Quote
Old 2012-01-09, 05:21 PM   [Ignore Me] #11
SuperMorto
Lieutenant Colonel
 
SuperMorto's Avatar
 
Re: Planetside 2 Hit detection


Really good post this, for a folk like myself who doesn't know the first thing about it all, it has helped me understand it so much more, good post!
__________________
SuperMorto is offline  
Reply With Quote
Old 2012-01-09, 06:09 PM   [Ignore Me] #12
ArmedZealot
Contributor
Major
 
Re: Planetside 2 Hit detection


Originally Posted by SKYeXile View Post

This leads me to conclude that the game is going to use SSHP. What does this mean for you? it means that most of the time a hit on your screen will be a hit on the server, it caters to everybody equally, nobody has to lead their target. However the major downside is that same thing, this leads to people getting killed around corners and is a major contributor to rage in BF3 by people that don’t understand the code...even those that do.
What do you think the consequences of this hit model will be from a hacking standpoint, especially since, as you say, that valve uses this model in games like counter strike and team fortress? Considering that they are very full of such exploits and cheats, does that make the transition from those to Planetside 2 easier?

What are your opinions on having the the victim assumed shot rather than the shooter missing in cases of lag as the assumption in SSHP?
ArmedZealot is offline  
Reply With Quote
Old 2012-01-09, 06:24 PM   [Ignore Me] #13
SKYeXile
Major General
 
SKYeXile's Avatar
 
Re: Planetside 2 Hit detection


Originally Posted by ArmedZealot View Post
What do you think the consequences of this hit model will be from a hacking standpoint, especially since, as you say, that valve uses this model in games like counter strike and team fortress? Considering that they are very full of such exploits and cheats, does that make the transition from those to Planetside 2 easier?

What are your opinions on having the the victim assumed shot rather than the shooter missing in cases of lag as the assumption in SSHP?
Im no expert on hacks, i really dont have the vaguest i idea, i can however make a logical assumption.

Given that the server does not know the origin of a shot fired, i would presume a hack could be used to kill somebody (or everybody)through a wall, provided you knew their xyz position. I however have seen this on unreal, a SSHD game.

with the bold, are you talking about a sync issue, as highliged by valve? overcoming this is by the server presuming he clinet is right and saying a hit is a hit? trusting the client like that would be base clinetside hit detection, we have seen the the results of that in planetside.

you can find some basic info on cheating and explots here:

http://en.wikipedia.org/wiki/Cheating_in_online_games

SOE have said that PS2 will use a 3rd party hac detection, i think they will use one thats common for FPS, so punkbuster or VAC, VAC is a good possibilty because PS2 willbe on steam and it comes with the added warning of "if you get caught, we're gonna F your steam account in the A" ...but you would have to be stupid to hack on your main steam account...
__________________

SKYeXile TRF - GM
FUTURE CREW - HIGH COUNCIL
SKYeXile is offline  
Reply With Quote
Old 2012-01-09, 06:33 PM   [Ignore Me] #14
ArmedZealot
Contributor
Major
 
Re: Planetside 2 Hit detection


Originally Posted by SKYeXile View Post
SOE have said that PS2 will use a 3rd party hac detection, i think they will use one thats common for FPS, so punkbuster or VAC, VAC is a good possibilty because PS2 willbe on steam and it comes with the added warning of "if you get caught, we're gonna F your steam account in the A" ...but you would have to be stupid to hack on your main steam account...
Where'd you find the information on this?

If this is true it makes me feel a whole lot better about PS2 in general. A relationship between the GM's and Steam makes it easy to deter those from doing hacking and getting those that do out of the game. And VAC seems like an alright 3rd party client even though it doesn't stop much from happening on private servers used in most valve games.
ArmedZealot is offline  
Reply With Quote
Old 2012-01-09, 06:37 PM   [Ignore Me] #15
ArmedZealot
Contributor
Major
 
Re: Planetside 2 Hit detection


Originally Posted by SKYeXile View Post
with the bold, are you talking about a sync issue, as highliged by valve?
I was just asking your opinion on the matter. IMO this seems a little backwards, what if the server could detect if the victim was close enough to an object, or the LOS was close enough to be intersected to "ignore" the hit and make it to where the shooter misses?
ArmedZealot is offline  
Reply With Quote
Reply
  PlanetSide Universe > PlanetSide Discussions > PlanetSide 2 Discussion

Bookmarks

Discord

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 07:47 AM.

Content © 2002-2013, PlanetSide-Universe.com, All rights reserved.
PlanetSide and the SOE logo are registered trademarks of Sony Online Entertainment Inc. © 2004 Sony Online Entertainment Inc. All rights reserved.
All other trademarks or tradenames are properties of their respective owners.
Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.