출고예상일 안내
주문하신 상품이 한국에서 현지 배송을 위한 출고단계가 이루어질 것으로 예상되는 날짜입니다. 상품을 준비하는 과정에서 내부적인 사정으로 인해 출고예상일에 다소 오차가 생길 수 있습니다.
여러 상품(예약상품포함)을 함께 주문하신 경우 출고예상일이 가장 늦은 날짜에 맞춰 함께 배송됩니다.

RPG를 만들면서 배우는 유니티 2D 게임 개발
원제 : Mastering Unity 2D Game Development - Building Exceptional 2D Games with Unity
시리즈 :
에이콘 모바일 프로그래밍 시리즈
[62]
- 정가
- $70.00
- 판매가
-
$51.03
(27%↓)
- 적립금
- $1.02 (2%P)
품절된 상품입니다.
이 책을 꼭 원하시는 고객님께서는 아래 "상품문의"를 클릭 후 구매의사를
알려주세요. 책이 확보 될 경우 연락 드리겠습니다.
평점 - · 리뷰 0
ISBN : 9788960777545 / 544쪽 188 x 235 (㎜)
이 상품에 궁금하신점이 있으세요? 1:1상담문의

-
정지훈
-
제임스 러브록
-
클리커, 강민혁
-
김영욱
- 25,200
- 18,900
- 23,400
- 23,400
출판사 리뷰
출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ 자신만의 RPG 게임을 만들어 가면서 유니티3D 4.3 버전에 새로 추가된 기능 학습 ■ 새로운 스프라이트 불러오기와 렌더링 시스템 ■ 새로운 스프라이트 애니메이션 시스템의 장점과 개선된 메카님(Mecanim) 기능 ■ 태그, 레이어, 스프라이트 정렬과 순서 매기기를 활용한 렌더링 기법 ■ 델리게이트(Delegates), 이벤트(Events), 메시징(Messaging)을 제대로 사용하는 방법과 완전한 기능을 갖춘 RPG 대화 시스템 구축 ■ 메카님 기반 AI(인공지능)와의 전투와 상... ★ 이 책에서 다루는 내용 ★ ■ 자신만의 RPG 게임을 만들어 가면서 유니티3D 4.3 버전에 새로 추가된 기능 학습 ■ 새로운 스프라이트 불러오기와 렌더링 시스템 ■ 새로운 스프라이트 애니메이션 시스템의 장점과 개선된 메카님(Mecanim) 기능 ■ 태그, 레이어, 스프라이트 정렬과 순서 매기기를 활용한 렌더링 기법 ■ 델리게이트(Delegates), 이벤트(Events), 메시징(Messaging)을 제대로 사용하는 방법과 완전한 기능을 갖춘 RPG 대화 시스템 구축 ■ 메카님 기반 AI(인공지능)와의 전투와 상태 기계 ■ 시장에서의 성공을 위한 마케팅 기법과 수익 모델 설계, 배포 방법 ■ 플랫폼 선택과 배포, 에디터 확장 ★ 이 책의 대상 독자 ★ 이 책은 C#에 대한 지식을 갖고 있으면서 유니티를 사용해 완전한 기능을 갖춘 2D RPG 게임을 개발하고자 하는 독자를 대상으로 한다. ★ 이 책의 구성 ★ 1장, ‘개요’에서는 유니티 버전 4.3에 새롭게 추가된 내용을 살펴보는 것으로 시작해 새로운 2D 시스템과 기타 기능에 대해 알아본다. 2장, ‘캐릭터 생성’에서는 본격적으로 2D 애셋과 스프라이트의 사용 방법을 살펴보며, 스프라이트 에디터 사용법과 기타 재미있는 기능들을 다룬다. 3장, ‘애니메이션 처리’에서는 2D 게임에서 매우 중요하면서도 까다로운 애니메이션 시스템에 대해 제대로 살펴본다. 4장, ‘게임 월드’에서는 배운 내용을 토대로 거주할 마을을 만들고 캐릭터가 뛰어다니게 만들어본다. 5장, ‘NPC와 상호작용’에서는 아무런 대화도 없는 RPG 게임은 상상하기도 어려우므로, 메시징과 대화 시스템을 만들어가면서 활용할 수 있는 고급 기법을 살펴본다. 6장, ‘넓은 야생의 세계’에서는 다루는 범위를 넓혀 아트와 애셋, 플레이어의 탐색을 위한 맵 뷰 개발에 관해 살펴본다. 자세히 보면 맵 뷰에서 자신의 집을 볼 수도 있다. 7장, ‘적과의 조우와 도망’에서는 월드가 크고 무서운 장소라고 생각해보자. 당신은 자신들의 마지막 식량을 먹고 있는 고블린 떼를 우연히 만날 수도 있고, 겁을 먹고 도망칠 수도 있다. 여기에서는 메카님(Mecanim) 설정을 비롯한 전투장면 구성과 인공지능에 대해 살펴본다. 8장, ‘무기 구매’에서는 2D 게임의 장점을 극대화하기 위해 간단한 상점을 구성해본다. 상호작용을 위해 기존 메시징 시스템을 재활용하고 플레이어의 구조에 인벤토리를 추가한다. 추가로 플레이어의 인벤토리를 멋진 커맨드바 구현으로 보여주는 그래픽적인 방법도 살펴본다. 9장, ‘전투 준비’에서는 싸울 준비를 한다. 전투 장면은 있지만, 아직 전투 엔진이 없다. 이제는 턴 기반의 전투 엔진으로 만든 걸 확장할 차례다. 메카님의 근육을 아마도 여태까지 한 번도 생각지 못했던 방식으로 다룬다. 10장, ‘전투와 경험치 획득’에서는 아직 낌새를 못 챈 고블린 무리에게 공격을 시작하고 그들의 작은 몸통이 피와 함께 산산이 부서지는 장면을 생각해본다. 물론 그렇게 한다면 PEGI(유럽 민간 게임 등급 분류 기관) 등급 보류 판정이 날 수도 있지만 어떤 형태로 진행하느냐는 개발자의 몫이다. 11장, ‘조심스레 전진하는 여행자’에서는 게임 프레임워크가 준비된 상태라고 가정한다. 필요한 건 콘텐츠와 약간의 조립만 남았으니 게임 제작을 마무리하는 데 필요한 내용을 살펴본다. 한발 더 나아가 편집기를 확장하고 다듬어서 더욱 유용하고 쉽게 활용하는 방법도 살펴본다. 12장, ‘배포’에서는 게임 개발의 마지막 단계인 기기에 탑재하는 과정을 다룬다. 신뢰도 높은 방식의 세이브/로드 시스템을 구축하고, 이를 다양한 플랫폼에서 잘 동작하게 하는 방법을 살펴본다. 고생해서 개발한 게임을 성공적으로 시장에 출시하고 마케팅하는 방법도 살펴본다. 부록, ‘추가 리소스’에서는 애셋이나 유용한 정보 링크 등의 추가 자료를 통해 게임 개발 여정에 도움을 준다.
★ 지은이의 말 ★
지금까지는 유니티3D를 3D 게임을 만드는 데 필요한 기능을 쉬우면서도 강력하게 제공하는 미들웨어 시스템으로 보는 것이 일반적이었는데, 다시 2D 게임이 유행하면서 유니티는 원하는 대로 멋지게 2차원 게임을 만들 수 있는 2D 툴셋을 개발했다.
유명한 게임들이 대체로 갖추고 있는 다양한 기능을 어떻게 구현하는지 궁금하다면 이 책이 그런 의문을 해소해줄 것이다. RPG 게임의 프레임워크 개발을 배울 수도 있고 메커님(Mecanim)과 커브(curves) 같은 유니티의 내장 기능을 제대로 사용하기 위해 고급 C# 스크립팅 기술이나 기교를 배울 수도 있다.
작은 마을과 그 마을에 사는 캐릭터를 생성해나가면서 새로운 2D 기능을 배울 수 있고, 최선의 활용법을 익힐 수 있다. 그러고 나서, 더 큰 세계로 나가 다양한 타입의 씬을 다루는 방법이나 랜덤 이벤트 스크립팅, 무서운 적과의 만남 등의 처리를 배운다. 캐릭터의 전투 준비(약간의 구매 활동 포함)와 싸우기만을 위해 으르렁대는 성난 생명체 집단을 처리하는 방법도 배울 수 있다. 적들의 반응은 구현하기에 따라 달라진다.
유니티 4.3에서 오디오 관련 내용은 변한 게 없으므로 이 책에서는 다루지 않는다. 유니티 5에서는 많은 변화가 있지만, 그보다 더 중요하게 다뤄야 할 내용이 너무 많다.
이 책을 마칠 무렵이면 원하는 플랫폼 대상으로 설계하고 생성, 배포, 통합하는 게 가능해질 것이며, 유니티 에디터를 원하는 형태로 설정하고 좀 더 자신감 있게 게임 개발을 하게 될 것이다. 또한 가급적 많은 수익을 내기 위한 마케팅과 수익 모델 설계, 다수 플랫폼 출시 등의 기법에 대해서도 예리한 식견을 보유하게 될 것이다.
★ 옮긴이의 말 ★
컴퓨터를 활용한 게임의 역사는 이제 고작 30여 년이 지났을 뿐이며, 운 좋게도 저는 이런 게임 역사의 시작을 목격했고 학창 시절 컴퓨터 게임과 아케이드 게임에 빠져 살았으며, 현재는 게임을 개발하면서 인생의 상당 부분을 게임과 함께 하고 있습니다. 컴퓨터 게임이라는 게 세상에 나타나지 않았다면 어떤 학창시절을 보내고, 현재는 또 어디에서 무슨 일을 하면서 살고 있을까 하는 상상을 가끔 해봅니다. 긴 인류의 역사에 비해 컴퓨터 게임은 역사라고 부르기도 민망할 정도로 탄생한 지 얼마 되지 않은 분야입니다. 당연한 이야기겠지만, 최초의 컴퓨터 게임은 2D 게임이었고 이후 3D 게임이 탄생하기 전까지는 따로 2D 게임이라고 부를 필요도 없이 당연히 모든 게임은 2차원의 평면에서 펼쳐지는 게 일반적이었습니다.
기술이 발전함에 따라 인류는 좀 더 현실에 가까운 세상을 구현하고자 하는 욕망을 다양한 예술 분야에서 꿈꾸고 시도했으며, 결국은 3차원의 공간을 수학적으로 모델링해 마치 실제 공간에 있는 듯한 느낌을 주기 위한 기술적 기반을 마련하는 데 성공했습니다. 일부 성급한 개발자나 게이머는 앞으로 모든 게임은 3차원이 될 것이라 속단하기도 했지만, 그런 예측은 적어도 현재까지는 완전히 빗나갔습니다. 최근 게임 시장의 중심으로 떠오른 모바일 게임 시장을 살펴보면 전체의 절반이 훨씬 넘는 게임이 2D로 개발됐습니다. 3D 게임은 2D 게임의 상위 개념이 아니며, 만들고자 하는 게임의 형태에 따라 더 잘 어울리는 방법을 택해야 합니다. 국내의 상황만 보더라도 구글 안드로이드 마켓에 등록된 게임 중 매출 상위 100개의 게임의 약 절반이 2D로 개발됐는데, 일반적으로 2D로 게임을 개발할 때 들어가는 개발 비용이 3D로 개발할 때에 비해서 크게 절약되는 경향이 있어 사업적 관점에서 접근할 때 2D로 게임을 개발하는 편이 위험 요소가 더 적다고도 볼 수도 있습니다.
게임에서의 3D 기술이 어느 정도 안정될 무렵 게임의 트렌드가 2D에서 3D로 넘어가는 듯한 모습을 보인 시기는 분명 있었고, 유니티도 그런 상황을 의식해서 처음에는 유니티3D라는 이름만 봐도 알 수 있듯 3D에 특화된 개발 도구로 세상에 처음 나왔습니다. 하지만 2D 게임의 인기는 좀처럼 사그라지지 않았고, 현재 3D 게임과 나란히 견줘도 뒤지지 않을 만큼 게이머들에게 큰 반응을 얻고 있습니다. 이에 유니티에서도 좀 더 편리하게 2차원 게임을 만들 수 있도록 2D에 특화된 기능을 제대로 제공하기 시작했습니다.
이 책은 유니티 버전 4.3에 새롭게 추가된 내용을 살펴보는 것으로 시작해 유니티가 새롭게 제공하는 2D 특화 기능을 하나씩 다루면서 유명한 게임에서 흔히 사용하는 기법을 따라 해보는 형태로 구성돼 있어 책의 내용을 끝까지 잘 따라가기만 한다면 완전한 하나의 게임을 개발하는 데 필요한 전반적인 지식을 갖출 수 있습니다. 시장 주요 트렌드의 한 축을 담당하는 2D 게임을 최신 유니티 환경에서 개발하는 데 필요한 내용을 다룬 이 책의 번역을 맡은 일은 제겐 영광스러운 경험이었습니다. 유니티 환경에서 게임을 개발하는 개발자에게 2D 게임 개발의 기초를 탄탄하게 다져줄 수 있는 좋은 서적을 소개할 수 있어 기분이 좋습니다.
무엇보다 이 책을 선택해 지금 이 글을 읽고 있는 독자 여러분에게 진심으로 고맙습니다. 부디 이 책이 유니티 2D 게임프로그래밍의 기초를 다지는 데 큰 도움이 되기를 희망합니다.
목차
1. 개요
__애셋 구하기
____사이트 모음
__2D 세상 속으로
____새로운 2D 모드
____스프라이트
________스프라이트 렌더러
________스프라이트 에디터
________스프라이트시트
________텍스처 아틀라스
________스프라이트 메시
________Box2D 물리 시스템
________새로운 애니메이션 도프 시트
____기타 유니티 4.3 개선 사항
________개선된 Mecanim 성능
________윈도우폰 API 개선과 윈도우 8.1 지원
________동적 나브 메시(프로 버전에서만 지원)
________에디터 개선 사항
________모노디벨롭 4.01
________무비 텍스처
__정리
2. 캐릭터 생성
__프로젝트 제대로 시작하기
____구조
____오브젝트 이름 지정
__컴포넌트 이해
____단축을 사용한 콤포넌트 접근
____컴포넌트를 사용하는 더 나은 방법: 참조
____더 나은 방법
__프로젝트 생성
__클래스
____객체지향 설계
____게임 구조
________공용 게임 오브젝트
________추가 사항
__행위 기획
____공용 게임 오브젝트의 행위
____플레이어 캐릭터의 행위
__유니티 스프라이트 시스템 소개
____스프라이트 가져오기
________Texture type: sprite
________Sprite Mode: single/multiple
________Packing tag
________Pixels to units
________Sprite Editor 버튼
____스프라이트 에디터
________스프라이트 자르기(slicer)
________뷰 컨트롤
________스프라이트 영역 제어
__통합하기
____메인 캐릭터 불러오기
____영웅 캐릭터
____영웅 제어
__추가 사항
__정리
3. 애니메이션 처리
__스프라이트 애니메이션
____애니메이션 컴포넌트
________애니메이션 컨트롤러
________애니메이션 클립
________애니메이터 컴포넌트
____애니메이션 컨트롤러 설정
____애니메이션 클립 설정
________수동 애니메이션 클립 생성
________자동 애니메이션 클립 생성
________애니메이터 도프 시트
________Dope/curve 뷰
__통합하기
____애니메이션 컨트롤러 설정
____첫 애니메이션 클립 추가(정지 상태)
____뛰는 동작 애니메이션 클립 추가
____애니메이션 상태 연결
____스크립트에서 컨트롤러 접근
____추가 개선
____커브 처리
__추가 진행
__정리
4. 게임 월드
__배경과 레이어
____스프라이트 나누기 결정
____마을 배경
____마을 건물
____추가 배경
__씬 구성
____마을 배경 추가
____스프라이트 정렬 레이어
____스프라이트 정렬 순서
____씬 정렬 레이어 업데이트
__카메라 처리
____Update와 FixedUpdate, LateUpdate의 비교
____해상도 관련 주의 사항
____FollowCamera 스크립트 개선
__전환과 경계
____경계를 가진 마을
____계속 이동
____실전 게임을 위한 준비
__배경과 움직이는 요소
____패럴랙싱
____전경 오브젝트
__셰이더와 2D
__추가 사항
__정리
5. NPC와 상호작용
__RPG 게임 적용
__고급 프로그래밍 기술
____싱글톤과 매니저
________매니저 접근법: 빈 게임 오브젝트 사용
________싱글톤: C# 싱글톤 패턴 사용
__게임 오브젝트 간의 통신
____위임
________설정 가능 메소드 패턴
________위임 패턴
________합성 위임
____이벤트
____메시징
____개선된 방법
__백그라운드 작업과 코루틴
____코루틴 진입
____IEnumerator
____양보하기
____코루틴 시작
____보완하기
__직렬화와 스크립팅
____애셋 데이터 저장과 관리
____편집기에서 직렬화 파일 사용
____코드에서 .asset 파일에 접근
__통합하기
____NPC와 대화
________대화 오브젝트
________나중을 위한 오브젝트 저장과 직렬화
________대화 컴포넌트
____기본 대화 시스템 구축
________매니저
________대화 시작
________대화 표시
________기능 개선
____학습 내용 연결
__추가 사항
__정리
6. 넓은 야생의 세계
__더 커다란 뷰
____맵의 종류
________고정 맵
________생성 맵
____2D 게임에서의 3D 사용
____절차적 진행
____스크린 공간과 월드 공간
__통합하기
____맵 추가
____흥미로운 장소 추가
____재사용을 위한 MapPoint 프리팹 생성
____NavigationPrompt 스크립트 수정
____NavigationManager 스크립트 수정
____클릭이나 터치로 탐험
________입력 관리
________입력 우선순위 관리
________입력 순서 관리
________커브 사용
________시작 위치 수정
________너무 먼 여행
____화면 전환
________페이딩을 사용한 레벨 로딩
____새로운 씬을 포함하기 위한 빌드 설정
__추가 사항
__정리
7. 적과의 조우와 도망
__이벤트 시스템
__임의성
____랜덤 코드/생성 설계
____완전한 임의성
__기본 인공지능
__상태 기계
____상태 정의
____간단한 단일 선택
____다중 상태 처리
____상태 매니저
__센서
__통합하기
____새로운 씬 구성
____첫 번째 적 추가
____무리 소환
________집으로의 귀환
____랜덤 이벤트
____마지막 남은 일
__추가 사항
__정리
8. 무기 구매
__쇼핑을 하는 이유
__아이템의 힘
__상점 구성
__인벤토리 형태
____99의 법칙
____방해 시스템
____슬롯 기반 시스템
____미니 게임
____현실 세계
__결제 유도
____유료 판매
____체험판을 제공하는 유료 판매
____광고 탑재
____앱 내부 결제
____게임 재화
__통합하기
____상점 애셋 수집
____상점 씬 구성
____인벤토리 아이템 생성
____상점 관리
____2D 버튼 처리
____플레이어 인벤토리 정의 업데이트
____상품 입고
____상점에서 나가기
____상점 진입
____인벤토리 관리
____플레이어 인벤토리 동작 추가
__추가 사항
__정리
9. 전투 준비
__효과적인 RPG UI 오버레이
____모험가의 오버레이
____컨텍스트에 따른 오버레이 구성
____최신 플로팅 UI
____밸런스 유지
__통합하기
____전투 상태 매니저
____코드에서 상태 매니저 사용
____전투 시작
____작은 능력 추가
____GUI 표현
________커맨드 바
________커맨드 버튼
________씬에 커맨드 바 추가
____무기 선택
________커맨드 버튼 선택
________커맨드 바 선택 관리
________BattleManager 상태에 선택 기능 추가
________BattleManager 상태에 무기 지원
__추가 사항
__정리
10. 전투와 경험치 획득
__시험장
__레벨 업
__밸런싱
__통합하기
____BattleManager 스크립트 준비
____적 개선
________적 프로파일/컨트롤러
________고블린 프리팹 업데이트
________코드에서 적 프로파일 설정
____목표물 선택
________원형 프리팹 선택
________EnemyController 클래스에 선택 로직 추가
____공격! 공격!
____3D 파티클로 표현하는 성가신 고블린의 반응
________2D와 3D의 혼합
________파티클 이펙트와 2D
________죽음 스프라이트 추가
___








































