레트로의 유니티6 : 네트워크 이론

댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.

댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요.
네트워크 용어 정리
서버 : 서비스를 제공하는 컴퓨터
클라이언트 : 서버에 접속하여 서비스를 제공받는 컴퓨터(단말기), 프로그램 또는 사용자
호스트(클라이언트 호스트) : 서버로서 서비스를 제공하면서 동시에 자신도 클라이언트로서 게임에 참가하는 컴퓨터
로컬 사용자 : 현재 컴퓨터/프로그램과 같은 장소에 있는 사용자
리모트 사용자 : 현재 프로그램을 네트워크를 통해 다른 장소에서 접속한 사용자
로컬 클라이언트 : 실행 중인 프로그램과 같은 위치에 있는 클라이언트
리모트 클라이언트 : 실행 중인 프로그램에 원격으로 접속한 클라이언트
플레이어 오브젝트 : 각 플레이어의 아바타(분신)로서 게임에 존재하는 게임 오브젝트
네트워크 게임 이해하기
4인 멀티플레이어 게임에서 플레이어 캐릭터는 총 16명이다.

여기서 아래 둘은 다른 게임 오브젝트다.
클라이언트 A의 플레이어 캐릭터 a
클라이언트 B의 플레이어 캐릭터 a
클라이언트 A와 클라이언트 B의 캐릭터 a에게 동일한 네트워크 ID를 부여하여 동기화하고, 다른 클라이언트에서도 동일하게 움직일 수 있도록 한다.
로컬과 리모트
로컬 소유 오브젝트 : 소유권이 자신(로컬 클라이언트)에게 있음
리모트 소유 오브젝트 : 소유권이 네트워크 너머의 타인(리모트 클라이언트)에게 있음

동기화

클라이언트 A에서 본인 소유 로컬 캐릭터 a를 움직이면, 다른 클라이언트에 a 캐릭터가 움직였다는 변경사항을 전달한다.
네트워크 권한 분리
중요한 연산은 모두 서버(호스트)에 위임
※ 중요한 연산이란? -> 게임 승패와 직접 관련된 기능
중요한 연산을 서버에 위임하는 이유는 대표적으로 두 가지임.


RPC
호스트에 처리를 위임하고, 호스트가 처리 결과를 클라이언트에 전파하려면 RPC(Remote Procedure Call, 원격 프로시저 호출)를 구현해야함.
RPC는 특별한 처리 없이도 다른 컴퓨터에 있는 함수를 호출할 수 있는 기술임.

Develog는 단순히 글을 쓰는 공간이 아닙니다. 성장의 과정을 기록하고, 그 기록으로 나를 증명하며 원하는 기회를 얻는 곳이길 바랐습니다. 누군가의 꿈으로 향하는 중간다리가 되는 것, 그것이 Develog를 만든 이유입니다.

우리들의 게임 발매 이야기

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.
Develog는 단순히 글을 쓰는 공간이 아닙니다. 성장의 과정을 기록하고, 그 기록으로 나를 증명하며 원하는 기회를 얻는 곳이길 바랐습니다. 누군가의 꿈으로 향하는 중간다리가 되는 것, 그것이 Develog를 만든 이유입니다.



안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.