오늘
내일 CH.4 발제와 개인과제 발제가 있기 때문에 미리 동영상 보며 정리를 시작하였음.
Unreal Engine 멀티플레이어 게임 개발 1-1
1-1. 채팅 프로젝트 생성1. 프로젝트 생성 UE5.5.4 기준 프로젝트 세팅 코드 선택 → Ctrl + . 누르기 → Create Declaration / Definition 선택하면 cpp 코드를 자동을 짜줌2. 새 레벨 만들기 Content Browser > Content
jh009.tistory.com
Unreal Engine 멀티플레이어 게임 개발 1-2
1-2. 서버의 종류와 데디케이티드 서버 P2P Server(Peer to Peer Server) 각각의 컴퓨터가 클라이언트이자 서버인 구조 (예시: 다크소울)Listen Server 클라이언트이자 서버인 방장(Host)이 있고, 나머지 참가자
jh009.tistory.com
Unreal Engine 멀티플레이어 게임 개발 1-3
1-3. 실습 환경 설정비쥬얼 스튜디오 단축키 Ctrl + T > 코드 서치 실습 환경 설정 설정 후 PIE PIE 후에 플레이 종료하면 뜨는 에러 메세지 기존 로직의 문제점 굳이 내 UI를 다른 사람이 볼 필요는 없
jh009.tistory.com
멀티플레이 관련 용어 정리
Client/Server구조
네트워크를 통해 역할을 나누어 서비스를 주고받는 방식.
클라이언트 : 서비스를 요청하는 사용자 측 시스템.
서버 : 요청을 받아 처리한 뒤 결과를 응답하는 시스템.
- 역할 분담으로 유지보수와 데이터 관리가 편함 / 확장성이 좋음.
- 서버에 문제 발생 시 서비스 중단이 될 수 있음.
Request/Response
클라이언트와 서버가 소통하는 통신 방식.
클라이언트의 요청을 서버가 처리해서 응답함.
Request : 클라이언트가 서버에게 먼저 요구.
Response : 서버가 요청을 받아 처리한뒤 클라이언트에게 결과를 돌려줌.
TCP/IP
인터넷에서 컴퓨터들이 서로 통신하기 위해 사용하는 프로토콜.
TCP(Transmission Control Protocol) : 데이터를 빠짐없이 순서대로 주고받도록 보장하는 역할.
IP : 데이터를 정확한 주소로 찾아가게 전달하는 역할.
클라이언트와 서버가 인터넷에서 정확한 주소로 데이터를 안전하게 주고받기 위해 사용하는 표준 통식 약속.
LAN
가깝거나 제한된 공간에서 컴퓨터와 장비를 서로 연결한 네트워크.
- 속도 빠름.
- 데이터 전송 비용이 저렴.
- 외부 인터넷과 분리된 내부 망 구성 가능.
예시: 공유기(와이파이) - 스마트폰, 노트북 등을 연결해서 사용.
동기화/비동기화
작업을 처리하는 시간적 방식의 차이.
동기화 :
- 요청을 보내고, 결과가 나올 때까지 기다리는 방식.
- 작업 진행 순서가 확실함.
- 기다리는 동안 다른 작업 불가능.
비동기화 :
- 요청을 보내고, 결과를 기다리지 않고, 결과가 오면 처리하는 방식.
- 자원을 효율적으로 사용가능.
- 처리가 복잡함.
언리얼 리플리케이션
멀티플레이어 게임에서 클라이언트와 서버 간의 게임 데이터를 동기화하는 시스템.
서버가 모든 데이터를 가지고 있고, 클라이언트에게 복제와 소통(RPC)하는 멀티플레이어 개발 핵심 시스템
- 서버 권한 : 게임 상태를 가지고 있는 곳은 서버뿐임.
- 변수 복제 : 서버의 변수 값(체력 증가, 탄창 감소 등) 변화를 클라이언트에게 자동으로 전송하여 동기화
- RPC(Remote Procedure Call) : 네트워크를 통해 다른 컴퓨터에 있는 함수를 실행하는 기능
- Server RPC : 클라이언트가 서버에게 실행을 요청하는 함수. (공격, 아이템 줍기)
- Client RPC : 서버가 특정 클라이언트에게만 명령하는 함수. (특정 플레이어 피격 효과)
- NetMulticast : 서버가 모든 클라이언트에게 동시에 실행을 지시하는 함수. (사운드 재생, 폭발 효과)
언리얼 오쏘리티
게임 데이터와 상태를 결정할 수 있는 권한을 가진 서버의 상태
오쏘리티 권한을 가지게 되면?
- 서버 : 캐릭터의 체력, 아이템 획득 등 결정은 서버가 내림.
- 클라이언트 : 서버가 보내주는 결과를 받아 화면에 출력할뿐임, 결과를 확정할 권한X
Autholity
언리얼 엔진 멀티플레이에서 "누가 게임 상태를 결정할 수 있는가?"를 나타내는 핵심 개념.
- 서버 = Authority (권한 있음) : 게임 데이터를 변경하고 결정할 수 있는 자격을 가짐.
- 클라이언트 = No Authority (권한 없음) : 서버의 결과를 보여주거나, 서버에게 허락을 구해야 함.
소켓
네트워크를 통해 컴퓨터끼리 데이터를 주고받을 수 있도록 연결해 주는 소프트웨어로 된 단자.
- 프로그램이 네트워크를 통해 데이터를 보내고 받을 수 있도록 인터페이스 역할을 함.
- IP 주소와 포트(Port) 번호를 조합하여 네트워크상에서 통신할 상대를 정확히 찾아냄.
네트워크
- 컴퓨터나 스마트폰 같은 디지털 기기들이 서로 연결되어 데이터와 정보를 주고받을 수 있는 통신망.
- 기기들이 서로 연결되면서 파일 공유, 메시지 전송, 인터넷 사용 가능하게 해줌.
- 기기들이 서로 정보를 주고받기 위해 연결된 연결 고리.
회고
내일 CH.4 발제와 개인과제 발제로 미리 예습을 해보았다.
동영상 강의 정리와 멀티플레이 관련 용어 정리도 하였다.
조금이라도 도움이 되었으면 해서 더 찾아보기도 했다.
네트워킹 개요도 읽어보면서 멀티플레이의 방식을 이해하려고 한다.
https://dev.epicgames.com/documentation/unreal-engine/networking-overview-for-unreal-engine?lang=ko
Networking Overview for Unreal Engine | Unreal Engine 5.8 Documentation | Epic Developer Community
Learn about networking in Unreal Engine including fundamental concepts and the available replication systems.
dev.epicgames.com
'본 캠프 TIL' 카테고리의 다른 글
| 26.07.29 TIL / UE 멀티플레이어 게임 개발 강의 정리, 팀플 과제 피드백 (0) | 2026.07.29 |
|---|---|
| 26.07.27 TIL / 프로젝트 브로셔 템플릿 작성 (0) | 2026.07.27 |
| 26.07.24 TIL / 팀플 슈터 게임 발표회 (0) | 2026.07.24 |
| 26.07.23 TIL / 팀플 슈터 게임 16일차 (0) | 2026.07.23 |
| 26.07.22 TIL / 팀플 슈터 게임 15일차 (0) | 2026.07.22 |