한 플레이어가 호스트하고 다른 플레이어가 연결되는 네트워크 멀티 플레이어 게임을 설계 할 때 내가 알고있는 두 가지 전략이 있습니다.
- 호스트 플레이어의 게임이 권위가되게하고 , 다른 모든 플레이어는 멍청한 클라이언트로서 현재 게임 상태를 따라 잡으려고합니다. 코드에는 현재 플레이어가 호스트인지 아닌지에 따라 많은 특별한 경우가 있어야합니다.
- 다른 스레드에서 숨겨진 전용 서버를 실행 하여 호스트를 다른 모든 것처럼 벙어리 클라이언트로 만듭니다 . 전용 서버가 권한이되고 호스트는 로컬 호스트를 통해 다른 모든 사람과 마찬가지로 호스트에 연결됩니다.
이들 각각의 장단점은 무엇입니까? 어느 것이 가장 자주 사용됩니까 (또는 게임 유형 / 크기에 따라 다름)?
첫 번째로 설명하는 사례는 P2P 네트워킹의 한 형태 (권한있는 클라이언트 하나)와 일반적으로 훨씬 더 복잡하고 구현 및 유지 관리가 더 어려울 수 있습니다.
—
akaltar