PDA

View Full Version : Planetside 2 Hit Detection


flagrare
2011-07-30, 03:35 PM
Does anybody know if it will be clientside or serverside?

Bags
2011-07-30, 03:44 PM
A mix.

Sovereign
2011-07-30, 04:37 PM
All of the above, just like the last game..

flagrare
2011-07-30, 07:06 PM
I thought all of Planetside was just clientside, what parts aren't?

Surge72
2011-07-30, 07:08 PM
Stop being so concerned with the issues that plagued Planetside. It's a new game. Treat it as such. No FPS nowadays has issues like this.

BorisBlade
2011-07-30, 08:56 PM
Stop being so concerned with the issues that plagued Planetside. It's a new game. Treat it as such. No FPS nowadays has issues like this.

Most FPS's today have 100x less players than ps2 so its natural we wanna know since one key to makin those numbers possible in ps1 was usin some clientside stuff that had quite a few problems.

MasterChief096
2011-07-30, 09:04 PM
I think it was said somewhere by someone official that most of it will be server side, but as I said I 'think'. I'm not 100% sure.

I think some things will be kept clientside and some server side but I don't want to take guesses as to what because I might be wrong.

Death2All
2011-07-30, 10:59 PM
Stop being so concerned with the issues that plagued Planetside. It's a new game. Treat it as such. No FPS nowadays has issues like this.

Whether the game will use CSHD or SSHD is a big deal and it's perfectly fine to have a discussion over it.


I'm tired of people shooting down threads because "it's a new game". Of course we're going to compare it to the old one and use it as an example.

Vancha
2011-07-31, 05:47 AM
I'm tired of people shooting down threads because "it's a new game". Of course we're going to compare it to the old one and use it as an example.
It depends what people are saying. If it's something like "what's PS2's hit detection like compared to PS1?", that's fine. It's when people start saying things like "Life without med-apps in PS1 was miserable, therefore we should have med-apps in PS2!" that you enter the realms of PS1 being a pointless comparison.

Xaine
2011-07-31, 06:28 AM
Personally, and i'm sure most of you feel the same way, i couldn't care less if it was SS or CS. As long as it works and it can't be abused they can route the hit detection data via Pluto for all i care.

I just don't want this current situation we have some times, where you put the barrel of your sweeper in someones mouth and pull the trigger 17 times with hit markers all over your screen, but they still refuse to die because you 'missed'.

SKYeXile
2011-07-31, 09:45 PM
Personally, and i'm sure most of you feel the same way, i couldn't care less if it was SS or CS. As long as it works and it can't be abused they can route the hit detection data via Pluto for all i care.

I just don't want this current situation we have some times, where you put the barrel of your sweeper in someones mouth and pull the trigger 17 times with hit markers all over your screen, but they still refuse to die because you 'missed'.

Thats an issue with the emerald server, and not clientside...hit detection was always fine on Markov.

Valdae
2011-07-31, 10:08 PM
It was decent on Werner too. Im sure ps2 will be fine tho, these kind of issues don't crop up as much as they used to when the original game was released.

2coolforu
2011-07-31, 10:32 PM
Personally, and i'm sure most of you feel the same way, i couldn't care less if it was SS or CS. As long as it works and it can't be abused they can route the hit detection data via Pluto for all i care.

I just don't want this current situation we have some times, where you put the barrel of your sweeper in someones mouth and pull the trigger 17 times with hit markers all over your screen, but they still refuse to die because you 'missed'.

Since light takes multiple hours to reach Pluto I don't think routing it via the outer solar system would be preferable. It's currently a mix and that's all we know, obviously netcode has come a long way since Planetside 1 I'm sure we will see improvements in warping and hit detection.

Don't forget that Planetside only has so many problems due to server cuts, hit detection was far better when we had two hamsters rather than the current 'disease woodlouse' server.

Quovatis
2011-08-01, 10:39 AM
It is a big deal and relevant. Most FPSes today use server side because they only have to track a few players at a time. Giant MMOFPS like PlanetSide and World War II Online pretty much have to use client side hit detection because the hardware demands on tracking the projectiles for 1000 players at the same time is immense. So I don't think there's much choice here, unfortunately. As much as I hate the drawbacks of client side, it is still nice to not have to fight lag when shooting at an enemy (i.e. if on your screen you hit somebody it counts 100% of the time, unlike server side). But who knows, maybe the PS2 team has a trick up there sleeve here.

