더북(TheBook)

1.2.5 고스트 관리자

고스트 관리자(ghost manager)야말로 128인 멀티플레이를 실현하는 데 있어 가장 중요한 시스템이라 하겠다. 상위 수준에서 고스트 관리자가 하는 일은 바로 특정 클라이언트에게 유의미하다고 여겨지는 동적 객체를 복제 혹은 ‘고스트’ 사본을 만드는 것이다. 무슨 뜻이냐면 클라이언트가 서버에서 받아둔 여러 객체 정보를 일컬어 클라이언트상 서버 객체의 ‘고스트’라 칭하는데, 이 고스트를 전송 또는 수신하는 것이 고스트 관리자의 역할이다. 클라이언트에 객체 정보를 보낼 때 고스트 관리자는 그 클라이언트에 딱 필요한 정보만 걸러서 보낸다. 클라이언트가 어떤 내용을 ‘반드시 파악’하고 있어야 하는지, 그리고 어떤 내용을 ‘알아 두어야’ 할지는 게임의 시뮬레이션 계층이 책임지고 판단한다. 이에 따라 게임 객체에 고유한 우선순위가 부여되는데, ‘반드시 파악’해야 하는 객체는 높은 우선순위로, ‘알아 두어야’하는 정도라면 후순위로 부여된다. 어떤 객체가 클라이언트의 인지 범위에 포함되는지, 즉 스코프(scope)에 포함되는지 여부를 판정하는 데는 몇 가지 서로 다른 접근 방법이 있다. 9장 규모 확장에 대응하기에서 이들 방법에 대해 다루지만, 대체로 판정법은 게임마다 매우 상이한 편이다.

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