Top

[5가지 실전 예제로 배우는]
유니티 2D 게임 만들기

  • 원서명Learning Unity 2D Game Development by Example (ISBN 9781783559046)
  • 지은이베니타 퍼레이라 (Venita Pereira)
  • 옮긴이장석현
  • ISBN : 9788960777132
  • 25,000원
  • 2015년 05월 27일 펴냄 (절판)
  • 페이퍼백 | 268쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

요약

유니티를 처음 접하거나 유니티의 2D 기능에 낯선 모든 초급자를 위한 책이다. 유니티의 2D 도구와 기본적인 게임 프로그래밍에 대해 예제를 곁들여 자세히 설명한다. 캐릭터를 만들어 이동시키고, 적을 생성하고 파괴하는 코드를 만든다. 충돌, 시차 스크롤, Box2D 등을 이용해 클래식 아케이드 게임, 횡스크롤 게임, 로그류 게임, 물리 게임, 스페이스 버디 게임의 5가지 게임 예제를 함께 만들어봄으로써, 유니티 게임을 만드는 방법을 단계적으로 익혀 완전한 형태의 게임을 만드는 방법을 안내한다.

이 책에서 다루는 내용

■ 유니티의 새로운 2D 기능을 활용해 2D 씬 만들기
■ 타일셋(tileset)을 사용해 여러 종류의 정적, 동적 배경으로 씬 설정하기
■ 간단한 애니메이션을 활용해 캐릭터에 생명 불어넣기
■ 캐릭터를 조작하고 적을 파괴하는 기본적인 코드를 만들며 프로그래밍의 핵심 개념 이해하기
■ 입력을 감지하는 코드를 활용해 버튼과 게임 컨트롤 만들기
■ 클래식 아케이드 게임, 횡스크롤 게임, 로그류 게임, 물리 게임, 스페이스 버디 게임 등 5가지 실전 2D 게임 만들기
■ 오디오와 피드백 기능을 추가하고 게임 배포하기

이 책의 구성

1장, ‘유니티 소개’에서는 새 프로젝트 생성 옵션으로 2D 씬을 만들어 유니티의 새로운 2D 기능을 이용하는 방법을 살펴본다. 다음으로 유니티 에디터 인터페이스를 구성하는 여러 뷰를 살펴본다.

2장, ‘씬 설정’에서는 타일셋(tileset)을 사용해 정적, 동적 배경을 비롯한 씬을 설정할 수 있도록 2D 카메라를 다루는 방법을 배운다.

3장, ‘캐릭터 추가’에서는 스프라이트 도구로 게임에 캐릭터를 추가하는 방법을 살펴본다. 도프시트(dopesheet) 기능으로 간단히 캐릭터의 idle 애니메이션을 만들며 2D 애니메이션에 대해 배운다.

4장, ‘코드 작성’에서는 간단한 출력부터 캐릭터 조작과 적 파괴까지 기본적인 코드를 유니티 스크립트로 만들며 핵심 개념을 살펴본다.

5장, ‘입력장치’에서는 다양한 입력 종류와 상태를 배운다. 그런 후 입력을 감지하는 코드를 통해 어떻게 버튼과 게임 조작을 구현하는지 배운다.

6장, ‘게임 #1: 로그류 게임’에서는 유니티에서 유니티스크립트를 이용한 첫 2D 게임을 만드는 방법을 배운다. 이 게임은 이동, 충돌, 트리거, 상태, 포탄, 경계, 개체 무작위 생성에 대한 내용을 포함한다.

7장, ‘게임 #2: 클래식 아케이드’에서는 클래식 아케이드 게임에서, 게임 상태와 이것을 UI 구성요소를 통해 구현한 HUD를 통해 화면 상에 표시하는 방법을 배운다.

8장, ‘게임 #3: 무한 달리기’에서는 유니티의 2D 시차 스크롤에 대한 내용을 살펴보고 이를 통해 파티클 이펙트로 치장된 무한 달리기 횡스크롤 게임을 직접 만드는 방법을 배운다.

9장, ‘게임 #4: 물리 놀이’에서는 유니티의 Box2D 물리 기능을 살펴보고 현실 세계의 물리를 시뮬레이션하는 앵그리 버드(Angry Birds)와 유사한 물리 게임을 만드는 방법을 배운다.

10장, ‘기능 추가와 게임 배포’에서는 오디오, 피드백, 게임 배포를 통해 남은 여정을 준비한다. 이 책을 통해 배운 내용들을 모두 활용해서 두들 점프(Doodle Jump)와 비슷한 게임을 만든다. 마지막으로, 참고할 만한 리소스와 함께 향후 2D 게임 개발의 여정을 안내한다.

저자/역자 소개

지은이의 말

