본문

유니티 3D RPG 게임은 이렇게 만든다 (RPG 게임 개발의 시작)
유니티 3D RPG 게임은 이렇게 만든다 (RPG 게임 개발의 시작)
저자 : 바헤 카라미언
출판사 : 에이콘출판
출판년 : 2018
ISBN : 9791161751801

책소개

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 아키텍처를 활용한 멀티플레이어 프로그래밍에 대해 논의한다. 두 가지 예제 프로젝트를 활용해 멀티플레이어 프로그래밍 개념을 살펴본다. 첫 번째 프로젝트는 탱크 게임으로, 서버 클라이언트 및 데이터 동기화의 개념을 보여준다. 두 번째 프로젝트는 지금까지 배웠던 내용을 캐릭터 모델과 함께 신 제작에 적용한다.

★ 지은이의 말 ★

모두 한 번쯤 게임을 만들어 보기를 희망한다. 게임 산업이 인기를 얻고, 같은 시기에 게임의 설계 및 개발 도구가 대중화되며 게임 제작은 그 어느 때보다 이룰 수 있는 꿈이 됐다. 이 책은 몇 가지 목적을 염두에 두고 집필했다. 유니티는 초기의 미비했던 시작에서부터 먼 길을 걸어왔다. 이 책을 집필하는 중에 유니티 버전은 5.4가 됐다.(이 책은 Unity 5.x 버전으로 쓰였으나, 유니티 2018.1.2f1 버전에서 코드 테스트를 해본 결과 문제없이 동작함을 확인했다.-옮긴이) 〈리퍼블리크 리마스터드(Republique Remastered)〉, 〈더 룸 쓰리(The Room Three)〉, 〈뫼비우스 파이널 판타지(Mevius Final Fantasy)〉 등 여러 게임들이 유니티로 개발됐다. 유니티를 배우고 RPG를 제작하고자 하는 독자에게 이 책이 참고 자료가 됐으면 한다.

★ 옮긴이의 말 ★

1994년, 작은 시골 마을에서 유년 시절을 보낸 저의 첫 컴퓨터는 아버지께서 승진 기념으로 사오신 486 삼보컴퓨터였습니다. 당시 저희 마을에 있던 컴퓨터가 AT와 386, 단 두 대뿐이었다는 것을 감안하면 이는 엄청난 것이었지요. 저는 그 486 컴퓨터로 제 인생의 첫 게임을 만났습니다. 〈어스토니시아 스토리(Astonishia Story)〉를 신나게 즐기고 엔딩을 접했을 때 느꼈던 감동은 아직까지도 기억납니다. 제가 게임 제작을 하는 사람이 될 거라고는 상상조차 못 했지만, 게임을 한다는 것 자체만으로도 시골 마을의 초등학생은 정말 행복했습니다.

〈디아블로 I, II〉와 〈월드 오브 워크래프트(WOW, World of Warcraft)〉는 저의 중, 고등학생 시절과 대학 시절을 함께했습니다. 한참 〈WOW〉에 빠져 살던 시절 문득 ‘나도 이런 게임을 한번 만들어보고 싶다. 과연 만들 수 있을까?’라는 생각이 들었습니다. 게임과 희로애락을 겪어본 독자라면 저와 비슷한 생각을 한 번쯤 해봤을 것입니다.

제가 처음 게임 개발을 할 무렵에는 유니티가 유명하지도, 강력하지도 않았습니다. 또한 당시에는 게임을 개발하기 위해 알아야 할 저수준(Low level) 지식들이 상당히 많았기 때문에 게임 개발의 장벽도 지금보다 높은 편이었습니다. 요즘은 유니티 덕분에 전에 비해 상당히 수월하게 게임을 만들 수 있습니다.

이 책은 RPG 장르 게임을 유니티로 구현하는 과정을 담았습니다. RPG의 역사와 RPG 장르의 특징부터 RPG의 무대 설정, PC(Player Character) 및 NPC(Non Player Character) 설계, 인벤토리 시스템 설계, 사용자 인터페이스 등 RPG 게임 제작에 필요한 모든 요소에 대한 내용이 일목요연하게 담겨 있습니다. 더 나아가 오프라인 싱글 플레이어 RPG 게임뿐만 아니라 온라인 멀티플레이어 RPG의 구현 과정도 수록돼 있습니다.