EASyEightyEight
2011-08-01, 11:06 AM
Not all of us have access to 10mb+ lines either. I average 150-200ms to PS1 right now. Or I SHOULD, but my ISP has been hell bent on pissing me off lately.

Games today are better coded, often allowing for some level of latency compensation. Just so long as I'm not rubberbanding I can live with MOST of my shots counting.

SKYeXile
2011-08-01, 06:29 PM
It is a big deal and relevant. Most FPSes today use server side because they only have to track a few players at a time. Giant MMOFPS like PlanetSide and World War II Online pretty much have to use client side hit detection because the hardware demands on tracking the projectiles for 1000 players at the same time is immense. So I don't think there's much choice here, unfortunately. As much as I hate the drawbacks of client side, it is still nice to not have to fight lag when shooting at an enemy (i.e. if on your screen you hit somebody it counts 100% of the time, unlike server side). But who knows, maybe the PS2 team has a trick up there sleeve here.

I would rather play with the hackers and CSHD than SSHD that requires 10ms ping to hit anything.

DreaM
2011-08-02, 08:52 AM
I would rather play with the hackers and CSHD than SSHD that requires 10ms ping to hit anything.

I agree with this.

TacosWLove
2011-08-04, 03:12 PM
This is a big issue, I think this turned a lot of small scale console FPS players away from PS, and this is a key demographic that PS2 will need to attract if they really want this game to be huge. Nothing like being shot are as you run around the corner and then die a second later.

In the last 10 years hardware performance has increase several fold and since the graphics is mostly client side one would expect some sort of server side hit detection as the servers should have a lot more resources(if they dont cheap out).

But yes im with exile, I would rather have the huge fights with CSHD then no huge fights at all, but it would be nice to know what to expect is all...

Atuday
2011-08-04, 04:27 PM
Not all of us have access to 10mb+ lines either. I average 150-200ms to PS1 right now. Or I SHOULD, but my ISP has been hell bent on pissing me off lately.

Games today are better coded, often allowing for some level of latency compensation. Just so long as I'm not rubberbanding I can live with MOST of my shots counting.

This is very import point that I hope I will only have to make once. If your ISP is being a dick then be really nice to their system administrator and take him or her out to a very expensive lunch and talk to them in person. This sounds much harder than it is because (and trust me on this point) they never refuse a good free lunch.

exLupo
2011-08-05, 01:18 AM
If your ISP is being a dick then be really nice to their system administrator.

Do not attempt this. If you try to talk to the "system administrator" of a proper ISP, you will get a polite refusal while they mute you and laugh. If there actually is a single admin, you're on a rinky-**** reseller and they're still beholden to the proper ISP from whom they lease their lines.

If you're having trouble and tech support isn't helping, escalate. Politely. Unless your ISP is completely worthless, there will almost always be a way to fix you rissue. Just don't ask for a system admin.

Traak
2011-10-06, 04:25 AM
Here's an idea to make cheats easier to discover: Have every 100th shot or so go crazily wild, as in vertically downwards or upwards.

If that shot lands on the same target as the previous shots, it can flag someone for receiving more "wild shots" to be analyzed.

If the game finds too-high and incidence of someone who is, for example, sniping from afar, landing shots on the same target even though that shot was 90 degrees off of where the rifle was pointed, then it can automatically call for a dev to run analytics or review it in some way, manually.

People who are scoring hits with those randomly-generated wild shots that are exactly on the same target as the last hit, if it was from a significant distance, (i.e., not point-blank) could be flagged for investigation.

The shots don't even have to be wild. They can just be nulls, duds, bad bullets, whatever. If Captain HighScore scores a kill with what was impossible to even deal any damage with, the null shot, then something is wrong, possibly cheating.

To catch cheaters, just check up on the top 50 on the leaderboards. You will find a target-rich environment.

Thoreaux
2011-10-06, 02:11 PM
To catch cheaters, just check up on the top 50 on the leaderboards. You will find a target-rich environment.

Careful about saying that out loud. A lot of people will just hear "Wah! Everybody better than me cheats!" and immediately dismiss you.

Not that you're wrong of course. There are the legit good players, and then there are the ROF/COF tweaking, bandwidth throttling, packet-manipulating, warp inducing, "good" players.... who have gotten away with it since the game was released. Most of them were smart enough to keep it subtle, so that there was never a widespread awareness that such things were possible (easy, in fact, with the right knowledge) until a few third party hacks spilled the beans opened the flood gates for the less-savvy punks.

