이미 소장하고 있다면 판매해 보세요.
|
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 다운로드 ____게임에 시스템 통합하기 __요약 한국어판 부록 |
Marco Secchi
마르코 세치의 다른 상품
이지성의 다른 상품
송정은의 다른 상품
|
◈ 이 책에서 다루는 내용 ◈
◆ 멀티플레이어 게임 개발에 필요한 기본 지식 ◆ 네트워크 레벨의 주요 요소 이해 ◆ 복제, RPC, 연관성, 역할과 같은 언리얼 멀티플레이어 기능 탐구 ◆ 게임 성능 향상을 위한 코드 디버깅 및 최적화 ◆ LAN 또는 온라인 플랫폼에서의 게임 배포 ◆ 에픽 온라인 서비스를 사용한 플레이어 경험 향상 ◈ 이 책의 대상 독자 ◈ 비디오 게임 네트워킹 시스템에 대한 지식이 부족한 게임 프로그래머, 특히 언리얼 엔진 개발자가 이 주제를 깊이 탐구하고 싶다면 이 책이 도움이 될 것이다. 다른 게임 엔진에 능숙하면서 언리얼 멀티플레이어 시스템의 원리를 이해하고자 하는 개발자들도 이 책에서 많은 도움을 받을 수 있다. 그러나 언리얼 엔진과 C++에 대한 기본적인 지식은 꼭 필요하다. ◈ 이 책의 구성 ◈ 1장, ‘멀티플레이어 게임 개발 시작’에서는 멀티플레이어 게임 개발의 세계를 개발자 관점에서 친절하게 소개한다. 2장, ‘네트워킹의 기초’에서는 언리얼 엔진에서 멀티플레이어 개발을 시작하기 위한 네트워크 프로그래밍의 기본 개념을 탐구한다. 3장, ‘프로젝트 프로토타입으로 멀티플레이어 시스템 테스트’에서는 프로젝트 템플릿 설정을 시작으로, 기본적인 멀티플레이어 기능을 테스트할 수 있는 간단한 멀티플레이어 프로토타입을 만드는 과정을 안내한다. 4장, ‘첫 번째 멀티플레이어 환경 설정’에서는 언리얼 엔진에서 멀티플레이어 C++ 프로젝트를 개발하기 위한 기초를 다진다. 5장, ‘멀티플레이어 환경에서 액터 관리’에서는 멀티플레이어 캐릭터를 생성하고, 이 캐릭터를 멀티플레이어 환경에서 다루는 기본적인 방법을 배운다. 6장, ‘네트워크를 통한 프로퍼티 복제’에서는 멀티플레이어 환경에서 프로퍼티를 처리하고 클라이언트 간에 동기화하는 방법을 알아본다. 7장, ‘원격 프로시저 호출 사용’에서는 서버에서 클라이언트로 또는 클라이언트에서 서버로, 네트워크 환경에서 함수를 호출하는 방법을 살펴본다. 8장, ‘멀티플레이어 환경에 AI 도입’에서는 적 캐릭터를 만들고 간단한 AI를 추가해 멀티플레이어 시스템에서 작동하도록 한다. 9장, ‘AI 행동 확장’에서는 AI에 더 많은 기능을 추가해 게임을 더욱 몰입감 있게 만든다. 10장, ‘플레이어 경험 향상시키기’에서는 애니메이션과 NPC 같은 더 많은 기능을 게임에 추가한다. 11장, ‘멀티플레이어 게임 디버깅’에서는 네트워크 게임을 디버깅하고 프로파일링하는 기본 원리를 배운다. 12장, ‘멀티플레이어 세션 관리’에서는 게임 세션과 그 특성을 소개한다. 13장, ‘세션 중 데이터 처리’에서는 멀티플레이어 세션 중 데이터를 처리하는 방법을 알아본다. 14장, ‘멀티플레이어 게임 배포’에서는 멀티플레이어 게임을 위한 전용 서버를 빌드하는 기본 사항을 살펴본다. 15장, ‘에픽 온라인 서비스 추가’에서는 에픽게임즈 데브 포털(Epic Games Developer Portal)을 소개하고, 가장 몰입감 있는 온라인 경험을 제공할 수 있도록 설계된 강력한 서비스 모음인 에픽 온라인 서비스(Epic Online Services)를 전반적으로 다룬다. ◈ 지은이의 말 ◈ 멀티플레이어 게임(multiplayer game)이 등장한 후 게임 산업에는 혁신의 바람이 불었고, 플레이어들은 새로운 방식의 게임을 경험하게 됐다. 즉, 전통적인 싱글플레이어 게임(single-player game)과 달리, 멀티플레이어 게임은 플레이어들이 실시간으로 상호작용할 수 있는 역동적이고 다채로운 소통의 장을 제공했다. 최근 몇 년간 기술의 발전으로 멀티플레이어 게임은 그 어느 때보다 접근하기 쉬워졌다. 그결과, 멀티플레이어 게임은 전 세계에서 수백만 명의 플레이어가 매일 다양한 플랫폼에서 즐기는, 가장 인기 있는 장르 중 하나로 자리 잡았다. 언리얼 엔진(UE, Unreal Engine)과 같은 게임 엔진은 게임 개발자들 사이에서 점점 더 인기를 끌고 있다. 크로스 플랫폼 멀티플레이어 지원과 고급 지연 보상 기술 등의 고품질 멀티플레이어 경험을 지원하기 위해 특별히 설계된 다양한 도구와 기능을 제공하기 때문이다. 또한 언리얼 엔진은 대규모의 활발한 게임 개발자 커뮤니티가 있어 지원, 리소스와 협업 및 네트워킹의 기회를 제공한다. 따라서 네트워크 게임 개발에 관심이 있다면, 사용하지 않을 이유가 없다! ◈ 옮긴이의 말 ◈ 게임 산업이 급속도로 성장하고 있는 오늘날, 멀티플레이어 게임의 중요성은 그 어느 때보다 커지고 있습니다. 전 세계의 플레이어들이 함께 즐기는 온라인 경험은 이제 게임의 필수 요소가 됐습니다. 이런 흐름 속에서 멀티플레이어 게임 개발에 최적화된 언리얼 엔진 5는 뛰어난 그래픽 성능과 강력한 네트워킹 기능을 갖고 있습니다. 이 책은 언리얼 엔진 5를 사용해 멀티플레이어 게임을 개발하려는 초중급 개발자를 위한 것입니다. 또한 현재 국내에 소개된 언리얼 엔진 5 서적 중에는 멀티플레이어 게임 개발을 집중적으로 다룬 책이 거의 없기 때문에 해당 내용을 학습하고자 할 때 이 책이 많은 도움이 될 것입니다. 하지만 언리얼 엔진을 처음 접하는 입문자라면 다소 어려울 수 있으므로, 먼저 언리얼 엔진의 블루프린트와 C++의 기본적인 지식을 학습하기를 권장합니다. 이 책에는 네트워킹의 기초부터 시작해 멀티플레이어 게임 개발과 관련된 중요 개념이 상세히 설명돼 있습니다. 또한 다른 책에서 거의 다루지 않는 언리얼 엔진 소스 컴파일과 전용 서버 설정 같은 고급 주제는 커스터마이징이 필요한 작업을 할 때 큰 도움이 될 것입니다. 참고로, 언리얼 엔진은 한글을 지원하지만 아직 번역되지 않은 부분이나 어색한 표현도 많습니다. 물론 ‘에디터 개인설정’에서 언어를 변경할 수도 있지만, 영어로 된 화면과 메뉴보다는 우리말로 된 화면과 메뉴가 더 편리할 것으로 판단해 우리말 화면을 기준으로 원서의 내용을 옮겼습니다. 또한 원서는 언리얼 엔진 5.1 버전을 기준으로 저술됐지만, 번역서는 언리얼 5.3 버전에 맞춰 개정했습니다. 이 과정에서 최선을 다하고자 노력했으나 부족한 부분이 있을지도 모릅니다. 미흡하거나 궁금한 점이 있을 경우, 에이콘출판사 편집 팀이나 제 이메일로 문의해주시면 성심을 다해 답변드리겠습니다. |