• 유니티와 C#으로 배우는 게임 개발 교과서
  • 기획부터 프로토타이핑, 구현까지

  • 제레미 깁슨 지음
  • 최민석 옮김

  • 게임 개발 시리즈-014
  • ISBN: 9788998139902
  • 38,000원 | 2015년 04월 29일 발행 | 944쪽



이 책은 수년간 업계에서 전문 게임 개발자로 일하면서 얻은 지식과 대학 강의실에서 학생을 가르치면서 얻은 경험을 바탕으로 성공적인 게임 디자이너와 개발자가 되는 데 필요한 모든 툴과 지식을 담고 있다.

게임 디자인을 위한 이론과 필수적인 개념뿐 아니라 프로그래밍이나 개발에 대한 사전 지식과 경험이 없는 사람들을 위해 게임 프로토타입을 제작하고 테스트해보는 과정도 소개한다. 또, 실전 프로젝트를 위한 준비 단계로 유니티 게임 엔진과 C# 프로그래밍 언어에 대해 초보자라도 충분히 이해할 수 있게끔 차근차근 설명하며, 마지막으로 다양한 소규모의 게임을 직접 만들어 보면서 향후 독자들이 직접 게임을 개발하는 데 활용할 수 있는 기본기를 다지는 데 많은 도움을 준다.

이 책의 공식 웹 사이트에서는 각 장에서 참조된 모든 파일, 강의 노트, 그리고 실습 프로토타입의 최종 버전을 제공한다.

 

추천의 글

"[유니티와 C#으로 배우는 게임 개발 교과서]는 발전하고 있는 탄탄한 게임 디자인의 이론과 자세하고 다양한 디지털 게임 프로토타입을 결합한 책이다. 이러한 이론과 프로토타입 제작 과정을 따라 하면서 유니티로 게임을 개발하는 데 필요한 게임 디자인과 개발의 필수적인 지식을 얻을 수 있을 것이다. 이 책은 입문서로서는 물론 전문 디자이너를 위한 레퍼런스로도 유용하다. 앞으로 내가 강의하는 게임 디자인 과정의 교재는 물론 개인적인 레퍼런스로도 사용할 계획이다."

-- 마이클 셀러(Michael Sellers), 인디아나대학교 게임 디자인과 교수, 럼블 엔터테인먼트(Rumble Entertainment) 전 제작 감독, 카밤(Kabam) 전 총괄 관리자

"게임 디자인과 개발 프로세스에서 프로토타입 제작과 플레이테스팅 단계를 제대로 이해하지 못하거나 올바르게 활용하지 못하는 경우가 많다. 반복적 테스트와 개선은 좋은 게임을 만들기 위한 초기 단계에서 핵심적인 부분을 차지한다. 또한 초심자들은 게임을 만들려면 프로그래밍 언어의 모든 측면을 알아야 하거나 게임의 모든 에셋을 직접 제작해야 한다고 생각하는 경우가 많다. 깁슨의 새 책은 독자들에게 다양한 유형의 게임에 맞도록 준비된 멋진 '초보자용 키트'를 제공하고 실제 디자인과 프로토타이핑 프로세스로 곧바로 뛰어들 수 있게 해준다."

-- 스테판 제이콥스(Stephen Jacobs), 인터랙티브 게임-미디어 스쿨 교수, MAGIC(Media, Art, Games, Interaction and Creativity) RIT 센터 부국장,

"제레미 깁슨의 『유니티와 C#으로 배우는 게임 개발 교과서』는 게임 디자이너가 되고자 하는 모든 사람들에게 필요한 철학적이고 실용적 개념을 전달하는 책이다. 이 책은 고수준의 디자인 이론에서 시작해 작동하는 게임을 직접 제작할 수 있도록 게임 개발의 개념과 프로그래밍 기술을 체득하는 길을 안내한다. 제레미는 수년간 강의실에서 학생들을 가르치면서 얻은 경험을 바탕으로 게임 디자인을 위한 필수적인 개념을 안내하고 독자들이 직접 게임을 개발할 수 있도록 안내한다. 처음으로 자신의 게임을 만들어보려는 초보자를 위한 필독서이며, 현재 이 분야에서 일하고 있는 실무자에게는 놓치고 있던 부분을 확인할 수 있는 좋은 참고서가 될 것이다."