게임을 즐기는 많은 이들은 창조적이고 상상력이 풍부하며 기존의 게임보다 더 나은 자신만의 게임을 만들고 싶어한다. 단지 재미를 위해서든, 순수한 열정이든, 직업적인 이유든 간에 가장 대규모이고, 보상도 크며, 돈이 되는 업계 중 하나가 게임업계이다.

이런 이유로 게임 개발은 골드러시와 비슷한 점이 많다. 우리는 모두 꿈을 가지고 있지만, 오랜 시간 동안, 제대로 된 방법을 모르거나 잘못된 길로 가는 경우가 많다.

이 책의 목표는 게임 개발의 전체 그림을 보여주고, 소화하기 쉽게 작은 구성요소로 쪼개어 순서대로 차근차근 설명하여 초보자의 입문을 돕는 데 있다. 이미 유니티에 숙련된 이들은 유니티의 새로운 2D 기능들을 빠르고 쉽게 배울 수 있다.

게임을 만들 때, 항상 새로운 것을 배우고 새로운 것들을 발견하게 된다. 모든 사람들은 각자가 원하는 수많은 게임 구조와 다양한 시나리오를 만들길 원하기 때문에 책 한 권만으로 그 모든 것을 알려줄 수는 없다. 하지만 이 책에서는 다양한 장르의 게임을 통해 기초가 되는 모든 내용을 다룸으로써, 여러분이 책을 다 읽고 나면 원하는 어떤 게임이든 만들 수 있게 될 것이다.

지은이 소개

베니타 퍼레이라 (Venita Pereira)

7세부터 게임과 함께 자라났으며, 게임에 대단한 열정을 품고 있다. 게임 규모에 상관하지 않고 모든 종류의 게임을 즐기는 게임통이며, 기술과 관련된 모든 것에 관심이 많은 테크 긱(geek)이기도 하다. 프리토리아 대학(University of Pretoria)에서 멀티미디어를 전공해 정보과학 학사 학위를 받았으며, 게임 업계에서 7년이 넘는 경력을 쌓았다. 또한 콘솔, PC, 모바일을 통틀어 모든 플랫폼에서 다양한 장르의 게임 개발을 해왔다.
클라이맥스(Climax), 팀17(Team17 Digital Ltd.), 아이디어웍스3D(Ideaworks3D), 자겍스(Jagex), 세가(SEGA), 풀팻(Full Fat) 등의 대규모 게임회사와 액티비전(Activision), 스퀘어 에닉스(Square Enix), 일렉트로닉 아츠(EA, Electronic Arts), 하스브로(Hasbro) 등의 대형 퍼블리셔에서 일한 경력이 있다.
〈소닉 대쉬(Sonic Dash)〉, 〈소닉 점프(Sonic Jump)〉, 〈스텔라 던 MMO(Stellar Dawn MMO)〉, 〈트랜스포머 3(Transformers: Dark of the Moon)〉, 〈킹 오브 더 코스 골프(King of the Course Golf)〉, 〈라라 크로프트와 빛의 수호자(Lara Croft and the Guardian of Light)〉, 〈에일리언 브리드 트릴로지(Alien Breed Trilogy)〉, 〈레저 수트 래리: 박스 오피스 버스트(Leisure Suit Larry: Box Office Bust)〉, 〈엘비언(Elveon)〉 등의 게임에 참여했다.

옮긴이의 말

이 책을 저술한 베니타 퍼레이라는 흔치 않은 여성 게임 프로그래머이다. 내가 13여 년간 게임 업계에서 일하는 동안 여성 프로그래머를 단 두 명만 보았을 정도로 유독 게임 분야에서 일하는 여성 프로그래머는 흔하지 않다. 일반화하기에는 무리가 있겠지만, 함께 일해본 경험으로, 여성 프로그래머들의 경우엔 공통적으로 디테일을 놓치지 않는 꼼꼼한 작업 스타일이 인상적이었다.

우연인지는 모르겠으나, 여성 프로그래머가 집필한 이 책의 내용 설명에서도 비슷한 느낌을 받을 수 있었다. 대충 설명하고 넘어갈 수도 있는 부분들을 그냥 흘려 보내지 않고 매번 자세히 짚어 설명한 지은이의 꼼꼼함 덕분에, 독자들이 각 단계를 따라오는 중간에 흐름을 놓쳐 당황하는 일은 많지 않을 것이다. 여담이지만, 나는 책을 번역할 때 원서에 나오는 외국인 이름의 한글 표기를 가능하면 본인이 발음하는 그대로 옮기려고 고민하는데, 지은이에게 연락이 가능할 때는 지은이가 해당 원어를 어떻게 발음하는지 직접 물어보기도 한다. 이 책을 옮기면서도 지은이에게 트위터를 통해 이름을 어떻게 발음하는지 조언을 구했더니 한국어판 도서 출간에 기뻐하면서 친절하게도 자신의 이름 발음을 녹음한 영상을 전달해왔다. 바로 책에서 느낄 수 있었던 그런 친절함이 그대로 묻어나온 것이다.