But this stuff, even with cshd, should never have been possible. It's basically a losing battle trying to stop people from messing with things client-side, but it all still has to go through the server. Simply having the capability to automatically analyze the incoming packets from a particular player for irregularities or impossibilities in their reported shot-rate, cof bloom-rate etc would stop a lot of the bullshit.

The fact that so many client hacks can say "I shot 30 bullets in 2 seconds, OK?" or "I just suddenly appeared a mile from my previous coordinates, OK?" and the server just says, "HERP-DERP, THAT SOUNDS FINE TO ME, I'LL TELL EVERYBODY ELSE!" Irregularities happen sure, but there needs to be a modicum of server-side smarts to at least flag these people for a review by CSRs. I truly hope SOE has stepped up their game.

SKYeXile
2011-10-06, 05:31 PM
To catch cheaters, just check up on the top 50 on the leaderboards. You will find a target-rich environment.

so the Reaver, skeeter and lasher are hacks?

Bags
2011-10-06, 05:37 PM
Sorry mr aussie. If you're on top you're cheating. :p

SKYeXile
2011-10-06, 05:40 PM
Sorry mr aussie. If you're on top you're cheating. :p

oh its the lag right? its easier to play on a high ping right? derp.

Bags
2011-10-06, 05:42 PM
It's because you're in the future.

NCLynx
2011-10-06, 06:09 PM
Stop being so concerned with the issues that plagued Planetside. It's a new game. Treat it as such. No FPS nowadays has issues like this.

From what I've experienced and read quite a bit of, BF3s beta hit detection is horrid. I'd say that's pretty nowadays.

Bags
2011-10-06, 06:15 PM
BF3 hit detection felt fine for me if I was on a decent server.

SKYeXile
2011-10-06, 07:52 PM
people seem to think BF3s hit detection is clinetside, but the issues people are having can be experienced in serverside hit prediction too(which is the best hit detection coding) so...*shrugs*

Bags
2011-10-06, 09:03 PM
I've seen videos of some horrendous hit detection but I've only had 1 - 2 instances in about 10 hours of "well, I thought I was behind cover".

Good enough for me.

Sirisian
2011-10-06, 09:25 PM
people seem to think BF3s hit detection is clinetside, but the issues people are having can be experienced in serverside hit prediction too(which is the best hit detection coding) so...*shrugs*
BF3's hit detection is client-side. Clients tell the server when they hit a player.

In a completely server-side system you don't experience the same problems at all. If you have a low latency you'll play the game perfectly. The people with higher latency will aim at old state and shoot and the server will get the player's direction and calculate the CoF and other offsets and send the bullet states to all the clients which will then create them and extrapolate to the current server state. (Not the only synchronization method. Running behind time is another option).

So a server-side only system is really nice for low latency players. A client-side system with server-side checks are good for high latency players.

BF3 hit detection felt fine for me if I was on a decent server.
Actually it'll only be fine if the latency between the server and you and the server and the person that is firing at you is good. You see that as "the server is good" which is only halfway right. If you join a server where you have 30 ms ping and everyone else has 150 ms pings it's going to feel like you're dying randomly before you can react.

In this way the client-side system is often viewed as giving advantage to players that lag. However, without it players with high latency would get very mad that they have problems shooting. So the developers usually feel it's a good compromise so everyone hits when they shoot at which generally makes players feel better about the game even if it skews with the fairness.

SKYeXile
2011-10-06, 09:39 PM
BF3's hit detection is client-side. Clients tell the server when they hit a player.

In a completely server-side system you don't experience the same problems at all. If you have a low latency you'll play the game perfectly. The people with higher latency will aim at old state and shoot and the server will get the player's direction and calculate the CoF and other offsets and send the bullet states to all the clients which will then create them and extrapolate to the current server state. (Not the only synchronization method. Running behind time is another option).

err people dying around corners is experenced with serverside hit prediction...

is it a FACT BF3's hit detection is CS or are people simply presuming because they're dying around corners?

Vash02
2011-10-06, 09:42 PM
To catch cheaters, just check up on the top 50 on the leaderboards. You will find a target-rich environment.

