상세정보
언리얼 엔진 5로 개발하는 멀티플레이어 게임
- 저자
- 마르코 세치 저/이지성,송정은 공역
- 출판사
- 에이콘출판사
- 출판일
- 2025-03-07
- 등록일
- 2025-07-14
- 파일포맷
- PDF
- 파일크기
- 61MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
언리얼 엔진 5를 사용해서 멀티플레이어 게임을 개발하려는 초중급 개발자를 대상으로 한 책이다. 네트워킹의 기초부터 시작해 복제, RPC, 연관성, AI 시스템, 세션 관리 등 중요 개념을 배울 뿐만 아니라 네트워크 디버깅과 프로파일러를 활용한 최적화 방법도 살펴본다. 후반부에서는 언리얼 엔진 컴파일, 전용 서버 설정, 에픽 온라인 서비스와 같은 고급 주제도 다룬다.
저자소개
이탈리아 밀라노에서 게임 프로그래밍 강사로 열정적으로 일하고 있다. 이전에는 게임과 애플리케이션 개발을 하는 프리랜서 프로그래머였으며, 현재는 누오바 아까데미아 디 벨레 아르띠(NABA, Nuova Accademia di Belle Arti)의 강사이자 수석 게임 고문이다. NABA의 연구 개발 부서에서 프로그래밍 실력을 갈고 닦으며 게임 개발 및 문화 유산과 관련된 개인 프로젝트에도 참여하고 있다.
목차
1장. 멀티플레이어 게임 개발 시작 __기술적인 요구 사항____사전 지식____하드웨어 사양____소프트웨어 사양__멀티플레이어 게임 소개____비디오 게임 분야의 네트워크 프로그래머 되기__멀티플레이어 게임 카테고리 이해____1인칭 슈팅____3인칭 슈팅____실시간 전략____대규모 멀티플레이어 온라인 롤플레잉 게임____멀티 유저 던전____멀티플레이어 온라인 배틀 아레나__게임플레이 변형 요소 검토____비대칭 게임플레이____숨바꼭질 게임플레이____비동기 게임플레이__멀티플레이어 기술은 게임에만 사용되는가?____시네마토그래피____건축____교육____언리얼의 콜라보 뷰어 템플릿__요약2장. 네트워킹의 기초 __기술적인 요구 사항__컴퓨터 네트워킹이란 무엇인가?__컴퓨터 네트워크의 종류____근거리 통신망____원거리 통신망____가상 사설망__네트워크 프로토콜 소개____패킷 교환____TCP/IP 스위트__네트워크 문제 이해____보안____패킷 손실____지연 시간__언리얼 엔진 멀티플레이어 시스템 소개____네트워크 모드와 서버 유형____복제 시스템____네트워크 역할____폰과 플레이어 컨트롤러____연관성과 우선순위____원격 프로시저 호출__요약__크레디트3장. 프로젝트 프로토타입으로 멀티플레이어 시스템 테스트 __기술적인 요구 사항__멀티플레이어 게임 프로토타입 생성____템플릿에서 프로젝트 설정____퀵셀 메가스캔 추가____플레이어 컨트롤러 수정__로컬에서 멀티플레이어 게임 테스트____리슨 서버로 플레이____네트워크를 통한 업데이트____추가적인 캐릭터 스폰 지점 추가__네트워크를 통한 프로퍼티 업데이트____픽업 아이템의 블루프린트 생성____변형된 픽업 아이템 추가____캐릭터에 포인트 계산 추가__네트워크를 통한 함수 실행____액터 스폰____캐릭터 스킨 변경____게임 테스트__요약2부 ― 언리얼 엔진의 네트워킹과 멀티플레이어 게임4장. 첫 번째 멀티플레이어 환경 설정 __기술적인 요구 사항__『Unreal Shadows - 리치 왕의 유산』 소개____프로젝트 개요 설명____프로젝트 시작__언리얼 엔진의 C++ 이해____블루프린트와 C++____C++ 클래스의 이해____언리얼 엔진 C++ 헤더 분석____언리얼 엔진 리플렉션 시스템____메모리 관리와 가비지 컬렉션__언리얼 멀티플레이어 프로젝트 시작____프로젝트 파일 생성____프로젝트 게임 인스턴스 생성____게임 모드와 게임 스테이트 생성__플레이어 클래스 추가____소스 코드 컴파일____캐릭터 블루프린트 클래스 생성____게임 모드에 플레이어 클래스 추가__요약5장. 멀티플레이어 환경에서 액터 관리 __기술적인 요구 사항__캐릭터 설정____캐릭터에 기본 설정 추가____캐릭터에 상호작용 추가____향상된 입력 모듈 가져오기____캐릭터에 사용자 상호작용 추가____캐릭터의 이동 테스트__액터의 연결 제어__액터 연관성 이해____연관성 이해____연관성 테스트____연관성 설정 테스트__권한 소개____액터의 롤과 원격 롤 프로퍼티를 사용해 권한 제어____자율 및 시뮬레이티드 프록시__요약6장. 네트워크를 통한 프로퍼티 복제 __기술적인 요구 사항__캐릭터 스탯 추가____스탯 구조체 생성____스탯 데이터 테이블 생성____캐릭터에서 데이터 테이블 읽기____캐릭터에 데이터 테이블 추가__프로퍼티 복제 이해____프로퍼티 복제 활성화____네트워크를 통한 액터 및 컴포넌트 참조__캐릭터 레벨업 처리하기____계획 세우기____PlayerState 프로퍼티와 멤버 함수 선언____PlayerState 로직 구현____레벨에 코인 아이템 추가__게임에 HUD 추가하기____위젯 블루프린트 생성____위젯 블루프린트에 코드 로직 추가____캐릭터에 HUD 추가하기____게임 테스트__요약7장. 원격 프로시저 호출 사용 __기술적인 요구 사항__RPC 이해____RPC의 신뢰성____RPC 인증__네트워크를 통해 RPC 실행____서버에서 함수 호출__도어 시스템 구현____상호작용 가능한 인터페이스 생성____상호작용 액션 구현____도어 블루프린트 생성____상호작용 액션 테스트하기__요약3부 ― 게임 개선8장. 멀티플레이어 환경에 AI 도입 __기술적인 요구 사항__AI 시스템 설정__AI 적 생성____내비게이션 모듈 추가____미니언 클래스 생성____미니언의 행동 구현__레벨에 적 추가____스포너 클래스 생성____스포너 로직 구현____스포너 테스트__요약9장. AI 행동 확장 __기술적인 요구 사항__AI 적을 더 어렵게 만들기____소음 만들기____청각 활성화하기____청각 테스트하기__경보 시스템 구현____게임 모드 함수 선언____AI가 경보 메시지 보내기__AI에 체력 추가__캐릭터에 무기 시스템 추가____단검 투사체 생성____무기 컴포넌트 구현____캐릭터에 WeaponProjectile 컴포넌트 연결____무기를 위한 입력 시스템 추가____무기 시스템 테스트__AI 변형 생성____AI 경계병 생성____AI 중간 보스 생성____미니언 스포너 업데이트__요약10장. 플레이어 경험 향상시키기 __기술적인 요구 사항__캐릭터 애니메이션____애니메이션 에셋 생성____캐릭터에 애니메이션 시스템 추가____던지기 애니메이션 추가__NPC 액터 추가____NPC 캐릭터 생성____NPC 액터 테스트__게임의 추가 개선____소음을 내보자!____열쇠가 필요해!____영웅들이여, 무기를 강화하자!____플레이어는 기관총이 아니다____지체할 시간이 없다____데이터 테이블의 다양한 활용____도움이 필요한가?__요약11장. 멀티플레이어 게임 디버깅 __기술적인 요구 사항__네트워크 디버깅 소개____게임 디버깅 설명____멀티플레이어 옵션 소개____네트워크 환경에서 로깅____LogNet 카테고리 필터링하기____사용자 정의 로그 카테고리 생성__네트워크 환경 에뮬레이션____네트워크 에뮬레이션 활성화____네트워크 에뮬레이션으로 게임 테스트__네트워크 프로파일러 사용____프로파일링 세션 기록하기____프로파일링 세션 분석하기__성능 및 대역폭 사용 개선____필요할 때만 복제 활성화하기____불필요하거나 중요하지 않은 RPC 호출 피하기____신뢰할 수 있는 RPC와 신뢰할 수 없는 RPC 구분하기____데이터 검증하기____게임 모드는 서버에만 존재한다____RPC에 대한 네이밍 규칙 사용하기__요약4부 ― 온라인에 게임 배포12장. 멀티플레이어 세션 관리 __기술적인 요구 사항__게임 세션 이해____온라인 서브시스템 소개____세션 명령 이해____연결 오류 이해하기__프로젝트 게임 세션 준비__세션 생성____시각적 요소 추가____비주얼 스크립팅 로직 구현__세션 참가____SessionItemRenderer 위젯 생성____FindSessions 위젯 생성____Main Menu 위젯 생성__요약13장. 세션 중 데이터 처리 __기술적인 요구 사항__메인 메뉴 레벨 생성____폰 생성____게임 모드 생성____레벨 생성____세션 시스템 테스트__세션 중 데이터 처리____US_GameInstance 클래스 업데이트____캐릭터 스킨 데이터 추가____US_MainMenuPawn 클래스 업데이트____BP_MainMenuPawn 블루프린트 업데이트____US_Character 클래스 업데이트____BP_Character 블루프린트 업데이트__추가 개선 작업____세션 나가기 및 소멸____플레이어 사망 처리____플레이어 스킨 선택__요약14장. 멀티플레이어 게임 배포 __기술적인 요구 사항__온라인 환경 준비__언리얼 엔진 컴파일____언리얼 엔진 소스 프로젝트 다운로드____소스 코드에서 컴파일하기__전용 서버 설정____프로젝트 생성____프로젝트 솔루션 빌드____전용 서버 빌드____프로젝트 테스트__요약15장. 에픽 온라인 서비스 추가 __기술적인 요구 사항__EOS 소개__데브 포털 접근하기____에픽게임즈 데브 포털 접근하기____제품 생성____제품 서비스 구성__EOS SDK 시작하기____EOS SDK 다운로드____게임에 시스템 통합하기__요약한국어판 부록