목차
이 책을 쓰는 이유 ... xxv
전통적인 어드밴처 게임 ... xxvi
유니티 게임 엔진에 대한 소개 ... xxvi
스크립트를 꼭 배워야 하나? ... xxvi
이 책의 기본 가정과 선행지식 ... xxx
이 책에서 다루지 않는 내용 ... xxx
이 책의 조판 관례 ... xxxi
소스 코드 ... xxxi
01장. 장르 살펴보기 ... 1
   역사적인 참고 자료 ... 1
      그래픽 어드벤처 ... 4
      루카스아츠 타이틀 ... 6
      실시간 게임으로의 빠른 변화 ... 7
   이 장르가 사람들을 끌어들이는 이유 ... 8
   흥미로운 장소와 재미있는 해결책 ... 14
      스타일의 정의 ... 16
      환경 나누기 ... 18
      시차 효과 ... 20
      애니메이션 ... 21
      도전 과제, 임무, 퍼즐 ... 22
   어드벤처 장르에 무슨 일이 일어난 걸까? ... 23
   최근 어드벤처 게임의 성공 ... 25
   게임의 재미와 사람 성격의 본질 ... 25
   왜 나만의 게임을 만들어야 하나? ... 28
      다양한 역할 ... 28
   인디 개발자에게 적합한 두 가지 게임 형식 ... 29
      1인칭 게임 ... 29
      캐릭터 ... 30
      두 게임 형식의 공통 요소 ... 31
   1인칭 게임의 디자인 고려 사항 ... 32
   이야기와 과제의 개발 ... 34
   실시간 게임과 프리렌더링 게임의 비교 ... 36
   정리 ... 50
02장. 유니티 UI의 기본 - 시작하기 ... 53
   유니티 설치와 시작 ... 53
   새 프로젝트 또는 장면의 로딩과 생성 ... 54
   레이아웃 ... 58
      장면 창 ... 59
      게임 창 ... 60
      계층 뷰 ... 60
      프로젝트 뷰 ... 61
      인스펙터 ... 62
   툴바 ... 63
   메뉴 ... 65
      파일 ... 65
      편집 ... 65
      에셋 ... 66
      게임 객체 ... 66
      컴포넌트 메뉴 ... 67
      지형 메뉴 ... 67
      창 메뉴 ... 67
      도움말 메뉴 ... 67
   간단한 객체의 생성 ... 68
   선택과 포커스 ... 73
   객체의 변형 ... 74
   스냅 ... 77
      정점 스냅 ... 78
   장면 툴 ... 79
      스냅을 활용하지 않는 정렬 ... 80
   조명 ... 82
   3D 객체 ... 90
      메시 ... 90
      메시의 하위 객체 ... 90
      매핑 ... 92
   재료 ... 98
   정리 ... 99
03장. 스크립트에 발 담그기 ... 101
   스크립트란? ... 101
   스크립트의 구성 요소 ... 103
      함수 ... 103
      변수 ... 113
      게임에서 객체 집기 ... 119
   마우스로 집은 횟수 세기 ... 124
   조건과 상태 ... 125
      조건문의 구조 ... 129
   계산 순서 ... 130
   정리 ... 130
04장. 지형 생성 - 테스트 환경의 생성 ... 133
   장면의 플라이쓰루 내비게이션 ... 139
   지형 ... 139
   페인트 텍스처 ... 144
   트리 ... 147
      하늘 ... 155
      다시 트리로 ... 159
      패키지 ... 159
   세부 표현 ... 170
      커스텀 지형 에셋의 생성 ... 175
      내보내기 vs. 네이티브 형식 사용하기 ... 178
   지형 설정 ... 178
   섀도우 ... 180
   안개 ... 186
   정리 ... 187
05장. 내비게이션과 기능 ... 189
   내비게이션 ... 189
   플랫폼 가지고 놀기 ... 216
   충돌 벽 ... 228
   첫 번째 빌드 ... 248
   정리 ... 254
06장. 커서 제어 ... 257
   커서 가시성 ... 257
   커스텀 커서 ... 260
   GUI 레이어 ... 261
      텍스처 임포터 ... 262
      힌트 색상 ... 273
      커서 위치 ... 273
      GUITexture 커서의 관리 ... 275
   객체 간 통신 ... 278
   마우스 오버 커서 변화 ... 282
      거리 확인 ... 290
   중간 빌드 ... 294
   마우스 오버에 대한 객체 반응 ... 296
   새 기능의 옵션화 ... 313
   이동 도중 마우스 오버 기능의 제한 ... 316
   정리 ... 317
