길벗·이지톡

도서 IT전문서/IT입문서 게임
반다이 남코 현역 디렉터가 알려주는 유니티 게임 제작 입문
정 가
25,000원
I S B N
9788966189953
출 간
2015-05-29
분 량
504쪽
지 은 이
아스나고지
난 이 도
입문
옮 긴 이
김성재
부 록
예제 코드

유니티도 배우고 게임 제작 노하우도 익힌다!

유니티와 C# 프로그래밍 기초 학습은 기본
유니티 설치법부터 구성 요소와 특징, 프로그래밍 기초, 오류 발생 시 대처법, 디버깅 방법까지. 유니티랑 프로그래밍을 전혀 모르는 초보자의 눈높이에서 설명해 간다.

게임에서 '재미'를 이끌어내는 반다이 베테랑 기획자의 노하우를 배운다
정말 중요한 것은 '재미있는' 게임을 만드는 것! 반다이 베테랑 기획자가 어떻게 아이디어를 기획으로 구체화하는지, 어떤 요소를 넣어야 하는지, 어떻게 레벨 디자인을 하는지 일대일로 설명하듯 차근차근 알려준다. 

다양한 장르의 게임을 직접 만들면서 제작 방법을 익힌다
저자가 아낌없이 푼 에셋을 활용해서 액션 게임, 퍼즐 게임, 필드 액션 게임을 직접 만들어본다. 기획, 프로그래밍, 레벨 디자인을 반복 실습하며 따라가다 보면 어느새 재미있는 게임 세 가지가 만들어진다. 

목차

1장 유니티 시작하기
1.1 유니티 둘러보기
유니티를 내려받자
유니티를 설치하자
유니티 각 부분의 명칭을 알아보자
프로젝트, 씬, 에셋의 의미
캡슐을 만들자
캡슐의 이름을 변경하자
Inspector로 놀아보자
유니티 세계에서 X, Y, Z의 의미
회전을 시켜보자
확대·축소를 해보자
Scene 뷰의 카메라를 조작하자
씬 기즈모와 퍼스펙티브 뷰를 전환하자
Scene 뷰에서 게임 오브젝트를 조작하자
작업 내용을 저장하자
1.2 Hello, Unity!
프로그래밍의 기본을 학습하자
스크립트는 대본
MonoDevelop을 사용하자
프로그래밍의 세계에 오신 것을 환영합니다!
편리한 디버그
1.3 프로그래밍 기초
변수를 이해하자
변수의 내용은 원하는 대로 바꿀 수 있다
변수에 변수를 대입하자
사칙연산
계산 우선 순위
계산 결과의 누적
증감연산
조건분기·조건문
if~else, if~else if~else문
switch~case문
for문
1.4 프로그래밍 기초: 레벨 2
배열: 변수 여러 개를 넣을 수 있는 선반
foreach: 배열에 들어 있는 모든 요소를 표시
Vector2, Vector3 변수
변수의 유효 범위
메서드
멤버 변수와 로컬 변수
클래스
스크립트명과 클래스명의 관계
오류가 발생한 경우
오류 메시지를 참고하라
수상한 곳에 Debug.Log를 설치하라!
처음부터 새로 작성하라
1.6 키보드와 마우스로 입력 받기
키보드 입력
마우스 버튼의 동작
마우스의 위치
[단원 테스트] 유니티 시작하기
[칼럼] 재미 레시피 만능 조미료: 제한시간

2장 유니티 구성 요소와 특징
2.1 게임 오브젝트
게임 오브젝트의 의미
프로그래밍 학습 준비
Transform을 직접 변경하자
마음대로 이동하고 싶다! - 상대적 이동
어느 기기에서나 같은 속도로!
마음대로 이동하고 싶다! - 상대적 이동 (이해하기 쉬운 버전)
마음대로 회전하고 싶다! - 상대적인 회전
당신의 자식이 되고 싶어요! - 친자관계 조작
폴더처럼 사용할 수 있는 빈 게임 오브젝트
다른 게임 오브젝트의 스크립트를 사용하자
게임 오브젝트와 관련된 것은 아직 잔뜩 있다!
2.2 리지드바디
게임 오브젝트에 리지드바디를 적용하자
3D 모델에 리지드바디를 적용하자
Physic Material로 소재를 결정하자
리지드바디를 조작하는 프로그램
리지드바디의 중력을 제어하자
2.3 프리팹
프리팹의 의미
프리팹으로 놀아보자
프리팹을 프로그램으로 배치해보자
효과음을 울려보자
2D로 표현하자: OnGUI( )
타이틀 화면에서 게임 화면으로: 씬의 이동
[단원 테스트] 유니티 구성 요소와 특징
[칼럼] 어떤 게임 기획자의 눈물 나는 성장일기 Ⅰ

3장 재미 만들기
3.1 재미를 만드는 방법
게임을 만들기 전에
재미있다는 것은 무엇일까?
재미있다와 즐겁다의 차이
재미란 무엇일까?
목표, 고찰, 행동, 결과, 보상
없어선 안 되는 것 = 목표
알맞은 목표라야 기분이 좋다!
플레이어의 성장에 따라 어려워져야 재미있다
어떻게 해야 잘할 수 있을까 = 고찰
장점과 단점
액션! = 행동
실패해도 알고 싶은 것 = 결과
이해하기 쉬운 실패를 만든다
성공하면 상을 준다 = 보상
리스크와 리턴
모색하기 = 재미를 만드는 방법
3.2 더욱 즐길 수 있는 게임 만들기
오래 플레이할 수 있게! - 많은 목표를 주자
오래 해도 질리지 않게! - 목표에 변화를 주자
계속 반복해도 재미있게! - 반복에 변화를 주자
3.3 게임의 재미를 좌우하는 레벨 디자인
레벨 디자인의 의미
맨 첫 단계
코스 요리처럼 준비한다
난이도 곡선
가장 어려운 곳의 조정은 어렵다
테스트 플레이로 조율
레벨 디자인에 실패하면 어떻게 될까?
스트레스 없는 플레이는 기본
스트레스는 최악의 적
메뉴에도 스트레스가 있다
스트레스를 없애려면 어떻게 해야 좋을까?
3.5 한 페이지짜리 기획서 만들기
한 페이지짜리 기획서로 정리하는 의미
기획서와 대상
어떤 분위기인지 전달한다! - 제목과 캐치프레이즈
한눈에 알 수 있다! - 첫 번째: 게임 화면
한눈에 알 수 있다! - 두 번째: 조작 이미지
한눈에 알 수 있다! - 세 번째: 게임 개요
개성을 강조하자! - 세 가지 특징
마무리! - 캐치프레이즈, 서명, 놀이
겉모습의 위력
다른 사람에게 어떻게 보이는지 확인하자!
[단원 테스트] 재미 만들기
[칼럼] 재미 레시피 모두 간단하게는 할 수 없다: 타이밍

4장 가벼운 게임 만들기
4.1 게임 기획해보기
기획
프로그래밍
레벨 디자인
4.2 웹 브라우저용으로 빌드하기
[칼럼] 어떤 게임 기획자의 눈물 나는 성장일기 Ⅱ

5장 액션 게임 기획하기
5.1 게임 기획
게임을 하나 완성해보자
보물 지도 = 기획서
플레이해 줄 사람을 사랑하자!
게임의 큰 틀을 생각하자!
큰 틀이 정해지면 필요한 요소가 정해진다
규칙과 목표를 결정한다
정말로 그런 형태로 좋은가?
즐거워질 아이디어를 생각하자!
아이디어가 다 떨어지고 나서부터가 승부!
재미를 만드는 방법과 대조해본다
오랫동안 목표를 가지고 플레이하게 하고 싶다!
변화를 주어 질리지 않게 하자!
반복해서 플레이해도 재미있게!
세계관을 만들자!
세계관과 캐릭터를 생각하자!
한 페이지짜리 기획서로 만든다
5.2 사양서 만들기
사양서의 의미
게임의 전체적인 시퀀스
타이틀 화면
게임 화면
결과 화면
게임 속 요소의 사양서
플레이어 캐릭터의 사양서
조정하고 싶은 값은 명확히 써둔다
발판 블록의 대략적인 사양
레벨 디자인에 필요한 값을 명확히 써둔다
방해 캐릭터의 사양 개요
동전의 사양 개요
[칼럼] 재미 레시피 재미를 위해서라면 나쁘지 않다: 거짓말

