책 소개
▣ 작가 소개
저자 : 이동훈
97년 서울대 경제학부 입학, 반수 후98년 서울대 법학부 입학.
수능, 논술을 2번씩 보고 서울대를 2번 들어간 수재 중의 수재.
더 큰 이상을 실현하고자 전 세계인을 상대로 분투하는 게임개발을 하고 있다. 일본어, 영어를 번역가 수준으로 구사하며, 유니티 엔진, 프로그래밍과 게임기획을 전문적으로 하고 있다.
▣ 주요 목차
목차
들어가기 전에 ● 003
서문 ● 003
본서의 활용 및 주의점 ● 003
본서의 구성 ● 004
본서에서 제작할 게임 예시 이미지 ● 005
CHAPTER 01. 게임의 개요 / 013
1.게임의 정의 ● 015
2.게임의 4대 구성요소 ● 016
①게임기획 ● 016
①-1.게임기획의 중요성 ● 016
①-2.게임기획의 분류 ● 019
②스토리 ● 019
③그래픽 ● 020
③-1.그래픽의 중요성과 한계 ● 020
③-2.그래픽의 분류 ● 020
③-3.그래픽 작업의 특성 ● 021
④프로그래밍 ● 022
④-1.프로그래밍은 게임의 필수조건 ● 022
④-2.프로그래밍의 분류 ● 022
④-3.프로그래밍 공부 방법 ● 023
⑤사용자 경험 ● 024
3.게임의 장르 ● 025
CHAPTER 02. 게임 개발의 개요 / 027
1.게임 개발의 모습 ● 029
①중, 대규모 개발의 경우 ● 029
②소규모 개발의 경우 ● 030
2.나홀로 하는 게임 개발의 방법 ● 031
①개발자금의 문제 ● 032
②소규모 개발 시의 주의점 ● 032
3.게임 개발 프로젝트의 관리 ● 034
①개발기간의 산정 ● 034
②실제 개발 시의 프로젝트 관리 ● 035
4.게임의 상업성 판단 ● 036
①게임 시장 ● 036
②게이머 ● 037
③게임의 재미 ● 039
④프로토타이핑 ● 040
⑤결론 ● 041
CHAPTER 03. 게임 개발 환경의 정비 / 043
1.유니티의 개요 및 장단점 ● 045
①유니티의 장점 ● 045
②유니티의 단점 ● 046
③결론 ● 046
2.유니티 설치 및 실행 ● 047
①유니티 무료판과 유료판 ● 047
②유니티 엔진의 다운로드 및 설치 ● 049
②-1.유니티 공식 릴리스 버전의 설치 ● 049
②-2.유니티 베타 버전의 설치 ● 053
②-3.유니티 엔진 프로그램의 사양 ● 054
3.비쥬얼 스튜디오 설치 ● 056
4.개발 시 참고할 여러 리소스들 ● 059
①유니티 공식홈 l UNITY3D.COM ● 059
②유니티 스크립팅 API l ANSWERS.UNITY3D.COM ● 059
③유니티 포럼 l FORUM.UNITY3D.COM ● 060
④구글링 l GOOGLE.COM ● 062
⑤유니티 앤서즈 l ANSWERS.UNITY3D.COM ● 063
⑥스택 오버플로우 l STACKOVERFLOW.COM ● 064
⑦MSDN l MSDN.MICROSOFT.COM/KO-KR/DEFAULT.ASPX ● 065
⑧유니티 한국 공식 카페 l CAFE.NAVER.COM/UNITYHUB ● 066
CHAPTER 04. 게임 기획 / 067
1.좋은 게임 기획의 방법 ● 069
①자발성 ● 069
②규칙성 ● 070
③상호작용성 ● 071
④게이머의 입장 ● 072
2.나 홀로 하는 게임기획 ● 073
①나 홀로 하는 게임 기획의 특징 ● 073
②게임 기획의 방법 ● 074
②-1.개발기간의 문제 ● 074
②-2.필수적인 게임의 요소 ● 075
②-3.단순화한 게임을 기획 ● 076
②-4기획서의 작성 ● 076
3.어떤 게임을 만들 것인가? ● 077
CHAPTER 05. 게임 제작의 준비 / 079
1.유니티 프로젝트 만들기 ● 081
2.게임 에셋의 구입 및 확보 ● 084
①에셋 구입처 ● 085
①-1.유니티 에셋 스토어 ● 085
①-2.터보스퀴드 ● 086
①-3.아카이브3D ● 087
①-4.엔바토 마켓 ● 087
②에셋의 확보 예제 ● 088
CHAPTER 06. 오브젝트 만들기 및 유니티 에디터 기본 / 093
1.유니티 에디터 ● 095
①유니티의 주요 윈도우 ● 095
①-1.Scene (씬) ● 096
①-2.Hierarchy (하이어아키) ● 097
①-3.Inspector (인스펙터) ● 098
①-4.Project (프로젝트) ● 099
①-5.Console (콘솔) ● 101
①-6.Game (게임) ● 102
②유니티의 초기 셋팅 ● 105
2.유니티 씬(Scene) 및C#기초 ● 107
①씬의 개념 ● 107
②유니티C#스크립트의 기초 ● 107
③씬 사이의 이동 ● 114
CHAPTER 07. 유니티 중요 구성요소 및 C# 기본 / 119
1.아군 기체 만들기 ● 121
①Prefab(프리팹) ● 121
②Collider (컬라이더) ● 122
③Rigidbody (리짓바디) ● 125
④Mesh Renderer, Shader(메쉬 렌더러, 쉐이더) ● 127
⑤Camera(카메라) ● 128
⑥일반화 프로그래밍 (추상클래스와 인터페이스) ● 130
⑥-1.추상클래스 (Abstract Class) ● 131
⑥-2.인터페이스 ● 134
⑦게임오브젝트 사이의, 스크립트 사이의 통신 ● 138
⑦-1.스크립트 변수 참조 ● 138
⑦-2.스태틱 변수 선언 ● 141
⑦-3.이벤트 발생 및 구독 ● 142
⑦-4.GameObject.SendMessage ● 146
⑦-5.GetComponent ● 147
⑧속성(Property)과 열거형(Enum) ● 148
⑧-1.속성 (Property) ● 148
⑧-2.열거형 (Enum) ● 151
⑨변수의 형식과 그 변환, 연산자 ● 153
⑨-1.변수의 형식 ● 154
⑨-2.변수의 형식변환 ● 154
⑨-3.연산자 (Operator) ● 157
⑩충돌검출 및 그 활용 ● 160
2.적군 기체 만들기 ● 162
CHAPTER 08. 유니티 스크립팅 / 167
1.유니티와 C# 프로그래밍에 대해서 ● 169
①클라이언트 프로그래밍의 개념 ● 169
②MVVM ● 170
③코드의 관리, 가독성 ● 170
④유니티, 프로그래밍 학습방법 ● 171
2.아군 기체 기능 구현 ● 172
①기체의 스탯 (얕은 복사와 깊은 복사) ● 172
②기체의 움직임 구현 ● 177
③발사체 구현 ● 184
3.적군 기체 기능 구현 ● 203
4.배경 만들기 및 움직이기 ● 205
①화면 해상도 설정 ● 206
②배경 만들기 ● 207
CHAPTER 09. 이펙트 및 애니메이션 / 213
1.이펙트 만들기 ● 215
2.애니메이션 ● 219
CHAPTER10. 스테이지 만들기 및 게임매니저 / 229
1.스테이지 및 게임 진행 ● 231
2.게임매니저 스크립트 ● 232
CHAPTER11. 유저 인터페이스 만들기 / 239
1.HP바 만들기 ● 241
2.게임 스코어 표시 ● 246
3.상점 인터페이스 UI 만들기 ● 255
4.게임 메뉴 UI 만들기 ● 268
①Toggle(토글) 만들기 ● 268
②Dropdown(드롭다운) 만들기 ● 274
CHAPTER12. 게임 사운드 넣기 / 289
1.사운드 에셋 구하기 ● 291
2.사운드 에셋 유니티에 적용하기 ● 292
①사운드 에셋 임포트하기 ● 292
②Audio Listener(오디오 리스너) ● 293
③Audio Source(오디오 소스) ● 295
3.사운드 매니저 스크립팅 ● 297
CHAPTER13. 게임 이벤트 넣기 / 303
1.게임의 정지 및 재개 구현 ● 305
2.이벤트 처리 구현 ● 307
CHAPTER14. 게임의 저장 / 309
1.PlayerPrefs (플레이어프렙스) ● 311
2.Serialization (시리얼라이제이션) ● 312
3.XML, JSON 시리얼라이저 ● 314
4.게임서버 (Mysql, PHP) 및 보안 ● 316
①게임 서버 ● 316
②보안문제 ● 317
CHAPTER15. 안드로이드 빌드 만들기 / 319
1.유니티 빌드 세팅 설정하기 ● 321
2.빌드 암호 설정하기 ● 326
3.최종 빌드 만들기 ● 329
CHAPTER16. 게임을 구글 스토어에 올리기 / 331
1.구글 개발자 계정 만들기 ● 333
2.구글 콘솔 앱 셋업하기 ● 334
3.가격 설정 및 출시하기 ● 339
①가격 설정 ● 339
②출시하기 ● 340
4.유니티 광고 붙이기 ● 342
5.기타 스토어 관련 사항들 ● 350
CHAPTER17. 한 걸음 더 나아가기 / 351
1.게임 수정, 추가하기 ● 353
2.C#고급문법을 마스터 하자 ● 354
3.여러가지 게임의 장르와 기획의 결정 ● 355
4.궁극의 분기점-프로그래머가될것인가, 게임기획자가될것인가 ● 355
④-1.프로그래머 ● 355
④-2.게임기획자 ● 356
④-3.기타 다른게임의 분야 ● 357
5.이제부터 무엇을 할 것인가? ● 357
저자 : 이동훈
97년 서울대 경제학부 입학, 반수 후98년 서울대 법학부 입학.
수능, 논술을 2번씩 보고 서울대를 2번 들어간 수재 중의 수재.
더 큰 이상을 실현하고자 전 세계인을 상대로 분투하는 게임개발을 하고 있다. 일본어, 영어를 번역가 수준으로 구사하며, 유니티 엔진, 프로그래밍과 게임기획을 전문적으로 하고 있다.
▣ 주요 목차
목차
들어가기 전에 ● 003
서문 ● 003
본서의 활용 및 주의점 ● 003
본서의 구성 ● 004
본서에서 제작할 게임 예시 이미지 ● 005
CHAPTER 01. 게임의 개요 / 013
1.게임의 정의 ● 015
2.게임의 4대 구성요소 ● 016
①게임기획 ● 016
①-1.게임기획의 중요성 ● 016
①-2.게임기획의 분류 ● 019
②스토리 ● 019
③그래픽 ● 020
③-1.그래픽의 중요성과 한계 ● 020
③-2.그래픽의 분류 ● 020
③-3.그래픽 작업의 특성 ● 021
④프로그래밍 ● 022
④-1.프로그래밍은 게임의 필수조건 ● 022
④-2.프로그래밍의 분류 ● 022
④-3.프로그래밍 공부 방법 ● 023
⑤사용자 경험 ● 024
3.게임의 장르 ● 025
CHAPTER 02. 게임 개발의 개요 / 027
1.게임 개발의 모습 ● 029
①중, 대규모 개발의 경우 ● 029
②소규모 개발의 경우 ● 030
2.나홀로 하는 게임 개발의 방법 ● 031
①개발자금의 문제 ● 032
②소규모 개발 시의 주의점 ● 032
3.게임 개발 프로젝트의 관리 ● 034
①개발기간의 산정 ● 034
②실제 개발 시의 프로젝트 관리 ● 035
4.게임의 상업성 판단 ● 036
①게임 시장 ● 036
②게이머 ● 037
③게임의 재미 ● 039
④프로토타이핑 ● 040
⑤결론 ● 041
CHAPTER 03. 게임 개발 환경의 정비 / 043
1.유니티의 개요 및 장단점 ● 045
①유니티의 장점 ● 045
②유니티의 단점 ● 046
③결론 ● 046
2.유니티 설치 및 실행 ● 047
①유니티 무료판과 유료판 ● 047
②유니티 엔진의 다운로드 및 설치 ● 049
②-1.유니티 공식 릴리스 버전의 설치 ● 049
②-2.유니티 베타 버전의 설치 ● 053
②-3.유니티 엔진 프로그램의 사양 ● 054
3.비쥬얼 스튜디오 설치 ● 056
4.개발 시 참고할 여러 리소스들 ● 059
①유니티 공식홈 l UNITY3D.COM ● 059
②유니티 스크립팅 API l ANSWERS.UNITY3D.COM ● 059
③유니티 포럼 l FORUM.UNITY3D.COM ● 060
④구글링 l GOOGLE.COM ● 062
⑤유니티 앤서즈 l ANSWERS.UNITY3D.COM ● 063
⑥스택 오버플로우 l STACKOVERFLOW.COM ● 064
⑦MSDN l MSDN.MICROSOFT.COM/KO-KR/DEFAULT.ASPX ● 065
⑧유니티 한국 공식 카페 l CAFE.NAVER.COM/UNITYHUB ● 066
CHAPTER 04. 게임 기획 / 067
1.좋은 게임 기획의 방법 ● 069
①자발성 ● 069
②규칙성 ● 070
③상호작용성 ● 071
④게이머의 입장 ● 072
2.나 홀로 하는 게임기획 ● 073
①나 홀로 하는 게임 기획의 특징 ● 073
②게임 기획의 방법 ● 074
②-1.개발기간의 문제 ● 074
②-2.필수적인 게임의 요소 ● 075
②-3.단순화한 게임을 기획 ● 076
②-4기획서의 작성 ● 076
3.어떤 게임을 만들 것인가? ● 077
CHAPTER 05. 게임 제작의 준비 / 079
1.유니티 프로젝트 만들기 ● 081
2.게임 에셋의 구입 및 확보 ● 084
①에셋 구입처 ● 085
①-1.유니티 에셋 스토어 ● 085
①-2.터보스퀴드 ● 086
①-3.아카이브3D ● 087
①-4.엔바토 마켓 ● 087
②에셋의 확보 예제 ● 088
CHAPTER 06. 오브젝트 만들기 및 유니티 에디터 기본 / 093
1.유니티 에디터 ● 095
①유니티의 주요 윈도우 ● 095
①-1.Scene (씬) ● 096
①-2.Hierarchy (하이어아키) ● 097
①-3.Inspector (인스펙터) ● 098
①-4.Project (프로젝트) ● 099
①-5.Console (콘솔) ● 101
①-6.Game (게임) ● 102
②유니티의 초기 셋팅 ● 105
2.유니티 씬(Scene) 및C#기초 ● 107
①씬의 개념 ● 107
②유니티C#스크립트의 기초 ● 107
③씬 사이의 이동 ● 114
CHAPTER 07. 유니티 중요 구성요소 및 C# 기본 / 119
1.아군 기체 만들기 ● 121
①Prefab(프리팹) ● 121
②Collider (컬라이더) ● 122
③Rigidbody (리짓바디) ● 125
④Mesh Renderer, Shader(메쉬 렌더러, 쉐이더) ● 127
⑤Camera(카메라) ● 128
⑥일반화 프로그래밍 (추상클래스와 인터페이스) ● 130
⑥-1.추상클래스 (Abstract Class) ● 131
⑥-2.인터페이스 ● 134
⑦게임오브젝트 사이의, 스크립트 사이의 통신 ● 138
⑦-1.스크립트 변수 참조 ● 138
⑦-2.스태틱 변수 선언 ● 141
⑦-3.이벤트 발생 및 구독 ● 142
⑦-4.GameObject.SendMessage ● 146
⑦-5.GetComponent ● 147
⑧속성(Property)과 열거형(Enum) ● 148
⑧-1.속성 (Property) ● 148
⑧-2.열거형 (Enum) ● 151
⑨변수의 형식과 그 변환, 연산자 ● 153
⑨-1.변수의 형식 ● 154
⑨-2.변수의 형식변환 ● 154
⑨-3.연산자 (Operator) ● 157
⑩충돌검출 및 그 활용 ● 160
2.적군 기체 만들기 ● 162
CHAPTER 08. 유니티 스크립팅 / 167
1.유니티와 C# 프로그래밍에 대해서 ● 169
①클라이언트 프로그래밍의 개념 ● 169
②MVVM ● 170
③코드의 관리, 가독성 ● 170
④유니티, 프로그래밍 학습방법 ● 171
2.아군 기체 기능 구현 ● 172
①기체의 스탯 (얕은 복사와 깊은 복사) ● 172
②기체의 움직임 구현 ● 177
③발사체 구현 ● 184
3.적군 기체 기능 구현 ● 203
4.배경 만들기 및 움직이기 ● 205
①화면 해상도 설정 ● 206
②배경 만들기 ● 207
CHAPTER 09. 이펙트 및 애니메이션 / 213
1.이펙트 만들기 ● 215
2.애니메이션 ● 219
CHAPTER10. 스테이지 만들기 및 게임매니저 / 229
1.스테이지 및 게임 진행 ● 231
2.게임매니저 스크립트 ● 232
CHAPTER11. 유저 인터페이스 만들기 / 239
1.HP바 만들기 ● 241
2.게임 스코어 표시 ● 246
3.상점 인터페이스 UI 만들기 ● 255
4.게임 메뉴 UI 만들기 ● 268
①Toggle(토글) 만들기 ● 268
②Dropdown(드롭다운) 만들기 ● 274
CHAPTER12. 게임 사운드 넣기 / 289
1.사운드 에셋 구하기 ● 291
2.사운드 에셋 유니티에 적용하기 ● 292
①사운드 에셋 임포트하기 ● 292
②Audio Listener(오디오 리스너) ● 293
③Audio Source(오디오 소스) ● 295
3.사운드 매니저 스크립팅 ● 297
CHAPTER13. 게임 이벤트 넣기 / 303
1.게임의 정지 및 재개 구현 ● 305
2.이벤트 처리 구현 ● 307
CHAPTER14. 게임의 저장 / 309
1.PlayerPrefs (플레이어프렙스) ● 311
2.Serialization (시리얼라이제이션) ● 312
3.XML, JSON 시리얼라이저 ● 314
4.게임서버 (Mysql, PHP) 및 보안 ● 316
①게임 서버 ● 316
②보안문제 ● 317
CHAPTER15. 안드로이드 빌드 만들기 / 319
1.유니티 빌드 세팅 설정하기 ● 321
2.빌드 암호 설정하기 ● 326
3.최종 빌드 만들기 ● 329
CHAPTER16. 게임을 구글 스토어에 올리기 / 331
1.구글 개발자 계정 만들기 ● 333
2.구글 콘솔 앱 셋업하기 ● 334
3.가격 설정 및 출시하기 ● 339
①가격 설정 ● 339
②출시하기 ● 340
4.유니티 광고 붙이기 ● 342
5.기타 스토어 관련 사항들 ● 350
CHAPTER17. 한 걸음 더 나아가기 / 351
1.게임 수정, 추가하기 ● 353
2.C#고급문법을 마스터 하자 ● 354
3.여러가지 게임의 장르와 기획의 결정 ● 355
4.궁극의 분기점-프로그래머가될것인가, 게임기획자가될것인가 ● 355
④-1.프로그래머 ● 355
④-2.게임기획자 ● 356
④-3.기타 다른게임의 분야 ● 357
5.이제부터 무엇을 할 것인가? ● 357
01. 반품기한
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
03. 배송상태에 따른 환불안내
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
04. 취소방법
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
06. 취소반품 불가 사유
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |