게임 디자인, 프로토타입 제작, 개발 2/e [유니티와 C#을 활용해 개념부터 플레이 가능한 게임 제작까지]
- 원서명Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#, 2nd Edition (ISBN 9780134659862)
- 지은이제레미 깁슨 본드(Jeremy Gibson Bond)
- 옮긴이이승준
- ISBN : 9791161757889
- 75,000원
- 2023년 09월 27일 펴냄
- 페이퍼백 | 1,356쪽 | 188*235mm
- 시리즈 : 게임 개발 프로그래밍
책 소개
30장의 실습 파일은 여기에서 내려 받으실 수 있습니다.
32장의 실습 완료 프로젝트는 아래 링크에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/game-design-2e-1
https://github.com/AcornPublishing/game-design-2e-2
https://github.com/AcornPublishing/game-design-2e-3
https://github.com/AcornPublishing/game-design-2e-4
https://github.com/AcornPublishing/game-design-2e-5
https://github.com/AcornPublishing/game-design-2e-6
https://github.com/AcornPublishing/game-design-2e-7
https://github.com/AcornPublishing/game-design-2e-8
https://github.com/AcornPublishing/game-design-2e-9
32장, 34장, 35장의 패키지는 여기에서 내려받으실 수 있습니다.
요약
게임 디자인 이론과 프로토타입 제작을 이어주는 책은 아주 드물다. 서로 떨어져 있는 두 요소를 하나로 이어주는 통합서가 된다. 게임 디자인 이론부터 프로그래밍 언어를 거쳐 프로토타입 제작까지 한 권으로 멋지게 엮어 원스톱 쇼핑(한 곳에서 필요한 모든 것을 획득)을 가능케 한 훌륭한 책이다. 2판의 번역을 현재 유니티 최신 버전인 2023.1 버전에 맞게 다시 업데이트해 출간했다.
추천의 글
게임 디자이너와 교육자에 대한 나만의 이론이 있다. 두 직업의 겉모습에는 차이가 있지만 이 둘은 예상 외로 서로 상당히 비슷하며 게임 디자이너로서 성공하기 위해 갖춰야 할 여러 기술은 훌륭한 교육자에게도 필수적이다. 놀랍고 흥미로운 얘기와 퍼즐로 수업시간 내내 학생들의 이목을 집중하게 하고, 이해하고 따라 하기는 쉽지만 완전히 체득하기는 어려운 기술을 간단하게 보여주기도 하며, 지식의 조각을 여러분이 모르는 사이에 서서히 그러면서도 명확하게 소화하게 도와주고, 여러분이 할 수 있으리라고는 상상도 못한 놀라운 일을 해내는 동안 옆에서 한걸음 물러서 지켜봐주는 선생님이 여러분에게도 있었을 것이다.
게임 디자이너는 게임을 진행하는 데 필요한 기술을 게이머에게 가르치는 방법을 찾고자 많은 시간을 보낸다. 그러면서 때로는 게이머가 무언가를 배우고 있다는 것조차 깨닫지 못하게끔 디자인하기를 원한다. 즉, 흥미진진한 모험의 시작처럼 보이는 것이 바로 게임에서 최상의 튜토리얼이다. 나는 너티독(Naughty Dog) 게임 스튜디오에서 8년 동안 플레이스테이션 3용 <언차티드(Uncharted)> 시리즈 세 편에 선임 또는 공동선임 디자이너로 참여하는 굉장한 경험을 했다. 그중에서도 <언차티드>의 오프닝 시퀀스에 참여한 모든 이가 만족스러워했던 작업으로 기억에 남아 있다. 이 오프닝 시퀀스는 우리의 영웅인 네이선 드레이크(Nathan Drake)를 절벽 끝에 걸린 열차 객차에서 구해내고자 한시도 눈을 뗄 수 없게 만들면서도 플레이어에게 게임을 하는 데 필요한 모든 기본적인 조작법을 효과적으로 가르쳐준다.
게임 디자이너는 우리가 참여할 디지털 모험을 창조하는 동안 끊임없이 이러한 일을 해야 한다. <언차티드> 게임에 나오는 것과 같은 플레이어 경험의 시퀀스를 제작하면서 나는 플레이어가 방금 무엇을 배웠는지 항상 염두에 둬야 했다. 그리고 새로 배운 기술을 사용해야 해결할 수 있는 흥미로운 상황을 너무 어렵지 않으면서도 재미를 유지할 수 있을 만큼의 난이도로 끊임없이 제시해야 했다. 이러한 모든 일을 환경에 포함된 그래픽과 그 안의 캐릭터와 물체, 게임 사운드 그리고 게임 컨트롤의 상호작용을 통한 게임의 채널만을 사용해 다른 사람을 상대로 한다는 것은 생각보다 굉장히 어려운 일이었지만 그와 동시에 내가 경험한 일 중에 서 가장 보람된 일이었다.
대학교에서 게임 디자인을 가르치는 교수가 된 지금에는 게임 디자이너로 일하는 동안 체득한 많은 기술이 학생을 가르치는 데도 유용하다는 것을 알게 됐다. 가르치는 일 또한 그 가르침이 게임 디자인만큼이나 보람된 일이라는 것을 깨달았다. 따라서 이 책의 저자인 제레미 깁슨 본드는 게임 디자이너뿐만 아니라 교수로서도 탁월한 재능을 가진 사람이며 이제 여러분도 그의 재능을 확인할 수 있게 될 것이다.
제레미와 나는 약 15년 전에 북부 캘리포니아에서 열린 연례 게임 개발자 콘퍼런스(GDC)에서 처음 만나 금세 격의 없이 가까워졌다. 그는 이미 게임 개발자로서 성공적인 경력이 있었고 게임 디자인에 대한 그의 열정이 공감대를 이뤘다. 이 책을 읽으면서 알 수 있겠지만 그는 게임 디자인을 하나의 최신 예술로서 다루기를 좋아한다. 제레미와 나는 수년간 연락을 주고받았고, 이후 그는 카네기멜론 대학교 대학원으로 돌아가서 랜디 포시(Randy Pausch)와 제시 셸(Jesse Schell) 같은 유명한 학자들에게 배웠다. 그러다 우리 둘은 서던캘리포니아 대학교(USC) 시네마틱 아트 스쿨 부속 인터랙티브 미디어 & 게임즈 학부(지금 내가 가르치는 프로그램인 USC 게임즈의 한 부분)에서 동료 교수로 함께 일하게 됐다.
솔직하게 말하면 USC에서 제레미를 더 잘 알게 됐다(나는 제레미의 수업에 학생으로 참가하면서 그렇게 된 것이다). USC의 게임 이노베이션 랩에서 연구 과제로 선정된 게임을 개발하는 데 필요한 기술을 배우고자 제레미의 강의 중 하나를 듣게 됐고, 그 결과 나는 기본적인 프로그래밍 경험밖에 없었던 유니티 초보자에서 세계에서 가장 강력하고 유연한 유니티 게임 엔진을 자유자재로 사용할 수 있는 숙련된 C# 프로그래머로 변모했다. 제레미의 강의는 단순히 유니티와 C#에 대한 것만이 아니었다. 그의 강의에는 좋은 ‘러핑(lerping)’ 방법부터 시간 관리와 작업 우선순위 지정 그리고 디자이너가 스프레드시트를 사용해 게임을 개선할 수 있는 방법에 이르기까지 게임 디자인에 대한 영감을 주는 지혜의 말과 실용적인 정보로 가득했다. 제레미의 강의를 수료하고는 그에게서 더 많은 것을 배울 수 있는 기회가 있기를 내심 바랐던 것이 사실이다.
당연히 제레미가 책을 쓰고 있다는 소식을 접했을 때는 굉장히 많은 기대를 했는데, 실제 책의 내용은 기대보다 더 만족스러웠다. 좋은 소식은 내가 더 배우고 싶어 한 내용이 이 책에 가득하다는 것이다. 이 책에는 내가 게임업계에서 일하면서 체험한 게임 디자인, 제작, 개발의 모범 사례가 고스란히 담겨 있다. 제레미는 이미 입증된 게임 개발의 방법을 한 권의 책으로 체계적 정리하는 놀라운 일을 해냈다. 이 책의 단계별 실습과 코드 예제를 진행한다면 더 나은 게임 디자이너와 개발자가 될 수 있을 것이다. 이 책에 나오는 연습은 처음에는 다소 복잡하게 보일 수도 있다. 하지만 제레미는 명확하고 따라 하기 쉬운 설명으로 친절하게 과정을 안내한다.
또한 이 책에는 역사와 이론도 담겨 있다. 제레미는 오랜 기간 게임 디자인에 대해 고찰하고 지속적으로 연구했다. 1부에서는 광범위하고 심도 있는 게임 디자인 이론과 함께 제레미가 게임 디자인을 연구하면서 발견한 고유하고 특별한 개념들을 만날 수 있다. 제레미는 그의 주장을 뒷받침하고자 오랜 문화에 기록된 놀이에 대한 역사적이고 흥미로운 일화를 소개하고 있다. 게임에 대한 기존의 가정에 끊임없이 의문을 던지고 눈앞에 있는 콘솔, 컨트롤러, 화면 스피커를 초월해서 새로운 세대의 게임 혁신자로 거듭날 수 있는 심안을 열어준다.
게임 디자인은 반복 과정이다. 그 과정 속에서 만든 것을 테스트하고 피드백을 받으며 디자인을 수정해서 새롭고 향상된 버전을 만든다. 어떤 저자라도 아주 운이 좋아 자기 책의 새 판을 펴낼 수 있다면 당연히 그렇게 할 것이고 제레미의 입장도 다르지 않다. 그는 지금 여러분이 보고 있는 2판을 쓰는 데 1년 이상을 보냈고, 모든 장을 검토하고 개정했다. 게임 디자인 이론을 업데이트했으며 3부의 심층적인 게임 실습 모두를 크게 개선했다. 이제 각 실습에는 단계별로 번호를 매겨 설명했으며 모든 것이 최신 유니티 버전으로 업데이트됐다. 1판에서 가장 유용하면서도 가장 긴 장이었던 <우주전쟁> 게임 관련 장은 두 장으로 분리해서 이해하기 쉽게 만들었고 뒤쪽에 실렸던 구식의 실습 두 개는 <젤다의>에서 영감을 받은 게임인 <던전>로 대체했다. 이 게임은 게임 프로토타입 제작에서 컴포넌트 기반 디자인의 막강함을 여실히 보여준다. 1판을 애독하며 학생, 교사, 개발자들에게 널리 권했던 사람으로서 나는 이 새로운 변화에 매우 흥분하고 있으며, 이 훌륭한 책이 진화하는 것을 보게 돼 매우 기쁘다.
2013년, 제레미 깁슨 본드는 USC를 떠나 현재 미시간주립대학교(MSU)의 멋진 gamedev.msu.edu 프로그램에서 강의하고 있다. 나는 MSU 학생들이 게임 디자인의 미래에 대한 그의 가르침을 받을 수 있게 돼 아주 기쁘다. 그가 USC를 떠난 후 첫 봄, USC 게임즈 프로그램에서 주최하는 연례 GDC 졸업생 디너파티에 제레미가 등장하자 파티장에 있던 재학생과 졸업생이 모두 환성을 지르고 곧 열렬한 박수로 그를 환영했다. USC에서 그가 어떠한 교수였는지를 미루어 짐작할 수 있게 하는 대목이다. 이 책을 통해 여러분도 그의 제자가 되는 행운을 얻기를 바란다.
게임 디자인과 개발 환경은 지금 이 순간에도 급속도로 변화하고 있다. 여러분도 내가 사랑해 마지않는 이 세계의 일원이 될 수 있다. 이 책에서 배운 기술을 활용해 새로운 종류의 게임을 위한 프로토타입을 제작하고 그 과정에서 새로운 시장에 어필할 수 있는 완전히 다른 게임 장르를 개척할 수도 있을 것이다. 여러분은 사람들을 즐겁게 해서 스트레스를 해소하는 데 도움을 줄 수 있고 훌륭한 예술이 그러듯이 사람들의 삶에 감동을 줄 수 있으며 교육, 조명, 설명을 통해 우리 세계가 직면한 가시적인 문제를 해결할 수 있는 무언가를 만들 수도 있다. 앞으로 게임 디자인에서 두각을 나타낼 미래의 스타는 지금 세계 어딘가에서 디자인과 프로그래밍을 배우고 있을 것이다. 이 책을 제대로 활용한다면 바로 여러분이 현대 게임 디자인의 클래식을 만드는 기회를 얻을 수도 있을 것이다.
행운을 빌며 즐기기를 바란다.
─리처드 레마찬드(Richard Lemarchand)/
USC 게임즈 부교수, 인터랙티브 미디어 & 게임즈 학부
이 책에서 다루는 내용
1부: 게임 디자인 및 종이 프로토타입 제작
◆ 계층형 4 요소 프레임워크: 게임 디자인 이론 50년의 종합
◆ 디자인의 반복적 과정을 통한 게임 디자인의 브레인스토밍과 정제에 대한 입증된 사례
◆ 게임 프로젝트 및 소규모 팀을 관리하는 방법과 도구
◆ 플레이테스팅 및 피드백을 좀 더 쉽게 하기 위한 과정
2부: 디지털 프로토타입 제작
◆ 올바른 방식의 C# 학습을 안내하는 장들로 구성
◆ 프로그래밍 지식 없이도 객체지향 프로그래밍을 수행할 수 있게 하는 지침
◆ 윈도우, 맥OS, 리눅스 모두에서 오늘날 가장 인기있는 게임 엔진인 유니티의 심층 탐구
◆ 발생하는 코드 문제를 이해하고 디버깅하는 방법
3부: 게임 프로토타입 예제와 실습
◆ 간단한 액션 게임, 우주 전쟁, 솔리테어 카드 게임, 단어 게임, 톱다운 어드벤처 게임 등을 포함한 7가지 게임 프로토타입에 대한 깊이 있는 실습
◆ PC, 웹, 그 외 유니티가 지원하는 다양한 플랫폼용으로 게임을 컴파일하는 지침
◆ 각 실습의 단계를 쉽게 따라갈 수 있는 향상된 구조와 레이아웃
◆ 1판에는 없는 <던전> 프로토타입을 새로 추가
이 책의 구성
1부: 게임 디자인과 종이 프로토타입 제작
1부에서는 기존의 여러 책에서 제안한 게임 디자인 관련 이론들과 게임 디자인을 위한 분석적 프레임워크를 알아보는 것으로 시작한다. 그러고 나서 기존 이론의 여러 장점을 결합하고 확장하는 방법으로 ‘계층형 4 요소’를 설명한다. 계층형 4 요소는 여러분이 인터랙티브한 경험을 제공하는 디자이너로서 내려야 할 다양한 결정과 관련되므로 심도 있게 다룬다.
2부: 디지털 프로토타입 제작
2부에서는 프로그램을 작성하는 방법을 배운다. 이 부분은 교육기관에서 기술적으로 능숙치 못한 학생들에게 디지털 코드를 사용해 게임 디자인 아이디어를 표현하는 방법을 가르쳐온 다년간의 경험을 바탕으로 썼다. 프로그래밍이나 개발에 대한 사전 지식이나 경험이 없는 독자를 염두에 두고 구성했으므로 초보자라도 걱정할 필요가 없다.
3부: 게임 프로토타입 예제와 실습
3부에서는 다양한 소규모의 프로토타입을 직접 작성하면서 각기 특정한 스타일의 프로토타입을 개발하는 과정을 알아본다. 3부는 다양한 종류의 게임을 위한 프로토타입을 제작할 때 개인적으로 사용하는 신속한 게임 프로토타입 제작 방법을 안내하고, 이후 독자들이 직접 게임을 개발하는 데 활용할 수 있는 기반을 마련하는 두 가지 목적으로 구성했다.
4부: 부록
이 책에는 여기에서 언급할 만한 몇 가지 중요한 부록이 있다. 책 전체에서 똑같은 정보를 반복하거나 필요한 내용을 찾고자 책을 이리저리 넘기는 불편을 해소할 목적으로 이 책에서는 여러 번 참고해야 하는 부분이나 나중에(이 책 읽기를 한 번 끝낸 후)찾아볼 가능성이 있는 부분을 별도의 부록으로 분리했다.
상세 이미지
목차
목차
- 1부. 게임 디자인과 종이 프로토타입 제작
- 1장. 디자이너답게 생각하기
- 여러분은 게임 디자이너다
- 바톡: 게임 연습
- 게임의 정의
- 요약
- 2장. 게임 분석 프레임워크
- 게임학의 일반적인 프레임워크
- MDA: 메카닉스, 다이내믹스, 미학
- 형식적, 극적, 동적 요소
- 4 요소
- 요약
- 3장. 계층형 4 요소
- 정의된 계층
- 동적 계층
- 문화적 계층
- 디자이너의 책임
- 요약
- 4장. 정의된 계층
- 정의된 메카닉스
- 정의된 미학
- 정의된 내러티브
- 정의된 내러티브의 목적
- 정의된 기술
- 요약
- 5장. 동적 계층
- 플레이어의 역할
- 발생적 요소
- 동적 메카닉스
- 동적 미학
- 동적 내러티브
- 동적 기술
- 요약
- 6장. 문화적 계층
- 게임 플레이를 벗어난 게임
- 문화적 메카닉스
- 문화적 미학
- 문화적 내러티브
- 문화적 기술
- 공식 트랜스미디어는 문화적 계층이 아니다
- 게임의 문화적 영향
- 요약
- 7장. 디자이너답게 행동하기
- 반복적 디자인
- 혁신
- 브레인스토밍과 관념화
- 생각 바꾸기
- 범위 조정
- 요약
- 8장. 디자인 목표
- 디자인 목표: 완성되지 않은 목록
- 디자이너 중심적 목표
- 플레이어 중심적 목표
- 요약
- 9장. 종이 프로토타입 제작
- 종이 프로토타입의 장점
- 종이 프로토타입 제작 도구
- 인터페이스용 종이 프로토타입 제작
- 종이 프로토타입의 예
- 종이 프로토타입 제작을 위한 최적의 용도
- 종이 프로토타입의 부적절한 용도
- 요약
- 10장. 게임 테스트
- 왜 플레이테스트인가?
- 좋은 플레이테스트가 되는 방법
- 플레이테스터 집단
- 플레이테스트 방법
- 다른 중요한 유형의 테스트
- 요약
- 11장. 수학과 게임 밸런스
- 게임 밸런스의 의미
- 스프레드시트의 중요성
- 이 책에서 선택한 구글 시트
- 시트를 사용해 주사위 확률 알아보기
- 확률의 수학
- 종이 게임의 난수 발생기 기술
- 가중 분포
- 순열
- 시트를 사용해 무기 밸런스 조정
- 양성과 음성 피드백
- 요약
- 12장. 플레이어 안내하기
- 직접적 안내
- 직접적 안내의 네 가지 방법
- 간접적 안내
- 간접적 안내의 일곱 가지 방법
- 새로운 기술과 개념 가르치기
- 요약
- 13장. 퍼즐 디자인
- 퍼즐 디자인에서의 스콧 킴
- 액션 게임에 포함된 퍼즐의 예
- 요약
- 14장. 애자일 정신
- 애자일 소프트웨어 개발 선언
- 스크럼 방법론
- 번다운 차트 예제
- 자신의 번다운 차트 만들기
- 요약
- 15장. 디지털 게임업계
- 게임업계
- 게임 교육
- 업계 진출
- 더 이상 기다릴 필요가 없다
- 요약
- 2부. 디지털 프로토타입 제작
- 16장. 디지털 시스템에 대한 이해
- 보드 게임에서의 체계적 사고
- 간단한 명령 실행의 예
- 게임 분석: 사과 받기
- 요약
- 17장. 유니티 개발 환경 소개
- 유니티 다운로드
- 개발 환경 소개
- 유니티 처음 실행하기
- 예제 프로젝트
- 유니티의 창 레이아웃 설정
- 유니티 윈도우의 구성 요소
- 요약
- 18장. 우리의 언어 C# 소개
- C#의 특징 이해
- C# 구문의 읽기와 이해
- 요약
- 19장. Hello World: 첫 번째 프로그램
- 새 프로젝트 만들기
- 새 C# 스크립트 만들기
- 흥미로운 예제 만들기
- 요약
- 20장. 변수와 컴포넌트
- 변수 소개
- C#의 엄격한 형식의 변수
- 중요한 C# 변수 타입
- 변수의 범위
- 명명 규칙
- 중요한 유니티 변수 타입
- 유니티 게임오브젝트와 컴포넌트
- 요약
- 21장. 불리언 연산과 조건문
- 불리언
- 비교 연산자
- 조건문
- 요약
- 22장. 루프
- 루프의 유형
- 프로젝트 설정
- while 루프
- do...while 루프
- for 루프
- foreach 루프
- 루프 내에서의 점프문
- 요약
- 23장. C#의 컬렉션
- C# 컬렉션
- 제네릭 컬렉션 사용
- 리스트
- 딕셔너리
- 배열
- 다차원 배열
- 가변 배열
- 배열 또는 리스트의 적절한 용도
- 요약
- 24장. 함수와 매개변수
- 함수 예제 프로젝트 설정
- 함수의 정의
- 함수 매개변수와 인자
- 값 반환
- 올바른 함수 이름
- 함수를 사용하는 이유
- 함수 오버로딩
- 선택적 매개변수
- params 키워드
- 재귀 함수
- 요약
- 25장. 디버깅
- 디버깅 시작하기
- 디버거를 이용해 단계별로 코드 실행
- 요약
- 26장. 클래스
- 클래스 이해하기
- 클래스 상속
- 요약
- 27장. 객체지향적 사고
- 객체지향의 비유
- 객체지향 보이드 구현
- 요약
- 3부. 게임 프로토타입 예제와 실습
- 28장. 프로토타입 1: 사과 받기
- 디지털 프로토타입의 목적
- 준비
- 사과 받기 프로토타입 코딩
- GUI와 게임 관리
- 요약
- 29장. 프로토타입 2: 미션 데몰리션
- 시작하기: 프로토타입 2
- 게임 프로토타입 개념
- 아트 에셋
- 프로토타입 코딩
- 요약
- 30장. 프로토타입 3: 우주전쟁
- 시작하기: 프로토타입 3
- 씬 설정
- 주인공 우주선 제작
- 적 우주선 추가
- 무작위로 적 생성
- 태그, 레이어, 물리 설정
- 주인공 우주선의 충돌 처리
- 게임 재시작
- 공격(마지막 단계)
- 요약
- 31장. 프로토타입 3.5: 우주전쟁 플러스
- 시작하기: 프로토타입 3.5
- 다른 적 프로그래밍
- 발사 재검토
- 적 우주선의 피해 나타내기
- 파워업과 부스팅 무기 추가하기
- 적의 파워업 드롭
- Enemy_4: 더 복잡한 적
- 스크롤하는 별무리 배경 추가
- 요약
- 32장. 프로토타입 4: 프로스펙터 솔리테어
- 시작하기: 프로토타입 4
- 빌드 설정
- 이미지를 스프라이트로 임포트
- 스프라이트를 사용해 카드 제작
- 프로스펙터 게임
- 코드로 프로스펙터 구현
- 게임 로직 구현
- 프로스펙터에 점수 추가
- 게임에 약간의 아트 추가하기
- 요약
- 33장. 프로토타입 5: 바톡
- 시작하기: 프로토타입 5
- 빌드 설정
- WebGL용으로 빌드하기
- 요약
- 34장. 프로토타입 6: 단어 게임
- 시작하기: 프로토타입 6
- 단어 게임 정보
- 단어 목록의 파싱
- 게임 설정
- 화면 레이아웃
- 상호작용 추가
- 점수 체계 추가
- 글자에 애니메이션 추가
- 색 추가
- 요약
- 35장. 프로토타입 7: 던전 델버
- 던전 델버: 게임 개요
- 시작하기: 프로토타입 7
- 카메라 설정
- 던전 데이터 이해하기
- 주인공 추가
- 공격 애니메이션 추가
- 드레이의 검
- 적: 스켈레토스
- InRoom 스크립트
- 타일 단위의 충돌
- 격자에 맞추기
- 다른 방으로의 이동
- 카메라가 드레이를 따라가게 하기
- 잠긴 문을 열기
- 열쇠 수와 체력을 보여줄 GUI 추가
- 적이 드레이에게 피해 주기
- 드레이의 공격으로 적에게 피해 주기
- 아이템 획득
- 죽을 때 아이템을 드롭하는 적
- 갈고리총 구현
- 새 던전 구현: Hat
- 델버 레벨 편집기
- 요약
- 4부. 부록
- 부록 A 표준 프로젝트 설정 절차
- 부록 B 유용한 개념
- 부록 C 온라인 레퍼런스
- 찾아보기