6장 액션 게임 프로그래밍하기
6.1 프로그래밍 준비
재미있어 보이는 게임이 만들어졌다
프로젝트를 준비하자
Player와 Floor를 준비
가볍게 플레이할 수 있는 곳까지 프로그래밍
플레이어를 따라가는 카메라
블록을 만들어내자!
맵 생성을 지시하는 프로그램
필요 없어진 블록을 지우자
플레이어를 점프시키자!
바닥에 구멍을 내자
구멍에 빠지면 실패
[칼럼] 어떤 게임 기획자의 눈물 나는 성장일기 Ⅲ

7장 액션 게임 레벨 디자인하기
7.1 플라스틱 러너의 레벨 디자인
레벨 디자인 방침
무엇을 축으로 해서 변화시킬 것인가
플레이어의 속도
발판 길이
구멍 크기
발판 높이
레벨 디자인 정보를 텍스트 파일로 정리하자
텍스트 파일을 유니티 에디터로 관리하자
7.2 텍스트 데이터 게임에 반영하기
텍스트 데이터를 보관하는 LevelControl 클래스
LevelData를 List로 다루자
텍스트 데이터를 읽고 해석하자
MapCreator에서 loadLevelData( )
메서드를 호출하자
발판과 구멍에 데이터를 반영시키자
플레이어에도 데이터를 반영하자
점프할 수 없다니! 답답해!
7.3 재미가 없다!!
다음 레벨까지 너무 오래 걸린다!
반드시 죽는다!
7.4 게임 완성하기
시퀀스를 연결하자
플라스틱 러너의 시퀀스를 연결하자
7.5 완성판 플라스틱 러너
[칼럼] 요시자와 프로듀서·디렉터와의 기획 대담 Ⅰ

8장 퍼즐 게임 기획하기
8.1 플라태치 기획
두 번째 게임을 생각하자
아이디어가 주도하는 기획도 좋다!
3매치 퍼즐이란
필요한 것은 종이와 연필
종이와 연필로 쓰자
종이에 쓰는 장점
아이디어를 버리거나 보관한다
아이디어를 채용한다
채용한 아이디어를 사양서로 만들자
대상을 결정한다
재미를 검토하자
더욱 재미있게 하기 위해서
기획서를 완성하자
세계관과 캐릭터를 만든다
제작자의 독창성을 발휘하자
8.2 화면 사양서 만들기
씬 연결
타이틀 화면
게임 화면
결과 화면
8.3 각 요소의 사양서 준비
퍼즐 사양
블록 종류 결정
필요한 데이터
[칼럼] 재미 레시피 악마 같은 매력: 기대감

9장 퍼즐 게임 프로그래밍하기
9.1 블록 나열
완성판 플라태치를 플레이해보자!
블록을 바닥에 채운다
블록을 나열한다
나열한다
9.2 마우스로 블록 잡기
BlockControl 스크립트
BlockRoot 스크립트
블록을 잡아보자!
9.3 블록 교체
BlockControl 클래스에 메서드 추가
만든 메서드를 사용하자!
[칼럼] 어떤 게임 기획자의 눈물 나는 성장일기 Ⅳ

10장 퍼즐 게임의 블록 연쇄 만들기
10.1 3매치로 블록 지우기
프로젝트 준비
BlockControl 스크립트
BlockRoot 스크립트
시험해보자!
10.2 블록 보충하기
블록을 보충하는 방법
완성도
BlockControl 스크립트
BlockRoot 스크립트
[칼럼] 유니토가 탄생하기까지

