Top

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

저자/역자 소개

지은이의 말

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

지은이 소개

바헤 카라미언(Vahé Karamian)

캘리포니아 로스앤젤레스에서 소프트웨어 컨설턴트이자 작가로 활동한다. 전 세계 최고의 제약, 생명 공학 및 의료 기기 제조 회사에서 소프트웨어 개발 업무를 진행해왔다. 최근 이복스 이미징(Evox Imaging) 사의 기획 부서에서 웹, 모바일, 가상 현실 관련 업무를 진행했다.
2010년, 프로젝트 진행을 위해 게임 엔진을 검색하다 우연히 유니티를 접한 후 계속 사용했다. 그라나다 힐스 유니티 유저 그룹(Granada Hills Unity User Group)의 설립자이며 커뮤니티 일원과 함께 신규 개발자 교육에 힘쓰고 있다.
게임 프로그래밍에 배경 지식이 없는 독자를 대상으로 『Introduction to Game Programming』(Noorcon Inc., 2016)을 썼다. 이 책에서는 프로그래밍 개념과 유니티의 필수 요소에 대한 기초 지식을 제공한다. 자세한 정보는 www.noorcon.com에서 볼 수 있다.
컴퓨터 과학 분야 박사 학위를 갖고 있으며 현재 컴퓨터 과학 개론, 데이터 구조, 알고리즘, 운영체제, 게임 설계 및 개발 주제에 관한 강의를 맡고 있다.

옮긴이의 말

1994년, 작은 시골 마을에서 유년 시절을 보낸 저의 첫 컴퓨터는 아버지께서 승진 기념으로 사오신 486 삼보컴퓨터였습니다. 당시 저희 마을에 있던 컴퓨터가 AT와 386, 단 두 대뿐이었다는 것을 감안하면 이는 엄청난 것이었지요. 저는 그 486 컴퓨터로 제 인생의 첫 게임을 만났습니다. '어스토니시아 스토리(Astonishia Story)'를 신나게 즐기고 엔딩을 접했을 때 느꼈던 감동은 아직까지도 기억납니다. 제가 게임 제작을 하는 사람이 될 거라고는 상상조차 못 했지만, 게임을 한다는 것 자체만으로도 시골 마을의 초등학생은 정말 행복했습니다.
'디아블로 I, II'와 '월드 오브 워크래프트'는 저의 중, 고등학생 시절과 대학 시절을 함께했습니다. 한참 '월드 오브 워크래프트'에 빠져 살던 시절 문득 ‘나도 이런 게임을 한번 만들어보고 싶다. 과연 만들 수 있을까?’라는 생각이 들었습니다. 게임과 희로애락을 겪어본 독자라면 저와 비슷한 생각을 한 번쯤 해봤을 것입니다.
제가 처음 게임 개발을 할 무렵에는 유니티가 유명하지도, 강력하지도 않았습니다. 또한 당시에는 게임을 개발하기 위해 알아야 할 저수준(Low level) 지식들이 상당히 많았기 때문에 게임 개발의 장벽도 지금보다 높은 편이었습니다. 요즘은 유니티 덕분에 전에 비해 상당히 수월하게 게임을 만들 수 있습니다.
이 책은 RPG 장르 게임을 유니티로 구현하는 과정을 담았습니다. RPG의 역사와 RPG 장르의 특징부터 RPG의 무대 설정, PC(Player Character) 및 NPC(Non Player Character) 설계, 인벤토리 시스템 설계, 사용자 인터페이스 등 RPG 게임 제작에 필요한 모든 요소에 대한 내용이 일목요연하게 담겨 있습니다. 더 나아가 오프라인 싱글 플레이어 RPG 게임뿐만 아니라 온라인 멀티플레이어 RPG의 구현 과정도 수록돼 있습니다.
게임에는 우리 삶의 희로애락이 고스란히 담겨 있기에 RPG 게임은 현실과는 또 다른 모습으로 우리를 행복하게 합니다. 그리고 개발자는 바로 이 행복을 설계하는 사람이라고 생각합니다. 행복을 설계하는 데 이 책이 보탬이 됐으면 좋겠습니다. 이 책이 독자 여러분들의 게임 제작에 대한 이해를 돕고, 나아가 여러분이 꿈꾸는 미래의 길잡이가 됐으면 합니다.

옮긴이 소개

최동훈

유치원에 가기 위해서는 친구들과 소똥을 밟으며 산을 넘어야 했던 옥구의 작은 시골 마을에서 유년기를 보냈다. 나무를 깎아 팽이를 만들어주던 동네 형과 노는 것이 가장 행복했다. 성인이 되어 상경해 15년째 서울에서 살고 있다. 늘 배우는 것을 좋아하며 코드를 만들고, 번역하면서 살고 있다.

목차

목차
  • 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 테스트
    • 향후 계획
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안