모바일을 비롯한 멀티플랫폼 환경이 대세가 된 오늘날, 유니티 엔진은 이미 업계의 표준이 되었다고 할 수 있을 정도로 널리 사용되고 있다. 유니티 엔진은 프로그래머는 물론이고 게임 디자이너(기획자)나 아티스트에게 그저 그들이 담당하는 작업물을 산출하기 위한 도구를 넘어서 본질적으로 ‘게임’에 접근하도록 가능성을 활짝 열어주고 있다.

이 책은 유니티 엔진을 처음 접해보는 초급자뿐 아니라, 게임 프로그래밍이 처음인 입문자, 그리고 프로그래밍을 전공하지 않은 다른 직군 종사자에게, 유니티 엔진을 이용한 게임 개발에 꼭 필요한 기본적인 게임 프로그래밍 지식을 함께 알려주는 책이다.

유니티의 모든 기능을 샅샅이 소개하는 레퍼런스가 아닌, 2D 예제 게임들을 함께 만들며 유니티 엔진을 이용한 게임 개발 방법을 익히는 입문서다. 마음을 편히 가지고 책에서 소개하는 기본 설명과 다섯 개의 예제들을 순서대로 따라가다 보면 유니티를 이용한 게임 개발의 전반적인 흐름을 충분히 익힐 수 있을 것이다. 이 책을 끝까지 보고 나면 좀 더 어려운 유니티 개발 책의 내용을 비교적 쉽게연결해 볼 수 있게 될 것이다.

옮긴이 소개

장석현

2002년부터 넥슨, 네오위즈 등의 회사에서 다수의 온라인게임을 만든 게임 개발자다. 2011년부터 유니티 엔진을 이용한 멀티플랫폼 게임 개발 프로젝트들에서 일했다. 에이콘출판사에서 출간한 『Unity로 하는 2D 게임 개발』(2014년)을 번역했다.

목차