11장 퍼즐 게임 레벨 디자인하기
11.1 점수와 시간 넣기
프로젝트 준비
ScoreCounter 클래스
ScoreControl 클래스
BlockRoot 클래스
시험해보자!
11.2 텍스트 읽어오기
텍스트 데이터를 준비한다
LevelControl 스크립트를 준비한다
LevelData 클래스
LevelControl 클래스
BlockRoot 클래스
SceneControl 클래스
BlockControl 클래스
시험해보자!
11.3 레벨 디자인
정책을 결정하자
패턴 종류를 결정하자
11.4 게임 완성하기
게임의 시퀀스를 연결한다
플라태치 학습판 완성!
[칼럼] 재미 레시피 숨은 재미가 있는가?

12장 필드 액션 게임 기획하기
12.1 플라플라 플래닛 기획
제약 속에서 게임을 생각한다
재미있을 듯한 기획이라도 버려야만 할 때도 있다
한 단계 위의 마음을 만족시킨다
다른 게임에서 자주 사용되는 요소 제작법을 학습하게 하고 싶다
플레이어 캐릭터의 동작
최소한의 요소
대상에 맞춘 플레이 시간
재미있게 구성됐는가?
질리지 않게 반복하려면
오랫동안 플레이할 수 있게 하자
한 페이지짜리 기획서
12.2 화면 사양서 만들기
타이틀 표시
게임 화면
결과 표시
12.3 각 요소의 사양서 준비

플레이어
모닥불
사과와 나무
우주선
식물과 철광석
[칼럼] 어떤 게임 기획자의 눈물 나는 성장일기 Ⅴ

13장 필드 액션 게임 프로그래밍하기
13.1 플레이어 캐릭터 제어
완성판 플라플라 플래닛을 플레이해보자!
프로젝트 준비
게임 오브젝트 준비
플레이어 캐릭터를 이동시키자
사과를 집어 들자
13.2 사과 먹기
13.3 철광석과 식물 출현
게임 오브젝트 준비
ItemRoot 스크립트 수정
시험해보자!
13.4 우주선 수리
게임 오브젝트 준비
EventRoot 스크립트
PlayerControl 스크립트
시험해보자!
[칼럼] 재미 레시피 작업이란 이름의 고행

14장 필드 액션 게임 레벨 디자인하기
14.1 게임 진행 상황 관리
Project 브라우저를 정리하자
게임 상태를 관리한다
GameStatus 스크립트
ItemRoot 스크립트
PlayerControl 스크립트
시험해보자!
14.2 경과 시간 만들기
기분 좋은 조작감을 위해서
14.3 게임 요소 추가
긴장감을 연출하자!
제한시간을 설정하여 긴장감을 더하자!
보상으로 한층 더 재미를!
14.4 출현 지점 조정
식물의 출현 지점을 늘려본다
식물이 나타나는 지점의 배치를 고려한다
사과와 철광석이 나타나는 지점을 고려한다
14.5 값 조정
아이템의 초기 배치와 출현 타이밍
체력의 감소도 및 수리의 진척도
체력 회복량
시험해보자!
[칼럼] 요시자와 프로듀서·디렉터와의 기획 대담 Ⅱ
더보기접기

저자

ㆍ지은이 아스나고지

지은이 소개
평소 IT 기술에 관심이 많아 컴퓨터 기술 분야의 전문 번역가로 활동하고 있다. 최근에는 건강의 소중함을 새삼 깨닫고 다이어트 앱의 도움을 받아 틈틈이 운동도 병행하며 균형 잡힌 삶을 위해 노력 중이다.

ㆍ옮긴이 김성재

옮긴이 소개
역자 김성재는 평소 IT 기술에 관심이 많아 컴퓨터 기술 분야의 전문 번역가로 활동하고 있다. 최근에는 건강의 소중함을 새삼 깨닫고 다이어트 앱의 도움을 받아 틈틈이 운동도 병행하며 균형 잡힌 삶을 위해 노력 중이다. 옮긴 책으로는 《인프라 엔지니어의 교과서》, 《게임 수학&물리 입문》, 《왜 게임에 빠질까》, 《유니티 게임 제작 입문》 등이 있다.

보도자료

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.