07장. 액션 객체 ... 319
   에셋 임포트 ... 319
   임포트 ... 322
   FBX 임포터 ... 332
      개별 객체에 대한 상세 제어 ... 340
      개별 변형 ... 343
      복잡한 계층 구조 ... 345
      부모 지정 ... 346
   재료의 설정 ... 349
      열쇠 ... 349
      나무 상자 ... 356
      꽃 ... 360
   섀도우 ... 362
      정적 객체 ... 364
   콜라이더 ... 369
   애니메이션 ... 375
      Store in Root 접근 ... 379
   효과음의 추가 ... 385
   두 상태 애니메이션의 설정 ... 390
   유니티의 애니메이션 뷰 활용 ... 394
      임포트한 애니메이션의 수정 ... 406
   다른 객체의 애니메이션 트리거 ... 411
   한계점 ... 416
   정리 ... 417
08장. 상태 관리 ... 421
   가능성의 식별 ... 422
      플롯에 대한 소개 ... 423
      진행 과정 ... 424
      액션 아이템 ... 426
      스턴트 대역 ... 427
   플로우 차트의 개발 ... 428
      상태 메타데이터 전환 액션의 분리 ... 430
   상호작용 및 상태의 정의 ... 431
      상태 전환의 시각화 ... 431
      상태 다이어그램 ... 436
   결과의 판단 ... 439
   조회 테이블 ... 440
   문자열 파싱 ... 443
   객체 조회 스크립트 ... 445
   액션 관련 메시지 ... 456
   정리 ... 458
09장. 객체 메타데이터 ... 461
   상태 관련 메타데이터 ... 462
   존재 상태/위치 ... 464
   가시성 타입 ... 465
   게임 참고 문서 ... 466
   현재 상태 ... 467
   다시 살펴보는 마우스 집기 ... 468
   메타데이터의 추가 ... 473
   정리 ... 477
10장. 메시지 텍스트 ... 479
   GUI 스킨 ... 480
      운영체제 폰트 지원 ... 483
   텍스트 가시성 ... 492
   객체 메타 데이터의 활용 ... 497
   액션의 처리 ... 502
      실제 적용 ... 509
      오디오 관리 ... 510
      애니메이션의 처리 ... 512
      시작 값의 로드 ... 517
      폰트와 텍스트에 대한 상세 설명 ... 522
      액션 메시지의 활성화 ... 527
      동적인 읽기 시간 ... 532
      마지막 보정 ... 534
   정리 ... 537
11장. 아이템 저장소 로직 ... 539
   레이어 ... 539
   커서 변환 ... 544
      몇 가지 개선점 ... 549
   아이템 저장소 화면 ... 552
   조회 테이블의 확장 ... 564
      디버깅 ... 568
   아이템 저장소 아이콘의 추가 ... 569
   2D 객체의 처리 ... 579
   정리 ... 585
12장. 아이템 저장소 관리 ... 587
   태그 ... 597
   아이템 저장소 레이아웃 ... 600
   아이템 저장소 오버플로우 ... 604
   한계 범위 설정 ... 611
      아이템 그리드 저장소의 제한 ... 613
      화살표 제한 ... 617
   아이템 저장소에서의 객체 추가 및 제거 ... 620
      아이템 저장소에서의 객체 제거 ... 620
      아이템 저장소에 객체 추가 ... 624
      아이템의 조합 ... 626
      잘못된 집기 ... 628
   정리 ... 633
13장. 기본 기능 마무리 ... 635
   3D 객체 가시성의 처리 ... 635
      키 프레임 없는 페이드 효과의 개발 ... 640
      가시성 변경으로 인한 부작용 ... 642
      콜라이더 처리 ... 644
      일치하는 커서가 없는 경우의 처리 ... 648
   랜덤 응답 ... 649
   3D 장면에서의 커서 드롭 ... 657
      가시성 제어 함수의 개발 ... 663
      다시 살펴보는 액션 메시지 ... 666
      페이드 효과의 재확인 ... 671
   객체 간 상호작용 ... 673
      장면상의 객체 배치 ... 680
   특수 사례 ... 685
      확장 가능 코드 ... 685
      상태 변화가 없는 응답 ... 687
      보물 상자 시퀀스의 활성화 ... 689
      읽을 자료 ... 699
      메시지 숨기기 ... 707
   정리 ... 709
