아무리 데디케이티드 서버를 써서

중앙 서버로 락스텝 크게 가져가며 하는게 아니라

플레이 하는 방 하나하나마다 서버를 배정한다 치더라도


우리가 지닌 기술의 한계상


1. 모든 플레이어는 자신의 핑 만큼 모든 행동에 '선딜레이'가 생긴다

당연함. 가장 중요한 연산은 서버가 하기때문에,

서버 전체의 값을 통일하려면 핑만큼 내 컴퓨터에서 보는 내 캐릭터의 반응속도노 늦춰야함


2. 모든 플레이어는 자신의 핑 만큼 서버 정보를 받는 '후딜레이'가 생긴다

이 또한 당연함. 서버에서 정보를 다같이 합산해서

자 이게 1m1s 395ms때의 정확한 정보값이야 하고 각각 컴퓨터에 뿌려주더라도

결국 그 정보가 나에게 오는데까지는 또 내 핑만큼의 시간이 걸림.


이 두 가지 때문에

내 행동이 즉각즉각 게임에 반영되지 않고,

상대의 이동이나 행동 정보는 나에게 언제나 느리게 적용되서 보임

이것만 해도 이미 액션성을 미친듯이 깎아먹는데

이게 끝이 아님



3. 모든 서버와의 정보공유는 정해진 락스텝 안에서 행해지기 때문에, 그 안에 일어난 행동들은 싹다 뭉개져서 적용됨


서버가 초당 33회의 정보를 공유하는 락스텝을 가지고 있는데

그 한번의 공유 안인 33ms사이에서

10ms타이밍에 상대방이 날 때렸고 25ms타이밍에 내가 상대방을 때렸다면

그냥 락스텝 안의 정보를 싹 뭉개서 적용해버려서

서로 죽어버리는 러브샷이 뜨게 하거나,

아니면 분명 나는 상대방을 쐈는데, 내 체감상 심지어 화면상으로도 분명 먼저쏜거같은데

서버상으로는 내가 늦게쐈다고 판정이 나서 내가 죽는

서든어택에서 피만 터지고 죽긴 내가죽는 그런 러브샷이 뜸


이런거 말고도

예측이동시스템을 사용하기때문에 사퍼처럼 초대형 위치렉은 안 생기지만 상대방이 탕탕 비정상적으로 튕기며 움직이는 고인물 무빙이 가능해지고

아무튼 액션겜에 적용하기엔 문제가 조난 많음



p2p방식은 그냥 모두가 다 각자 서버역할을 하기때문에

서로 값이 너무 튀어버려서 하나로 묶어야만 할 정도가 되기 전까지는

그냥 대충 값을 퉁쳐버릴 수 있음

그러다가 위치좌표값이 모두에게 너무 개차반으로 서로 튀어버리면

그제와서 가장 우선이 되는 정보값(대부분 그 캐릭터 플레이어의 정보값)으로 락스텝을 걸어버리니까

위치렉이 생기는거


만약 롤이나 총겜처럼

상대방이 고인물 무빙하면 내 화면에서 존나 팅팅거리고

핑만큼 모든행동에 딜레이생겨서 콤보 뭔가 답답하고 액션성 해치고

그 딜레이를 넘기고 내 화면에선 분명 내가 먼저 움직인거같은데

서로 같이 쳐맞거나 내가 쳐맞고 누워있고


이런 자잘하게 좆같은 억까들이

가끔터지는 위치렉이나 무적깨짐보다 더 게임성을 좋게 만들거라 생각들면 데디케이티드 주장하면됨.


던파 사퍼 같은 게임이 돈 아끼려고나

능력이 부족해서 p2p 꾸준히 유지하는거 아님

데이터 공유 방식을 변경해버리면

게임 플레이 감각이 그냥 너무 달라지니까 못 하는거지



장점이 없는 건 아니지

p2p는 인터넷상태가 안좋으면 이득보는경우가 많은데

데디케이티드는 인터넷상태가 좋으면 이득보는 일반적으로 납득가는 구조고

자잘한 억까라고 느껴지는것들은 사실 모두의 게임플레이는

서버 하나에서 묶여서 이루어지는거고

그 정보를 느리게 전달받으니까 억까로 '느껴지는'거지 실제로 억까인 건 아니긴 한데....


내 핑이 20이라면

내 행동은 20ms 뒤에 세상에 적용되고

내가 보는 세상은 20ms 전의 세상이다

부터가 좆같잖아...


일단 p2p는 내 행동은 즉시 적용되고

지금 보는 화면이 내 세상임

다만 내 세상과 남의 세상이 다를 때

서로 가지고있는 정보중 더 우위에 있는 정보가

나중에 내 세상의 값에 덮어씌워지는거 뿐이지

싱크는 맞춰야하니까