목차
  • 1장 유니티 소개
    • 개요
    • 게임 개발 배경지식
    • 유니티 소개
    • 유니티 설정
    • 새 2D 프로젝트 생성
    • 유니티 에디터 인터페이스
      • 툴바
      • Scene 뷰
      • Game 뷰
    • Project 브라우저
      • 애셋 생성
      • 애셋 검색
      • 즐겨 찾는 애셋 설정
        • 유니티 애셋 스토어
        • 애셋 임포트
      • Hierarchy 탭
        • 부모/자식 노드
        • 게임오브젝트(GameObject) 생성
      • Inspector 탭
        • 컴포넌트 추가
    • 그 밖의 뷰
      • 콘솔 뷰
        • 애니메이션 뷰
        • 스프라이트 에디터
        • 애니메이터 뷰
        • 프로파일러(Profiler) 뷰
    • 요약

  • 2장 씬 설정
    • 개요
    • 배경이란
    • 배경을 만드는 두 가지 방법
      • 정적 이미지를 이용하는 방법
        • 애셋 임포트
      • 인스펙터에서 스프라이트 설정
        • Texture Type(텍스처 형식)
        • Sprite Mode(스프라이트 모드)
        • Packing Tag(패킹 태그)
        • Pixels to Units(유닛당 픽셀 수)
        • Pivot(중심점)
        • Filter Mode(필터 모드)
        • Platform Settings(플랫폼 설정)
        • 설정 적용
      • 애셋을 게임오브젝트(GameObject)에 할당
        • 툴바를 이용한 방법
        • 또 다른 빠른 방법
      • 게임오브젝트 인스펙터 설정
        • 배경 위치 설정
        • 배경 색상 설정
        • 배경 겹치기
    • 타일셋을 이용한 배경 설정
      • 이음매 없는 텍스처
      • 모서리 조각
      • 격자 설정
      • 프리팹 만들기
    • 완성된 환경
      • 카메라 설정
      • 전경 설정
    • 요약

  • 3장 캐릭터 추가
    • 개요
    • 스프라이트란
    • 스프라이트 만들기
      • 이미지 편집 소프트웨어
      • 스프라이트 시트
      • 래스터(raster)와 벡터(vector) 비교
      • 파일 포맷
        • 스프라이트 임포트
        • 스프라이트 시트 나누기
        • 스프라이트 에디터
        • 수동으로 나누기
          • 선택 영역 추가/삭제
          • 툴바 컨트롤
    • 자동 나누기
      • 나누기 방법: Automatic
      • 나누기 방법: Grid
    • 텍스처 아틀라스
      • 텍스처 아틀라스란
      • 스프라이트 패커
    • 캐릭터 추가하기
    • 스프라이트 렌더러
    • 스프라이트 애니메이션
    • 애니메이션 에디터
    • 도프시트 2D 애니메이션
    • 애니메이터
    • 요약

  • 4장 코드 작성
    • 개요
    • 왜 코드가 필요할까
      • 프로그래밍 언어
      • 프로그래밍 언어의 단계
        • 기계어
        • 어셈블리어
        • 고수준 언어
      • 스크립트 언어
      • 유니티스크립트, C#, Boo
    • 코딩 기초
      • 데이터 형식
      • 연산자
      • 함수
      • 조건문
        • If…else
      • 주석
      • 클래스
        • private과 public
      • 외부 라이브러리 임포트
      • 코드 편집기
    • Hello world
    • 캐릭터 조작
    • 적 파괴
    • 코루틴(Coroutine)
    • 네임스페이스
    • 유니티 스크립팅 레퍼런스
    • 요약

  • 5장 입력장치
    • 개요
    • 입력과 출력
      • 게임에서의 입력
      • 게임에서의 출력
    • 입력 방식
    • 출력 방식
      • 영상 출력
      • 오디오
      • 컨트롤러 진동
    • 유니티 인풋 매니저
    • 입력 감지
    • 버튼
      • OnGUI
      • GUILayout.Button
    • 게임 컨트롤
      • 레이캐스팅
    • 요약

  • 6장 게임 #1: 로그류 게임
    • 개요
    • 로그류 게임이란
    • 배경 추가
    • 히어로 애니메이션
      • 애니메이션: 아래로 걷기
      • 애니메이션: 왼쪽으로 걷기
      • 애니메이션: 오른쪽으로 걷기
      • 애니메이션: 위로 걷기
    • 이동 조작
      • 이동 조작 애니메이터
      • 이동 조작 스크립트
    • 무작위 적 생성
    • 적 애니메이션
    • 적 이동
    • 포탄 발사
    • 충돌 감지
    • 게임 오버
    • 게임 결과
    • 요약

  • 7장 게임 #2: 클래식 아케이드
    • 개요
    • 스펀지 놀이
      • 주인공: 스펀지
      • 욕실
      • 스펀지 추가
      • 좌우로 움직이기
      • 때 생성
      • 산성 세제 생성
    • 게임 상태
      • 생명
      • 점수
      • 시간
    • HUD 추가
    • 폰트 스타일
    • 리소스 관리
    • 완성된 게임
    • 요약

  • 8장 게임 #3: 무한 달리기
    • 개요
    • 무궁무진함
    • 날쌘 닌자
    • 닌자 캐릭터
      • 달리기
      • Jump and Slide
      • 애니메이터 파라미터 추가
      • 애니메이터 상태 및 트랜지션
      • 이동 조작
    • 무작위로 반복되는 장애물
    • 생존
    • 시차 스크롤
    • 파티클 이펙트로 활기 불어넣기
    • 타이머 표시
    • 게임 결과
    • 게임을 어떻게 확장할 것인가
    • 요약

  • 9장 게임 #4: 물리 놀이
    • 개요
    • 물리 기초
      • 현실 세계에서 발견할 수 있는 물리
    • Physics 2D
    • Box2D란
    • 물체를 만드는 과정
    • 시뮬레이션
      • 게임 환경
        • 씬 만들기
        • 배경 만들기
        • 전경
        • 소품 추가
      • 대포알 발사
      • 대포알 만들기
    • 최종 결과
    • 게임을 어떻게 확장할 것인가
    • 요약

  • 10장 기능 추가와 게임 배포
    • 개요
    • 오디오
      • 음악
      • 사운드 이펙트
    • 저장 및 불러오기
    • 트리거 만들기
    • 카메라
    • 멀티플레이어
    • 모두 합치기
      • 첫 번째 씬
      • 은하계
      • 플랫폼
      • 트리거
      • 용암
      • UFO 빔
    • 오디오 추가
    • 카메라
    • 저장 및 불러오기
    • 에일리언 스페이스 버디
      • 스페이스 버디 스크립트
      • 위치 조정
    • 두 번째 씬
      • 최종 결과
    • 배포
    • 앞으로의 여정
    • 방대한 리소스
      • 온라인 리소스
      • 오프라인 이벤트
      • 무료 리소스
      • 게임 호스팅
    • 소셜 미디어
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

2016. 6.14 수정사항

본문에 언급된 링크(http://freeartsprites.com/)는 현재 접속되지 않습니다. 이 책에서 제공되는 모든 파일은 표지 이미지 하단에 있는 '파일다운로드'를 통해 내려받을 수 있습니다.