I used to check the rank icons in MW2 to see if there were hackers in my match. They always hacked themselves the highest rank which would of taken months of constant play to achieve so they were really easy to spot.

Sirisian
2011-10-07, 02:56 AM
err people dying around corners is experenced with serverside hit prediction...
On a low latency server that's highly unlikely. I assume you're imagining a case with high latency and the extrapolation client-side shows you in the safe while the event hasn't occurred yet on the server or propagated to the clients?

This is more of a pen and paper problem. You can imagine a player being a little outside a corner. He presses strafe and sends a packet to the server with his input. Depending on the game, but usually, the client-side will begin simulating the change immediately even as the packet propagates to the server which takes round trip time (RTT) aka Latency / 2. On the server even when it gets the packet it doesn't immediately act on it. It must wait until the next server update. At that point it processes the input packets and performs and update then builds packets for each player and sends them. However during the update it has a few choices. It can assume the action just happened at this update. Or it can assume the action occurred Latency / 2 time in the past relative to when the packet was received. This gives us a time dilation of -((ServerTimeNow - PacketReceivedServerTime) + ClientLatency / 2).

There's a whole level of statistics for this, but we'll keep it simple. We'll say the server updates 20 times per seconds and sends packets at that rate which is pretty good. That gives us an update frequency every 50 ms. We'll assume on average the arrival of a packet is between updates so the wait time for a packet before it's processed is 25 ms. We'll make another assumption. The user has a horrible latency of 150 ms. (Anything below 70 ms is generally considered okay). So when a person presses a key assuming they send the packet immediately asynchronous of any game loop on the client-side (big assumption) it would take 150 / 2 + 25 ms until the packet is processed. That is 100 ms delay.

Okay before I continue I want to point out that multiplayer games generally add momentum to characters so they feel sluggish. This is not a realism/gameplay thing so much as it's a way to soften lag usually. If it takes you a while to change direction then players won't see a sudden jump when extrapolating.

Okay anyway so extrapolating. On the client-side lets assume there is no inertia so the player instantly starts moving with a velocity of 1.5 m/s. Now by the time the server has gotten the packet to even consider allowing the movement the player has moved 1.5 m/s * 100 ms = 15 cm. However, no one else knows that yet!

So the server updates which we'll assume to take < 1 ms so it's negligible to our calculations. During this update it sees the player's input packet and goes "this player requested to strafe 100 ms ago. Okay we'll allow that and assume that action started 100 ms ago and move their position 15 cm and also set their velocity to 1.5 m/s in a direction." So this information is sent out to the clients. Each client has it's own latency so when it gets the packet and sees the position update. (Again this timing can get complicated since the client usually processes packet synchronously before updating and not asynchronous, but we'll ignore that since the update could be 60 ms making the delay negligible). Okay so the clients see the position data for the player and its new velocity. However that data is old. It's their latency / 2 old. If their latency is 30 ms then it's 15 ms old information. If their latency is 150 ms also then it's 75 ms old. So when it gets the data it must extrapolate using the velocity to an estimated server position. So lets go with 150 ms and assume everyone is far from the server. That means the player is no offset 1.5 m/s * 75 ms = 11 cm. So on total the player has "jumped" 11 cm + 15 cm 26 cm since the last update. That's essentially 0.3 meters or 1 foot.

The same effect happens to projectiles when the user is firing. So the projectiles might be created

That's pretty bad. So you might be thinking "okay if everyone has 150 ms" then you'd expect a lot of corner kills as players quickly jump back since there's a possible 75 + 25 + 75 = 175 ms delay between when an enemy actually shoots and you see the update and you could already be taking damage. You'll also notice that this system rewards players with a high latency since it's essentially rewinding the simulation on the server to create bullets in the past and firing them.

So is this system flawed? Not really. There's a number of tricks. One of the biggest is assumed latency. If you know all your players are generally playing with over 50 ms latency you can play the simulation on the server in the past.

Another thing is to perform the input updates at the server-time without going back in time using the client's latency. This is nice because there's less perceived lag; however this hurts players with latency issues since they'll perform an action like "fire weapon" then it would occur in our problem 175 ms later and other players would only see a delay of their own latency / 2. This can be annoying for players that lag since it feels like their lagging. Players that don't lag wouldn't even notice if other players lag and would gain a slight advantage since their actions would be performed faster. (If that doesn't make sense. Imagine a user with 30 ms latency. It takes 15 ms to get to the server so they have a higher chance of inserting their packet and getting it processed in the newest server update while a player with 150 ms latency might see their input processed on the next update).

