네트워크 게임 - 기초 이론

sookyeong·2022년 3월 30일
0

네트워크 게임 - 기초 이론


1. 4인 멀티 게임에 플레이어는 몇명 존재할까?

답은 16명이다.

모든 플레이어의 게임 세상에 각각 4인의 플레이어가 존재하기 때문이다.


2. 로컬 플레이어와 리모트 플레이어

A 입장 : A(로컬), B(리모트), C(리모트), D(리모트)

B 입장 : A(리모트), B(로컬), C(리모트), D(리모트)

C 입장 : A(리모트), B(리모트), C(로컬), D(리모트)

D 입장 : A(리모트), B(리모트), C(리모트), D(로컬)


3. 리모트 플레이어는 레플리카다

B, C, D 세상에 존재하는 리모트 A는,

A 세상에 존재하는 진짜 A의 레플리카일 뿐이다.

따라서 진짜 A의 동작에 동기화되어 움직인다.

  • 각 세상의 A들은 완전히 다른 오브젝트이므로, 진짜 A와 연결이 끊기면 서로 다른 동작을 취한다.


4. Server - Client 방식을 게임에 적용하는 방법

[1] Play as Host (P2P)

서버 부담을 덜기 위해 플레이어 중 한 명을 호스트이자 서버로 지정하여 다른 플레이어들이 참가하도록 한다.

이때, 핵을 방지하기 위해 클라이언트를 신뢰하지 않는 방식으로 개발한다.

ex) A가 동작을 원할 시, A가 직접 B, C의 A 레플리카를 동기화시킬 수 없고, 방장인 C에게 A를 대신 움직여달라고 부탁해야한다. 즉, 클라이언트는 어떤 처리를 하려는 척만하고, 실제 물리/충돌 처리 및 동기화는 방장이 맡게 된다.

서버에서 일어나지 않은 일은 애초에 없었던 일이 된다.

따라서 패킷 손실로 인해 서버에 전달되지 않은 정보는 그냥 씹힌다고 보면 된다. (씹힐 확률 : 1초 2발 < 1초 10발)

또한 모든 정보를 동기화하는 것은 아니다. (애니메이션 등)

[2] Dedicated Server

플레이어로 게임에 참가하지 않고 고정된 서버로서 100% 모든 자원을 게임을 돌리는 데 사용한다.

Play as Host 방식에 비해 네트워크 품질이 좋다. (P2P 방식은 방장의 컴퓨터 환경에 의존하기 때문에 매 회 랜덤이다.)

profile
actions speak louder than words

0개의 댓글