-- 미셸 펀(Michelle Pun), 징가(Zynga) 선임 게임 디자이너

제레미 깁슨은 지난 십여 년 이상 게임 업계에서 독립 게임 개발자로 일했으며 현재는 학생들에게 게임 디자인을 가르치고 있다. 게임 디자인에서 훌륭한 성과를 거두기 위해서는 게임 디자인 이론과 탄탄하고 신속한 프로토타입 제작 방법, 그리고 프로그래밍 기술을 효과적으로 접목하는 것이 필수적이다.

『유니티와 C#으로 배우는 게임 개발 교과서』는 이러한 게임 개발의 세 가지 분야를 처음으로 한 권으로 엮은 책이다. 또한 북미 최고의 게임 디자인 커리큘럼을 자랑하는 대학교에서 여러 해 동안 수백 명의 게임 디자이너와 개발자를 가르치면서 얻은 경험을 집대성한 결과다. 게임 디자인과 컴퓨터 프로그래밍의 기술이 완벽하게 통합된 이 책을 통해 유니티를 사용한 반복적 프로토타입 제작이라는 아주 유용한 게임 개발 기법을 터득할 수 있다. 유니티는 크로스 플랫폼 게임 개발을 위한 최고의 게임 엔진이며 윈도우, OS X, 리눅스는 물론 웹을 비롯해 거의 모든 인기 있는 모바일 플랫폼용으로 게임을 개발할 수 있다.

게임을 개발하려면 최신의 개발 관행과 전문적 툴에 대한 높은 수준의 지식이 필수적이다. 이러한 요건을 다른 방법으로 대신할 수는 없지만 이 책에서 두 가지 지식을 모두 습득할 수 있다.

★ 이 책에서 다루는 내용 ★

  • 8가지 게임 프로토타입을 제작하는 과정을 다룬 깊이 있는 실습
  • 새로운 게임 디자인 개념 만들기
  • 디자인 개념을 작동하는 디지털 프로토타입으로 신속하게 구현
  • 신속한 반복을 통한 디자인 개선
  • 게임을 플레이테스트하고 사용자의 의견을 해석하고 반영
  • 게임을 튜닝해 최적의 '게임 밸런스'와 '게임의 느낌' 구현
  • 독립 게임 개발을 위한 최고의 엔진인 유니티를 이용한 개발
  • C#을 배우는 올바른 방법
  • 애자일과 스크럼을 활용해 게임 디자인과 개발 프로세스를 효과적으로 진행
  • 게임 코드 디버깅
  • 경쟁이 치열하고 빠르게 변화하는 게임 업계에 진출하기

제레미 깁슨(Jeremy Gibson)

제레미 깁슨은 앤 아버 미시건대학교의 전기공학 및 컴퓨터공학대학에서 컴퓨터 게임 디자인을 강의하는 교수이자 엑스닌자 인터랙티브의 설립자이기도 하다. 2009년부터 2013년까지 북미 내 최고의 게임 디자인 스쿨로 손꼽히는 서던캘리포니아대학교 인터랙티브 미디어-게임 스쿨에서 게임 디자인과 프로토타이핑을 강의했다. 대학원생 시절 팀원들과 스카이레이트 게임을 제작해 2008년 인디 게임 페스티벌에서 실버 글리맥스 어워드를 수상하기도 했으며, 코스타리카에서 게임 디자인을 강의한 최초의 교수이기도 하다.

최민석

번역회사에서 언어전문가로 일하다 뜻하는 바를 이루기 위해 프리랜서로 독립해서 현재는 전문 번역가로 일하고 있다. 주로 IT 관련 소프트웨어의 현지화와 개발자 웹 사이트 관련 프로젝트를 진행하고 있으며 앞으로 개발자 서적 분야에서 작은 변화를 일으키고 싶다는 소박한 소망을 하고 있다. 번역가의 고민은 독자의 고민과 반비례한다는 믿음으로 오늘도 기꺼이 고민할 준비가 돼 있다. 번역한 책으로는 『게임 디자인 워크숍』 『시작하세요! 스프링 4 프로그래밍』 『자바 웹 개발 완벽 가이드』가 있다.

  • [1부] 게임 디자인과 종이 프로토타입
    • ▣ 01장: 디자이너답게 생각하기
      • 나는 게임 디자이너다
      • 바톡(Bartok): 게임 연습
      • 게임의 정의
      • 요약
      •  
    • ▣ 02장: 게임 분석 프레임워크
      • 게임학의 일반적인 프레임워크
      • MDA: 메카닉, 역학, 미학
      • 형식적, 극적, 동적 요소
      • 4요소
      • 요약
      •  
    • ▣ 03장: 계층형 4요소
      • 정의된 계층
      • 동적 계층
      • 문화적 계층
      • 디자이너의 책임
      • 요약
      •  
    • ▣ 04장: 정의된 계층
      • 정의된 메카닉
      • 정의된 미학
      • 정의된 내러티브
      • 정의된기술
      • 요약
      •  
    • ▣ 05장: 동적 계층
      • 플레이어의 역할
      • 발생적 요소
      • 동적 메카닉
      • 동적 미학
      • 동적 내러티브
      • 동적 기술
      • 요약
      •  
    • ▣ 06장: 문화적 계층
      • 게임 플레이를 벗어난 게임
      • 문화적 메카닉
      • 문화적 미학
      • 문화적 내러티브
      • 문화적 기술
      • 공식 트랜스미디어는 문화적 계층이 아니다
      • 게임의 문화적 영향
      • 요약
      •  
    • ▣ 07장: 디자이너답게 생각하기
      • 반복적 디자인
      • 혁신
      • 브레인스토밍과 관념화
      • 생각 바꾸기
      • 범위 조정!
      • 요약
      •  
    • ▣ 08장: 디자인 목표
      • 디자인 목표: 완성되지 않은 목록
      • 디자이너 중심적 목표
      • 플레이어 중심적 목표
      • 요약
      •  
    • ▣ 09장: 종이 프로토타입 제작
      • 종이 프로토타입의 장점
      • 종이 프로토타입 제작 툴
      • 종이 프로토타입의 예
      • 종이 프로토타입의 최적의 용도
      • 종이 프로토타입의 부적절한 용도
      • 요약
      •  
    • ▣ 10장: 게임 테스트
      • 플레이테스트를 하는 이유
      • 좋은 플레이테스터가 되는 방법
      • 플레이테스터의 집단
      • 플레이테스트 방법
      • 다른 중요한 유형의 테스트
      • 요약
      •  
    • ▣ 11장: 수학과 게임 밸런스
      • 게임 밸런스의 의미
      • 아파치 오픈오피스 칼크 설치
      • 스프레드시트로 주사위 확률 확인하기
      • 확률의 계산
      • 종이 게임의 랜더마이저 기술
      • 가중 분포
      • 순열
      • 양성과 음성 피드백
      • 칼크를 사용한 무기의 밸런스 조정
      • 요약
      •  
    • ▣ 12장: 퍼즐 디자인
      • 퍼즐은 어디에나 있다
      • 퍼즐 디자인과 스콧 킴
      • 액션 게임에 포함된 퍼즐의 예
      • 요약
      •  
    • ▣ 13장: 플레이어 안내하기
      • 직접적 안내
      • 간접적 안내
      • 새로운 기술과 개념 가르치기
      • 요약
      •  
    • ▣ 14장: 디지털 게임 업계
      • 게임 업계
      • 게임 교육
      • 업계에 들어가는 방법
      • 더 이상 기다릴 필요가 없다!
      • 요약
      •  
  • [2부] 디지털 프로토타입 제작
    • ▣ 15장: 디지털 시스템의 이해
      • 보드 게임에서의 체계적 사고
      • 간단한 명령 실행의 예
      • 게임 분석: 사과 받기
      • 사과 받기 게임오브젝트 액션 리스트
      • 요약
      •  
    • ▣ 16장: 우리의 개발 환경 유니티 소개
      • 유니티 다운로드
      • 개발 환경 소개
      • 유니티 처음 실행하기
      • 유니티의 창 레이아웃 설정
      • 유니티 창의 구성 요소
      • 요약
      •  
    • ▣ 17장: 우리가 사용할 언어 C# 소개
      • C#의 특징 이해
      • C# 문법읽고 이해하기
      • 요약
      •  
    • ▣ 18장: HELLO WORLD: 첫 번째 프로그램
      • 새 프로젝트 만들기
      • 새로운 C# 스크립트 만들기
      • 흥미로운 예제 만들기
      • 요약
      •  
    • ▣ 19장: 변수와 컴포넌트
      • 변수 소개
      • C#의 엄격한 형식의 변수
      • 중요한 C# 변수 타입
      • 변수의 범위
      • 명명 규칙
      • 중요한 유니티 변수 타입
      • 유니티 게임오브젝트와 컴포넌트
      • 요약
      •  
    • ▣ 20장: 부울 연산과 조건문
      • 부울
      • 비교 연산자
      • 조건문
      • 요약
      •  
    • ▣ 21장: 루프
      • 루프의 유형
      • 프로젝트 설정
      • while 루프
      • do…while 루프
      • for 루프
      • foreach 루프
      • 루프 내의 점프문
      • 요약
      •  
    • ▣ 22장: 리스트와 배열
      • C# 컬렉션
      • 리스트
      • 배열
      • 다차원 배열
      • 가변 배열
      • 배열과 리스트의 적절한 용도
      • 요약
      • 요약 연습
      • 이후 내용
      •  
    • ▣ 23장: 함수와 매개 변수
      • 함수 예제 프로젝트 설정
      • 함수의 정의
      • 함수 매개 변수와 인수
      • 값 반환
      • 올바른 함수 이름
      • 함수는 언제 사용해야 할까?
      • 함수 오버로딩
      • 선택적 매개 변수
      • params 키워드
      • 재귀 함수
      • 요약
      •  
    • ▣ 24장: 디버깅
      • 디버깅 시작하기
      • 디버거를 사용한 단계별 코드 실행
      • 요약
      •  
    • ▣ 25장: 클래스
      • 클래스의 이해
      • 클래스 상속
      • 요약
      •  
    • ▣ 26장: 객체 지향적 사고
      • 객체 지향의 비유
      • 객체 지향 보이드 구현
      • 요약
      •  
    • ▣ 27장: 애자일 사고방식
      • 애자일 소프트웨어 개발 선언
      • 스크럼 방법론
      • 자신의 번다운 차트 만들기
      • 요약
      •  
  • [3부] 게임 프로토타일 예제와 실습
    • ▣ 28장: 프로토타입 1: 사과 받기
      • 디지털 프로토타입의 목적
      • 준비
      • 사과 받기 프로토타입 코딩
      • GUI와 게임 관리
      • 사과를 놓치면 ApplePicker에 알리기
      • 요약
      •  
    • ▣ 29장: 프로토타입 2: 미션 데몰리션
      • 다음 단계
      • 시작하기: 프로토타입 2
      • 게임 프로토타입 개념
      • 아트 에셋
      • 프로토타입 코딩
      • 요약
      • 다음 단계
      •  
    • ▣ 30장: 프로토타입 3: 우주전쟁
      • 시작하기: 프로토타입 3
      • 씬 설정
      • 주인공 우주선 만들기
      • 적 우주선 추가
      • 임의로 적 생성
      • 태그, 레이어, 물리 설정
      • 주인공 우주선의 충돌 처리
      • 게임 재시작
      • 공격
      • 파워업 추가
      • 적의 파워업 드롭
      • 다른 적 프로그래밍
      • 파티클 효과와 배경 추가
      • 요약
      • 다음 단계
      •  
    • ▣ 31장: 프로토타입 4: 프로스펙터 솔리테어
      • 시작하기: 프로토타입 4
      • 빌드 설정
      • 이미지를 스프라이트로 임포트
      • 스프라이트로 카드 구성
      • 프로스펙터 게임
      • 코드로 프로스펙터 구현
      • 프로스펙터에 점수 추가
      • 요약
      • 다음 단계
      •  
    • ▣ 32장: 프로토타입 5: 바톡
      • 시작하기: 프로토타입 5
      • 빌드 설정
      • 바톡의 코딩
      • 다음 단계
      •  
    • ▣ 33장: 프로토타입 6: 단어 게임
      • 시작하기: 단어 게임 프로토타입
      • 단어 게임 정보
      • 단어 목록의 구문 분석
      • 게임 설정
      • 화면 레이아웃
      • 상호작용 추가
      • 점수 체계 추가
      • 애니메이션 추가
      • 색 추가
      • 요약
      • 다음 단계
      •  
    • ▣ 34장: 프로토타입 7: 퀵스냅
      • 시작하기: 퀵스냅 프로토타입
      • 씬 구성하기
      • 게임 코딩
      • 요약
      • 다음 단계
      •  
    • ▣ 35장: 프로토타입 8: 오메가 마법사
      • 시작하기: 오메가 마법사 프로토타입
      • 씬 구성하기
      • 마법사 캐릭터
      • 마우스 상호작용
      • 이동
      • 인벤토리와 원소 선택
      • 불 바닥 마법
      • 방 바꾸기
      • 적 생성
      • Enemy 인터페이스 추상화
      • EnemyFactory 제작
      • 요약
      • 다음 단계
      •  
  • [4부] 부록
    • ▣ 부록A: 표준 프로젝트 설정 절차
      • 새 프로젝트 설정
      • 코딩을 위한 씬 준비
      •  
    • ▣ 부록B: 유용한 개념
      • 다루는 주제
      • C#과 유니티 코딩 개념
      • 수학 개념
      • 보간
      • 롤플레잉 게임
      • 사용자 인터페이스 개념
      •  
    • ▣ 부록C: 온라인 레퍼런스
      • 자습서
      • 프로그래밍
      • 검색 팁
      • 에셋 찾기
      • 교육용 소프트웨어 할인
  • 92쪽, 밑에서 두 번째 줄

    '로그'와 같은 게임 --> '로그라이크'와 같은 게임

  • 192쪽, 위에서 세 번째 줄

    1 - (54 / 64)

    ==>

    1 - (54 / 64)

 

  • 273쪽, 그림 16.4를 하단 그림으로 교체

    그림 18-5

 

  • 297쪽, 그림 18.5를 하단 그림으로 교체

    그림 18-5

 

  • 332쪽, 맨 아래에서 두 번째 줄

    훨씩 정밀하며

    ==>

    훨씬 정밀하며

 

  • 516쪽, 번호 목록 6번 항목

    두 번째 GUI Text를 만들고 이름을 GT_Shots로 지정한다

    ==>

    두 번째 GUI Text를 만들고 이름을 GT_Score로 지정한다


엮인 글

엮인 글 주소: http://wikibook.co.kr/game-textbook/trackback/