
유니티 3D RPG 게임은 이렇게 만든다 [RPG 게임 개발의 시작]
- 원서명Building an RPG with Unity 5.x: Unleash the full potential of Unity to build a fully playable, high-quality multiplayer RPG (ISBN 9781785285004)
- 지은이바헤 카라미언(Vahé Karamian)
- 옮긴이최동훈
- ISBN : 9791161751801
- 30,000원
- 2018년 07월 25일 펴냄
- 페이퍼백 | 424쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 게임 개발 프로그래밍
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
RPG를 제작하는 데 필요한 거의 모든 내용들이 담겨 있는 책이다. RPG의 게임 정의에서 출발해, 기술적인 내용은 물론이고 RPG를 제작하는 데 필요한 기획 및 아트에 대해서도 배울 수 있다. 실제 RPG 제작 경험이 없는 개발자가 RPG를 제작한다는 가정하에 스토리 라인 설정부터 네트워크 플레이 개발 방법까지 담고 있다. RPG 제작의 이론과 실전에 대한 내용이 적절하게 조화를 이루고 있다. RPG 장르를 개발해보고 싶은 개발자라면 시작점으로 삼기 좋은 책이다.
이 책에서 다루는 내용
■ 인벤토리, 장비, 캐릭터, 적, 퀘스트, 게임 이벤트의 프레임워크 제작
■ 신과 에셋의 로드 및 언로드 방법
■ 멀티플레이어 RPG 게임 설정
■ 사용자 입력 및 피드백을 위한 UI 설계
■ RPG의 모든 측면을 다루는 게임 마스터 강화
■ 커스텀 경로 탐색 시스템 개발
■ 캐릭터 및 NPC AI 구현
이 책의 대상 독자
RPG 제작에 필요한 유니티 기술을 배우고 적용하고 싶은 독자를 위한 책이다. 프로그래밍에 관해 기본적인 이해와 개념을 알고, 유니티 IDE의 기본에 능숙하다는 전제하에 집필했다. 독자적인 게임 제작을 경험하는 데 적용할 수 있는 핵심 개념과 각 주제는 힘 있고 단단한 토대가 될 것이다.
이 책의 구성
1장, '시작'에서는 롤 플레잉 게임의 배경 지식을 제공한다. 역사적 측면을 몇 가지 다루고, 출시된 롤 플레잉 게임들을 살펴본다. 롤 플레잉 게임의 주요 특징을 논의하고 몇 가지의 관련 기술과 독자가 1장 이후 준비해야 할 내용을 다룬다.
2장, '분위기 조성'에서는 게임 테마를 정하고 분위기를 조성한다. 게임 제작에 필요한 여러 가지 에셋과 리소스를 논의하고 3인칭 캐릭터 컨트롤러를 소개한다. 레벨과 스크립트 초기 버전을 제작한다.
3장, '캐릭터 디자인'에서는 캐릭터와 캐릭터 데이터를 정의하는 방법을 논의한다. 캐릭터 모델을 위한 메카님(mecanim), 애니메이터(animator), 상태 기계(state machine), 블렌드 트리(blend tree), 역운동학(inverse kinematics), 커스텀 캐릭터 컨트롤러 스크립트에 대해 살펴본다.
4장, '플레이어 캐릭터와 비플레이어 캐릭터'에서는 디자인, 캐릭터 모델의 구조에 대해 논의하고 비플레이어 캐릭터를 정의한 후 경로 찾기, 애니메이터 컨트롤러, NPC A.I. 스크립트 초기 버전을 살펴본다.
5장, '게임 마스터와 게임 메카닉'에서는 게임 마스터 스크립트를 한층 강화한다. 레벨 컨트롤러 스크립트 및 오디오 컨트롤러 스크립트를 소개한다. 캐릭터 데이터 및 캐릭터 커스터마이징 상태의 저장에 대해 논의한다. 그리고 메인 메뉴 사용자 인터페이스 초기 버전에 대해 이야기한다.
6장, '인벤토리 시스템'에서는 일반적인 인벤토리 시스템 제작 방법을 다룬다. 필요한 스크립트와 인벤토리 아이템의 에셋/프리팹을 작성하고 인벤토리 사용자 인터페이스를 설계하고 인벤토리 시스템과 그 시스템의 아이템을 어떻게 나타낼 것인지 설계한다.
7장, '사용자 인터페이스와 시스템 피드백'에서는 헤드 업 디스플레이, 플레이어 캐릭터 정보 패널, 활성 인벤토리 아이템 패널, 특수 인벤토리 아이템 패널의 설계와 구현에 대해 논의 후, 실제로 설계하고 구현한다. 비플레이어 캐릭터 생명력 바와 UI 또한 설계, 구현한다.
8장, '멀티플레이어 설정'에서는 유니티의 Unet 아키텍처를 활용한 멀티플레이어 프로그래밍에 대해 논의한다. 두 가지 예제 프로젝트를 활용해 멀티플레이어 프로그래밍 개념을 살펴본다. 첫 번째 프로젝트는 탱크 게임으로, 서버 클라이언트 및 데이터 동기화의 개념을 보여준다. 두 번째 프로젝트는 지금까지 배웠던 내용을 캐릭터 모델과 함께 신 제작에 적용한다.