고도 엔진 4 : 게임 개발 프로젝트
Description
강력한 무료 오픈 소스 게임 엔진, 고도 4를 만나다
풍부한 기능을 갖춘 고도 게임 엔진 버전 4 입문서. 다양한 신기능을 갖춘 고도 4는 고가의 상용 게임 엔진에 대한 강력한 대안이다. 이 책은 고도 엔진의 2D 및 3D 기능을 충실하게 활용하는 5개의 프로젝트로 구성되었다. 소규모 게임 프로젝트의 제작법을 따라 하는 과정에서 고도의 내부 작동 방식을 이해하고, 자신의 프로젝트에 적용할 수 있는 개발 기법을 익힐 수 있다. 간단한 단계별 접근 방식과 실용적인 예제를 통해 기초부터 정교한 게임 물리, 애니메이션까지 모든 것을 다룬다. 원서의 4.1 버전 대신 한국어 4.2 버전 기준으로 업데이트했고, 한국어판 부록으로 고도 엔진 에디터 메뉴 설명을 추가했다.

저자

크리스브래드필드

저자:크리스브래드필드

IT업계에서25년넘게일하고있다.한국과미국의여러MMO및소셜게임퍼블리셔에서근무하며게임디자이너,개발자,제품관리자,비즈니스개발임원등의경력을거쳐왔다.

교육에도관심이많아2012년에는중고등학생을대상으로프로그래밍교육과커리큘럼을제공하는키즈캔코드(KidsCanCode)를설립했으며,전세계게임개발학생들을위한비디오및텍스트기반튜토리얼과학습자료도제작하고있다.



역자:강세중

로봇을만들고싶어서기계공학과에들어갔으나“여러분,피말리는〈삼국지〉는하지맙시다”라는선배의충고를듣고오히려게임에빠지게됐다.하이텔보드게임동호회창립멤버로활동하다‘게임기획’을도와달라는지인의부탁을받고MO전략RPG〈바이올렘〉의디자인을맡으며게임업계에첫발을내디뎠다.이후10여년간엔소니의기획이사로서각종모바일게임을꾸준히디자인/프로듀스해오다넷게임즈(현넥슨게임즈)기획조정실을끝으로현업에서물러나게임및과학기술서적번역으로눈을돌렸다.번역한책으로《마인크래프트최강전략백과》시리즈,《게임시스템디자인입문》등이있다.

목차


옮긴이머리말x
추천의글xiii
베타리더후기xvi
이책에대하여xix
감사의글xxii

CHAPTER1고도4소개
1.1시작을위한조언2
__1.1.1효과적인학습비결3
1.2게임엔진이란무엇인가?4
1.3고도란무엇인가?5
1.4고도다운로드6
__1.4.1다른설치방법7
1.5고도UI개요9
__1.5.1프로젝트매니저9
__1.5.2에디터창11
1.6노드와씬14
1.7고도에서의스크립팅15
__1.7.1GDScript15
요약16

CHAPTER2코인대시:첫2D게임만들기
2.1기술적요구사항18
2.2프로젝트설정19
2.3벡터와2D좌표계21
2.41단계:플레이어씬22
__2.4.1씬생성23
__2.4.2스프라이트애니메이션24
__2.4.3콜리전모양26
__2.4.4플레이어스크립트작성28
__2.4.5플레이어이동29
__2.4.6애니메이션선택31
__2.4.7플레이어의이동시작및종료32
__2.4.8충돌에대비하기32
2.52단계:동전씬35
__2.5.1노드설정35
__2.5.2동전스크립트36
2.63단계:메인씬37
__2.6.1노드설정37
__2.6.2메인스크립트38
__2.6.3새게임시작39
2.74단계:사용자인터페이스41
__2.7.1노드설정41
__2.7.2메시지레이블42
__2.7.3점수및시간표시개요43
__2.7.4점수및시간표시구현43
__2.7.5GDScript를통한UI업데이트44
__2.7.6게임오버45
__2.7.7메인에HUD추가46
2.85단계:마무리47
__2.8.1비주얼이펙트47
__2.8.2사운드49
__2.8.3파워업49
__2.8.4동전애니메이션52
__2.8.5장애물53
요약54

