더북(TheBook)

어떤 방식으로든 유의미한 객체 집합을 일단 계산하고 난 다음에 고스트 관리자가 하는 일은 서버에서 클라이언트로 가능한 많은 객체 상태를 전송하는 것이다. 모든 클라이언트가 가장 최신의 상태로 업데이트되어 있게끔 보장하는 것은 고스트 매니저의 중요한 책무이다. 고스트의 최신 상태가 왜 중요하냐면 클라이언트가 내려받은 서버 객체에 대한 ‘고스트’에는 체력, 무기, 탄환 개수 등 그 정보가 최신이 아니면 쓸모없는 종류의 데이터가 포함되기 때문이다.

어떤 객체가 스코프에 포함되면(또는 ‘연관성(relevancy)이 생기면’), 고스트 관리자는 고스트 레코드라는 그럴싸한 이름의 부가 정보를 객체에 할당하는데, 이는 고유 ID, 상태 마스크, 우선순위, 상태 변경 여부(객체가 스코프에 진입/이탈하였는지 여부) 등 항목으로 구성된다.

고스트 레코드의 전송 순서는 일차로 객체의 상태가 변경된 것 먼저, 그다음으로 레코드 자체의 우선순위에 따른다. 객체의 전송 여부가 결정되면 이들 데이터를 내보낼 패킷에 추가하는데, 그 방식은 대체로 5장 객체 리플리케이션에서 다룰 방법과 유사하다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.