게임에는 우리 삶의 희로애락이 고스란히 담겨 있기에 RPG 게임은 현실과는 또 다른 모습으로 우리를 행복하게 합니다. 그리고 개발자는 바로 이 행복을 설계하는 사람이라고 생각합니다. 행복을 설계하는 데 이 책이 보탬이 됐으면 좋겠습니다. 이 책이 독자 여러분들의 게임 제작에 대한 이해를 돕고, 나아가 여러분이 꿈꾸는 미래의 길잡이가 됐으면 합니다.
[예스24에서 제공한 정보입니다.]

목차정보

1장. 시작

__간략한 역사

__RPG의 특성

____스토리 및 설정

____탐험과 퀘스트

____탐험과 퀘스트 맛보기

____인벤토리 시스템

____캐릭터 개발

____경험치와 레벨링

____전투 시스템

____사용자 인터페이스와 그래픽

__기존 혹은 향후의 RPG 게임들

____다크 소울 3

____폴아웃 4

__디바이너티: 오리지널 신

__RPG의 패턴

____전문 용어

____콘테스트 트리

____Last Man Standing

____협상 콘테스트

__요약



2장. 분위기 조성

__RPG 제작하기

__자자르 왕조의 이야기

____플롯

____탐험과 퀘스트

__에셋 인벤토리

____환경 에셋

____캐릭터 에셋

__레벨 디자인

____무대 설정

____지형 툴킷 핵심 요약

____깨어남

__레벨 테스트

__메인 메뉴 제작

__게임 마스터 제작

__요약



3장. 캐릭터 디자인

__기본 캐릭터 클래스 속성

__캐릭터 상태

__캐릭터 모델

____모델 준비

__캐릭터 모션

____애니메이션 컨트롤러

____캐릭터 컨트롤러

__역운동학

__요약



4장. 플레이어 캐릭터와 비플레이어 캐릭터 디자인

__플레이어 캐릭터 커스터마이징

____부분 커스터마이징

____되새김

__비플레이어 캐릭터

____비플레이어 캐릭터 기본

____NPC AI

__PC와 NPC의 상호작용

__요약



5장. 게임 마스터와 게임 메카닉

__게임 마스터

____게임 설정 및 오디오 관리

____신 관리

__게임 마스터 개선

____레벨 컨트롤러

____오디오 컨트롤러

__플레이어 데이터 관리

____PC 클래스 강화

____캐릭터 커스터마이징 클래스 업데이트

__UI 컨트롤러 변경

__테스트

__요약



6장. 인벤토리 시스템

__인벤토리 시스템

____중량 인벤토리

____아이템 종류 결정하기

__인벤토리 아이템 제작

____프리팹 제작

____인벤토리 아이템 에이전트 추가

____인벤토리 아이템 프리팹 정의

__인벤토리 인터페이스

____인벤토리 UI 프레임워크 제작

____동적 아이템 뷰어 설계

____최종 인벤토리 아이템 UI 제작

__UI와 실제 인벤토리 시스템 통합

____카테고리 버튼과 데이터 표시 후킹하기

____인벤토리 시스템 테스트

__인벤토리 아이템과 플레이어 캐릭터

____인벤토리 아이템 적용

____살펴보기

__요약



7장. 사용자 인터페이스와 시스템 피드백

__HUD 설계

____HUD의 기본 정보

____설계

____HUD 프레임워크

__HUD 설계 마무리

____캐릭터 정보 패널

____활성 인벤토리 아이템 패널

____특수 아이템 패널

__코드 통합

__HUD내 적의 상태 정보

____NPC 상태 정보 사용자 인터페이스

____NPC 캔버스 제작

____NPC 생명력

__코드 향상시키기

__요약



8장. 멀티플레이어 설정

__멀티플레이어 게임 제작의 어려움

__초기 멀티 플레이어 게임

____기본 네트워크 구성

____네트워크 프로젝트

____적 탱크 추가

____빌드 및 테스트

__RPG 캐릭터 지원 네트워크

____RPG 신 제작

____네트워크 지원 플레이어 캐릭터

____네트워크 지원 NPC

____플레이어 커스터마이징과 아이템 동기화

____NPC와 다른 아이템 스폰

__네트워크 지원 PC와 NPC 테스트

__향후 계획

__요약
[알라딘에서 제공한 정보입니다.]