CHAPTER3스페이스록:물리엔진으로고전2D아케이드만들기
3.1기술적요구사항56
3.2프로젝트설정56
__3.2.1리지드바디물리학58
3.3플레이어우주선60
__3.3.1바디및물리설정60
__3.3.2상태기계62
__3.3.3플레이어컨트롤추가64
__3.3.4화면휘감기66
__3.3.5사격68
3.4바위추가71
__3.4.1씬설정71
__3.4.2다양한크기의바위72
__3.4.3바위인스턴스화73
__3.4.4폭발하는바위76
3.5UI제작80
__3.5.1레이아웃81
__3.5.2UI스크립트83
__3.5.3메인씬의UI코드84
__3.5.4플레이어코드86
3.6게임종료88
__3.6.1리지드바디사이의콜리전감지89
3.7게임일시정지90
3.8적92
__3.8.1경로따라가기92
__3.8.2적씬94
__3.8.3적이동94
__3.8.4적스폰95
__3.8.5적사격및충돌96
3.9플레이어보호막99
3.10사운드및비주얼이펙트103
__3.10.1사운드와음악103
__3.10.2파티클104
__3.10.3적의자취107
요약108

CHAPTER4정글점프:2D플랫포머의달리기와점프
4.1기술적요구사항110
4.2프로젝트설정110
4.3키네마틱바디소개112
__4.3.1콜리전반응112
4.4플레이어씬만들기113
__4.4.1콜리전레이어와마스크114
__4.4.2AnimationPlayer에대해114
__4.4.3애니메이션115
__4.4.4콜리전모양116
__4.4.5플레이어씬마무리117
__4.4.6플레이어상태117
__4.4.7플레이어스크립트119
__4.4.8플레이어이동120
__4.4.9플레이어체력122
4.5수집용아이템124
__4.5.1씬설정124
__4.5.2수집용아이템스크립트125
4.6레벨디자인126
__4.6.1타일맵사용127
__4.6.2첫번째레벨디자인130
__4.6.3위험한오브젝트추가132
__4.6.4배경스크롤133
4.7적추가136
__4.7.1씬설정136
__4.7.2적스크립트137
__4.7.3적에게피해주기138
__4.7.4플레이어스크립트140
4.8게임UI142
__4.8.1씬설정142
__4.8.2HUD스크립트144
__4.8.3HUD붙이기144
4.9타이틀화면145
__4.9.1씬설정145
4.10메인씬설정147
4.11레벨간전환149
__4.11.1Door씬149
__4.11.2화면설정150
4.12마무리작업151
__4.12.1사운드이펙트151
__4.12.2이중점프152
__4.12.3먼지파티클153
__4.12.4사다리154
__4.12.5움직이는플랫폼157
요약159

CHAPTER53D미니골프:미니골프코스를만들며3D로뛰어들기
5.1기술적요구사항162
5.23D에대한소개162
__5.2.13D공간에서방향지정162
__5.2.2고도의3D에디터164
__5.2.33D오브젝트추가165
__5.2.4글로벌공간과로컬공간166
__5.2.5변형166
__5.2.6메시167
__5.2.7카메라169
5.3프로젝트설정170
5.4코스만들기171
__5.4.1GridMap이해하기172
__5.4.2첫번째홀그리기172
__5.4.3환경과조명174
__5.4.4홀추가하기175
5.5공만들기176
__5.5.1공테스트176
__5.5.2공콜리전개선177
5.6UI추가하기178
__5.6.1화살표로겨냥하기178
__5.6.2UI디스플레이181
5.7게임스크립팅182
__5.7.1UI코드183
__5.7.2메인스크립트184
__5.7.3공스크립트186
__5.7.4테스트하기187
__5.7.5겨냥개선옵션1188
__5.7.6겨냥개선옵션2189
__5.7.7카메라개선191
__5.7.8전체코스디자인193
5.8비주얼이펙트194
__5.8.1머티리얼추가195
5.9조명과환경198
요약199

CHAPTER6인피니트플라이어
6.1기술적요구사항202
6.2프로젝트설정202
__6.2.1입력202
6.3비행기씬203
__6.3.1콜리전모양205
__6.3.2비행기스크립트작성205
6.4월드만들기208
__6.4.1월드오브젝트209
__6.4.2청크212
6.5메인씬216
__6.5.1새청크스폰하기218
__6.5.2난이도조절219
__6.5.3콜리전221
__6.5.4연료와점수223
6.6타이틀화면226
6.7오디오228
6.8하이스코어저장하기228
__6.8.1파일위치에대해229
__6.8.2파일접근229
6.9추가기능에대한제안230
요약231

