1. 온라인 게임의 통신 방식

  1. 동기 방식: 통신할 단말 사이에 데이터를 주고 받아 각 단말의 처리결과가 완전히 일치하는 통신 방식
    1. 턴 동기: 턴 방식 게임에서 턴 플레이어의 행동을 상대에게 보내고 그 정보를 바탕으로 처리
    2. 키 입력 동기: 컨트롤의 입력 정보를 서로 전송하여 같은 프레임의 데이터를 처리하여 단말을 같은 상태로 동기화
  2. 비동기 방식: 최서 정보만으로 각 단말의 상태를 일치시키는 방식
    1. 장점: 멈추는 일 없이 게임을 할 수 있음
    2. 단점: 단말간의 처리가 완전히 일치하지 않음 → 단말끼리 동기해야 할 물건이나 이벤트 상태를 일치시켜 일관성을 유지

2. 온라인 게임에서 고려해야 할 통신의 제약

  1. 통신 지연: 지연은 항상 발생하며, 우저가 지연을 체감할 수 없게 게임을 디자인해야 함
  2. 데이터 소실
  3. 회선 끊김: 남은 플레이어로 게임을 계속할지 끊어진 플레이어의 게임 결과를 어떻게 해야할지 등을 고민해야 함

3. 데이터의 흐름을 시간축으로 그려보자

단말기 간 데이터 송수신의 지연 현상 원인은 송신에 걸리는 시간과 수신한 데이터를 처리하는게 원인이 된다.

이때 아래와 같이 시간축을 그려 생각하면, 필요한 정보를 파악하기 용이하다.

image-20220717162114804

4.범용적으로 사용한 용어 정리

  • 단말: 네트워크에 연결된 컴퓨터와 게임기, 휴대전화와 템플릿 단말 등 게임을 플레이하는 기기
  • 플레이어: 단말로 플레이하는 사람
  • 캐릭터: 플레이어가 조종하는 캐릭터
  • 로컬 단말: 자신이 플레이하는 단말
  • 리모트 단말: 통신 상대의 단말
  • 로컬 캐릭터: 로컬 단말에서 조종하는 자신의 캐릭터
  • 리모트 캐릭터: 리모트 단말에서 통신 상대방이 조종하는 로컬 단말의 캐릭터
  • 게임 서버: 게임 플레이 중에 단말과 접속해서 게임 데이터를 일원적으로 관리하거나 호스트와 게스트의 데이터를 중계하는 서버
  • 게임 클라이언트: 게임 서버와 통신해서 게임을 플레이하는 단말

5. 데이터 전달 방식

image-20220717164322448

댓글남기기