14장. 게임 요구사항 다루기 ... 711
   드롭 박스 ... 711
      꽃 살리기 ... 722
      절두체 컬링 ... 727
      묘약병 붓기 ... 729
      묘약병의 가시성 문제 해결 ... 732
      마법 일으키기 ... 732
      게임 객체의 소멸 처리 ... 738
      프리팹의 활성화 ... 740
   카메라 포커스 ... 742
      카메라 위치 조정 메타데이터 ... 745
      카메라 강제 위치 조정 스크립트의 작성 ... 748
   최종 에셋의 임포트 ... 755
      Structures 불러오기 ... 755
      재료와 광원 매핑 ... 758
      지하 ... 764
      사원 속으로 ... 770
      홀로그램 이미지 ... 775
      발코니 ... 780
      토피 열매 얻기 ... 782
      재미 요소들 ... 793
      폭포 ... 796
      재단의 가디언 ... 802
      가디언 ... 807
   정리 ... 814
15장. 미로와 최종 레벨 ... 817
   미로의 기하 ... 817
   미로의 관리 ... 823
   드롭 지점 ... 826
   트랩 검사 ... 831
   빼앗긴 무기 ... 834
   나머지 가능성의 처리 ... 837
      사용자 재설정 ... 837
      서랍 활성화 ... 840
      이스터 에그 ... 848
      동굴 입구 ... 851
   최종 레벨 ... 854
      트리 생성기 ... 854
      서 있는 비석 ... 857
      상급 ... 859
      바람의 손길 ... 860
      최종 지형 ... 861
      최종 시퀀스 ... 867
      환경 효과 ... 872
      애니메이션 이벤트 ... 876
      반짝이는 효과의 추가 ... 879
      여러 개의 토피 열매 ... 881
      레벨 로드 ... 887
   정리 ... 889
16장. 메뉴와 레벨 ... 891
   메뉴 접근 - 소메뉴 ... 891
      확인 대화상자 ... 896
      메뉴 모드의 추적 ... 899
      메인 메뉴 ... 902
      설정 메뉴 ... 907
      플레이어 설정 ... 910
      컨트롤 채우기 ... 913
      색상 설정 ... 917
   오디오 마무리 ... 924
      효과음 ... 925
      배경음 ... 927
      음악 ... 929
      음성 또는 대화 볼륨 ... 932
   메뉴용 커스텀 스킨 ... 934
      장면 이동과 장면 내 상호작용 중단 및 메뉴 마무리 ... 938
      실시간 배경 ... 941
   시작 메뉴/레벨 ... 945
      배경의 관리 ... 947
      레벨 변경 ... 953
   저장/불러오기 ... 955
      게임 데이터의 저장 ... 960
      저장된 데이터의 로드 ... 964
      정리 작업 ... 970
   마침내, 다시 처음으로 ... 975
   이제 게임이 완성됐나? ... 986
   최종 작업 ... 990
      퍼블리싱 ... 991
   퍼블리싱 ... 992
   정리 ... 994
17장. 기본 지식 넘어서기 ... 997
   추가 기능 ... 997
      HUD 점수/순위 ... 997
      힌트/난이도 ... 999
      여러 번의 저장 기능 ... 1001
      물리 이론과 발사체 ... 1002
      데이터 보관 ... 1002
      추가 콘텐츠 ... 1004
   1인칭에서 3인칭으로의 전환 ... 1004
      캐릭터 ... 1005
      카메라 ... 1007
      캐릭터 대화 ... 1008
      대화 트리 ... 1009
      캐릭터 대안 ... 1014
   모바일 플랫폼에 대한 디자인 고려사항 ... 1015
      라이선스, 하드웨어, 셋업 ... 1016
      스크립트 작성 ... 1018
      내비게이션과 입력 ... 1019
      셰이더와 텍스처 ... 1021
      다각형 개수 ... 1022
      배치 처리 ... 1023
      콜라이더 ... 1025
      메뉴와 GUI ... 1026
      기타 사항 ... 1026
   디자인 문서 ... 1027
      간략한 스토리 ... 1028
      상세 스토리 ... 1028
      게임의 목적 ... 1032
      게임의 타깃 플랫폼 ... 1032
      차별성과 시장성 ... 1032
      조작과 장면 이동 ... 1032
      게임 방식 ... 1033
      평가 방식, 점수 계산, 게임에 이기는 법 ... 1035
      레벨 설계 ... 1036
      시각 스타일 ... 1036
      사용자 인터페이스 ... 1036
      캐릭터와 액션 객체 ... 1037
      환경과 비상호작용 객체 ... 1038
      효과음 ... 1039
      음악 ... 1039
      음성 ... 1039
   정리 ... 1039
부록A. SSE 셰이더 그래프 ... 1043
   SSE BetterLightmap 셰이더 그래프 ... 1043
   SSE ReflectiveAlpha 셰이더 그래프 ... 1044
   SSE ReflectiveCutout 셰이더 그래프 ... 1045
부록B. 키 코드 ... 1049
찾아보기 ... 1054
닫기