< '언리얼엔진5/[Part3] 이득우의 언리얼 프로그래밍' 카테고리의 글 목록 (2 Page)

언리얼엔진5/[Part3] 이득우의 언리얼 프로그래밍 14

[이득우의 언리얼 프로그래밍 Part3 필기] 4. 액터의 역할과 커넥션 핸드셰이킹

서버와 클라이언트에 위치한 액터의 역할클라이언트 - 서버 모델에서는 항상 서버에 있는 액터만이 신뢰됨.이를 Authority(권위)를 가진다고 표현함.클라이언트의 액터는 대부분 서버 액터를 복제한 허상에 불과함.이러한 액터를 Proxy라고 표현함.   로컬 역할과 리모트 역할리슨서버의 경우 플레이어로서 게임에도 참여하므로, 어플리케이션의 게임 로직을 사용한다.어플리케이션의 게임 로직은 서버 액터에 대해서만 게임에 관련된 작업을 수행해야 한다.이를 구분하기 위해 현재 동작하는 어플리케이션에서의 역할을 로컬 역할(Local Role), 커넥션으로 연결된 어플리케이션에서의 역할을 리모트 역할(Remote Role)이라고 한다.    액터 역할의 종류None : 액터가 존재하지 않음.Authority : 서비스..

[이득우의 언리얼 프로그래밍 Part3 필기] 3. 커넥션과 오너십

액터의 준비와 게임의 시작   PostInitializeComponents 는 게임과 무관한 액터 설정의 초기화 함수이다. 따라서 네트워크 접속 클라이언트를 위해 PostNetInit 함수를 제공한다. PostNetInit 은 원격 클라이언트에서 호출되는데 서버에서 변경된 내용, 속성, 다양한 값들을 모두 전달받아 액터 세팅이 모두 마무리 될 때 호출된다.  하이레벨 게임을 구성하는 단위인 액터, 컴포넌트 , 월드 등 이 콘텐츠를 구성하는 오브젝트의 상태와 속성에 관련된 상위 개념  로우레벨 위 같은 상태와 속성을 네트웤을 통해 전달하기 위해 만들어진 데이터 스트림  네트웍 통신을 담당하는 주요 클래스   PlayerController : 네트워크 커넥션을 관리하는 콘텐츠를 대표하는 액터 UNetConn..

[이득우의 언리얼 프로그래밍 Part3 필기] 2. 게임 모드와 로그인

Standalone네트워크 연결 X , 모든 플레이어가 로컬 플레이어.멀티플레이어를 고려하지 않고 막 짜면 멀티플레이어 전환 시 코드 사용 불가하다. Client서버 측 로직을 실행 않고 서버에게 받은 콘텐츠를 보여주는 프록시 Listen Server게임이 서버의 역할을 가지고 있음로컬 플레이어를 서버에 직접 배치 Dedicated Server원격 클라이언트의 연결을 허용하지만 로컬 플레이어가 없음MMORPG 등에 사용신뢰할 수 있는 고성능 서버가 필요한 게임에 사용  리슨 서버의 게임 서비스 게임 서비스 준비스탠드얼론 게임 시작 -> 게임모드 생성 -> 플레이어 컨트롤러 0 생성 게임 서비스 시작리슨서버로 게임 서비스 시작 -> 로비 생성 등등 ..

[이득우의 언리얼 프로그래밍 Part3 필기] 1. 언리얼 네트웍 멀티플레이어 프레임워크 개요

멀티플레이어와 싱글플레이어 게임은 호환 가능하다 멀티를 만든다면 처음부터 고려를 해야 한다.    클라이언트 - 서버 모델 클라이언트는 서버의 정보를 복제해서 서버에 띄워주기만 하는 역할  서버는 게임 데이터에 대한 정보를 클라이언트에 복제해서 보낸다. 서버는 클라이언트의 정보를 그대로 복사해서 가지고 있고,   플레이어1 총알 발사 -> 서버로 총알 발사 명령 보냄 -> 서버에서도 총알이 날라감-> 플레이어2 에게 명중(서버) -> 서버가 명중 명령을 모든 클라이언트에게 보냄  식으로 진행된다. 필수 게임 플레이의 상호작용 / 정보 등을 구분해서 전송한다.모든 정보를 다 전송하면 대역폭 제한 때문에 게임플레이에 영향을 미칠 수 있다.  블루프린트 대신 C++ 을 사용하는 이유