Someone else can do some other calculations, but that's one general approach. There are a lot of trade-offs which give either players with a high latency an advantage or players with a low latency an advantage. Ideally you want a system that is "fair". Like I said the "assumed latency" system does that by assuming a given latency for all players even if they don't have latency issues. It's generally the best system and doesn't have to use any client-side hit detection information. However it does make it slightly harder to get headshots when a player is quickly changing directions constantly unless there is inertia to smooth out the extrapolation.

You see with client-side the idea is to make everyone happy and hope that no one with a high latency exploits their advantage. That's a big assumption. One I don't feel SOE should make. I just hope they have skilled network programmers.
is it a FACT BF3's hit detection is CS or are people simply presuming because they're dying around corners?
EA said in the forums in one of the more heated debates (http://battlelog.battlefield.com/bf3/forum/threadview/2826551139123655506/1/) that it is indeed client-side.

SKYeXile
2011-10-07, 06:36 AM
On a low latency server that's highly unlikely. I assume you're imagining a case with high latency and the extrapolation client-side shows you in the safe while the event hasn't occurred yet on the server or propagated to the clients?

I never said anything about low latency. dying around corners to somebody with about 100 ping would be unnoticeable on CSHD or SSHP but if the shooter has a higher ping hack tells are insured.

lol they made it clinetside with 64? players...*facepalm*. they need some SOE programmers.

Hamma
2011-10-07, 10:21 AM
BF3's hit detection is atrocious. I constantly die and warp back 20 ft to where someone killed me. Not to mention taking cover and being killed well after I am behind it.

I am guessing (hoping) this has been fixed up in the final version we will play on the 25th.

Hamma
2011-10-07, 10:34 AM
Since I am the admin, I can derail threads. And I just cannot resist sharing this.. :rofl:

Battlefield 3 Beta : In Real Life - YouTube

Tigersmith
2011-10-07, 10:51 AM
Im guessing this game will be Clientside. Hoping for the best.

Bags
2011-10-07, 12:04 PM
BF3's hit detection is atrocious. I constantly die and warp back 20 ft to where someone killed me. Not to mention taking cover and being killed well after I am behind it.

I am guessing (hoping) this has been fixed up in the final version we will play on the 25th.

Never had this happen to me.

Rbstr
2011-10-07, 12:59 PM
I don't experience that either. I will occasionally get pegged right when I think I've gotten to cover, but never have I had a big warp.

Part of the issue is that you think you're behind a rock and you can still get hit...because you can shoot through rocks right now.

Crator
2011-10-07, 03:38 PM
Hamma, what kind of gfx card you got? I had same sorts of issues with my old card. Just got a new one (NVidia GTX 570) and it fixed all that stuff for me.

Graywolves
2011-10-07, 04:11 PM
Hamma that was hilarious

:rofl:

Traak
2011-10-08, 02:25 AM
I would have to play the game to know all the references, but I'm guessing, you can see above your actual height, your weapon doesn't have to seem to be pointing at the enemy to kill him.

Due to coding fractures and/or cheats.

Or could you explain it to me? Never played the game, but it was funny to watch.

Hamma
2011-10-08, 10:59 AM
Hamma, what kind of gfx card you got? I had same sorts of issues with my old card. Just got a new one (NVidia GTX 570) and it fixed all that stuff for me.

GTX580

These things are related to game bugs more than anything

SKYeXile
2011-10-08, 10:40 PM
Im guessing this game will be Clientside. Hoping for the best.

We can only hope.

PrISM
2011-10-09, 10:26 AM
Sweet. I can't wait to die to a ******** before he even rounds the corner.

2coolforu
2011-10-09, 12:14 PM
I just friggin hope its got better detection than the BF3 beta, some of the worst hit detection I've seen in a long time for a server hosted game. Although that could be because EA forces us to use shitty servers that give you 150ms ping on a 32 player bad company game =/

Bags
2011-10-09, 12:39 PM
Uh, I could easily find servers with 20 ping in the beta.

2coolforu
2011-10-09, 02:01 PM
It can use different protocols to determine server browser displayed ping that differ from the actual ping. I saw many servers that apparently had a 6-7ms ping to my PC but when I got into them RPG's took about half a second to appear.