Make Unreal REAL.
article thumbnail
C++로 멀티 플레이 테스트하는 방법

Unreal Engine 5 C++ Multiplayer Shooter 3인칭 기본 템플릿에 포함된 캐릭터 클래스에 리슨 서버를 여는 함수와 접속하는 함수를 구현한다. OpenLobby() 함수는 Lobby 레벨을 Listen 서버로 연다. UWorld::ServerTravel() 함수를 실행하면 서버가 해당 레벨로 점프하게 된다. 레벨의 경로인 URL 뒤에 listem 파라미터를 붙여 주면 Listen 서버로 레벨을 열게 된다. 서버에 접속하는 함수는 2가지 버전으로 만들었다. UGameplayStatics::OpenLevel() 함수에 IP 주소를 전달하면 IP 주소에 해당하는 서버의 레벨로 접속을 시도한다. APlayerController::ClientTravel() 함수에 IP 주소를 전달해도 동..

article thumbnail
블루프린트로 멀티 플레이 테스트하는 방법

Unreal Engine 5 C++ Multiplayer Shooter 하나의 로컬 머신에서 테스트하지 않고, LAN으로 연결된 다른 리모트 머신들 간에도 IP 주소를 알고 있다면 테스트해 볼 수 있다. 블루프린트에 간단하게 구현해본다. 10.0.0.151 IP를 가진 컴퓨터는 1번 키를 누른다. Open Level 노드의 Options에 listen 문자열을 전달하면, Listen 서버로 레벨을 열게 된다. 나머지 플레이어들은 2번 키를 눌러 1번 컴퓨터의 리슨 서버를 통해 레벨에 접속한다. Execute Console Command 옵션은 언리얼 콘솔 명령을 실행하는 노드이다. Open 10.0.0.151은 해당 IP의 리슨 서버에 접속을 시도한다. 서로 다른 컴퓨터에서 실행 중인 플레이어들이 리슨 ..

article thumbnail
에디터에서 멀티 플레이 테스트하는 방법

Unreal Engine 5 C++ Multiplayer Shooter Play 메뉴 우측의 점 3개를 클릭하면 테스트 환경을 설정할 수 있다. MULTIPLAYER OPTIONS에서는 멀티 플레이 테스트 환경을 설정할 수 있다. Number of Players: 플레이에 참가하는 플레이어 수이고 설정한 만큼 윈도우가 켜진다. Net Mode: Play Standalone: Dedicated(전용) 서버를 켜지 않고 싱글 플레이로 실행한다. Play As Listen Server: 에디터는 리슨 서버이자 클라이언트로서 게임에 참가하게 되며 나머지 플레이어는 클라이언트로서 참가하게 된다. Play As Client: 에디터와 플레이어들은 모두 클라이언트로서 참가하고 에디터는 백그라운드에서 Dedicated..

article thumbnail
P2P와 클라이언트-서버 모델

Unreal Engine 5 C++ Multiplayer Shooter 멀티 플레이어 모델에는 P2P(Peer-to-peer) 모델과 클라이언트-서버(Client-Server) 모델이 있다. Replication(복제) 멀티 플레이어 환경에서 누군가의 상태를 모든 다른 컴퓨터에 적용하는 Broadcast를 특별히 Replication이라고 한다. P2P 각 플레이어(어플리케이션)가 자신의 상태 변경이 발생하면 나머지 플레이어들에게 Replicate하는 방식으로 동작한다. 구현이 간단하지만, 이용자 수가 늘어날수록 네트워크 부하가 늘어난다. 모든 플레이어에게 인정 받는 대표성 있는 게임의 상태가 존재하지 않는다. 클라이언트-서버 모델 게임의 진행을 위한 하나의 서버가 존재하며, 각 클라이언트는 서버와만 통..

검색 태그