CHAPTER7다음단계와추가리소스
7.1고도문서사용하기234
__7.1.1API문서읽기235
7.2버전관리:고도에서깃사용236
7.3고도와블렌더병용하기238
__7.3.1가져오기힌트238
__7.3.2블렌드파일사용하기239
7.4프로젝트내보내기240
__7.4.1내보내기템플릿241
__7.4.2내보내기프리셋241
__7.4.3내보내기242
__7.4.4특정플랫폼용으로내보내기243
7.5셰이더소개244
__7.5.12D셰이더만들기245
__7.5.23D셰이더250
__7.5.3추가학습253
7.6고도에서다른프로그래밍언어사용하기253
__7.6.1C#254
__7.6.2그밖의언어:GDExtension256
7.7도움받기:커뮤니티리소스257
__7.7.1고도레시피257
7.8고도에기여하기258
__7.8.1엔진에기여259
__7.8.2문서작성259
__7.8.3기부260
요약260

APPENDIXA한국어판부록:고도엔진에디터메뉴버튼설명
A.1에디터선택메뉴262
A.22D에디터상단메뉴263
A.33D에디터상단메뉴와원근버튼266
A.4플레이테스트메뉴바268
A.5고도에디터활용참고문서269

마치며271
찾아보기272

출판사 서평

게임엔진계의샛별,고도엔진으로게임개발시작하기
한국어판부록으로고도엔진에디터메뉴설명까지

유니티가격정책이슈이후로무료오픈소스게임엔진인고도엔진은점점더인기를얻고있다.고도엔진은사용하기쉽고가벼울뿐더러복잡한라이선스문제가없어서상업용게임을전세계에배포하는데부담이없다.게다가4.0버전에는고가의상용게임엔진에버금가는새기능이대거추가되어세계3위엔진으로올라섰다.개인또는소수인원의팀이무료엔진을사용해자기게임을만들수있는시대가열린것이다.

하지만지금까지는고도엔진에대해참고할만한자료가국내에거의없었다.고도에디터는한국어를100%지원하지만,고도4문서대부분은아직번역되지않은채남아있는실정이다.이러한상황에서에디터사용법부터실제게임개발방법까지쉽고자세하게설명하는책이나왔다.책에서설명하는5가지크로스플랫폼2D및3D게임프로젝트예제로쉽게고도엔진과친해질수있으며,게임을개발하는방법을제대로이해할수있다.원서의4.1버전대신한국어4.2버전으로업데이트해최신기능까지쉽게활용할수있다.

1장에서는게임엔진의전반적인개념과고도의특성을소개하며,고도를다운로드하는방법과이책을효과적으로사용하는방법을알아본다.2장에서는작은2D게임<코인대시>를만들면서씬을만들고고도엔진의노드시스템으로작업하는방법과고도에디터사용법,GDScript로스크립트를작성하는방법을배운다.3장에서는고전2D아케이드게임<스페이스록>을만들며물리바디를사용하여<아스테로이드>식우주게임을만드는방법을알아본다.

4장에서는<슈퍼마리오브라더스>식횡스크롤플랫폼게임<정글점프>를만들어본다.키네마틱바디,애니메이션상태,타일맵을사용한레벨디자인에대해배울수있다.5장에서는이전개념을3D로확장해<3D미니골프>를만들고,메시,조명,카메라제어등을익힌다.6장<인피니트플라이어>에서는계속해서3D개발을탐색하며동적콘텐츠,절차적생성,기타3D기법을다룬다.7장에서는추가로알아두면도움이되는주제와리소스를살펴본다.마지막으로한국독자를위해부록으로고도엔진에디터메뉴설명을수록했다.

최종프로젝트를마칠때쯤이면고도4를이용해게임과게임시스템을실제로개발및구현할수있을것이다.1인개발을시작하려는초보자는손쉽게게임개발기술을익히고나아가자신만의게임을만들수있으며,무료게임엔진사용을고려중인팀과숙련된개발자는강력하고커스터마이징가능한고도엔진으로비전을실현할수있다.앞으로프로덕트까지진행되는고도엔진프로젝트가많이나오기를기대한다.

주요내용
*고도와함께게임엔진과에디터에익숙해지기
*고도4의새로운기능탐색하기
*디자인및코딩모범사례를활용하여2D및3D게임제작하기
*고도의내장스크립팅언어인GDScript를사용하여복잡한게임시스템만들기
*직관적인사용자인터페이스를구현해서정보표시하기
*매혹적인시각효과로게임에풍미더하기
*데스크톱및모바일플랫폼으로게임퍼블리싱하기