티스토리 뷰
면접 대비용으로 정리한 글 매우 두서 없이 보일 수 있음.
1. 락스텝이란?
: 군인들이 발맞춰 걸어가는 것. 신호에 맞춰서 똑같이 행동하는 것.
2. 구동 원리는 무엇인가?
: 하나의 플레이어가, 신호를 주면 모든 클라이언트가 동시에 update
: 이것을 함으로써 한 공간(씬)에 있는 플레이어들이 입력 신호만 주고 받음.
: 명령( 이동을 어디로 해라) , 시간( 언제 화면에 뿌려라) , 체크섬(게임 상태에 대한 해킹 방지용)을 보냄
* 시간에 대한 공식 - 현재시간 + RTT(왕복레이턴시) /2 + 상수(이걸로 조정, 너무 커도 , 작아도 안됨)
3. 장점
: 한 씬에 있는 많은 캐릭터가 적은 통신량으로 정확하게 동기화가 되어 보이게 가능
4. 단점
: 게임 중간에 들어오는 것에 대한 구현이 어려움.
: 플레이에 관여하는 연산에 부동 소수점 사용 불가(하드웨어 종류에 따라 연산 결과가 미묘하게 다름)
: 그래서 고정 소수점으로 개발해야함.
: 플레이어 수가 많아지기 어렵다.(이건 뭐 기획으로 커버 가능할 듯)
: 입력 속도에 예민한 게임에 부적합. 가령 롤처럼 목표 지점 찍어서 이동하는 방식에 적합. 서든 어택과 같이
예민한 것들에는 적용이 힘들다. (근데 내가 알기로 오버워치도 동기화 이걸로 했다고 하는데 의문이군...?)
추후에 읽어볼 포스팅
https://www.slideshare.net/mobile/sm9kr/multiplayer-game-sync-techniques-through-cap-theorem