Top

유니티 모바일 게임 개발 2/e [모바일 게임 개발 기본부터 증강 현실 앱 만들기까지]

  • 원서명Unity 2020 Mobile Game Development: Discover practical techniques and examples to create and deliver engaging games for Android and iOS, 2nd Edition (ISBN 9781838987336)
  • 지은이존 도란(John P. Doran)
  • 옮긴이이진오
  • ISBN : 9791161755526
  • 36,000원
  • 2021년 08월 06일 펴냄
  • 페이퍼백 | 472쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

요약

유니티 엔진으로 모바일 게임을 개발할 때 반드시 알아야 할 기본 사항을 예제와 함께 세심하게 다룬다. 프로토타입 형식의 게임을 같이 구성하면서 최신 모바일 게임이 포함해야 할 트렌디한 기능을 구현한다. 유저 트랙킹, 테스트, SNS, 마케팅까지 다루면서 단순히 게임 개발에서 멈추는 것이 아니라 하나의 종합 패키지의 관점에서 바라본다. 유니티로 모바일 게임을 만들고자 하는 사람에게 탄탄한 기반을 제공한다.

이 책에서 다루는 내용

■ 모바일 게임용 유저 인터페이스 디자인
■ 모바일 게임용 충돌 감지, 유저 입력 처리, 플레이어 이동 구현
■ 모바일 기기 입력을 사용한 흥미로운 게임 플레이 구현
■ 유니티 게임 엔진의 모바일 알림 패키지를 통한 유저 유지
■ 눈이 즐겁고 상호작용 가능한 안드로이드와 iOS 기기용 컨텐츠 구현
■ 유니티 광고와 인 앱 구매를 통한 게임 유료화

이 책의 대상 독자

iOS와 안드로이드용 모바일 게임을 개발하고 싶은 개발자를 위한 책이다. C#에 관한 사전지식은 필수는 아니지만, 있으면 좋다.

이 책의 구성

1장, ‘게임 구성하기’에서는 이 책의 기반이 될 단순한 프로젝트를 유니티에서 구현할 것이다. 이 프로젝트는 책 전반에 걸쳐 모바일 게임에 일반적으로 많이 적용되는 기능들을 추가할 것이다. 또한 유니티 기본 개념에 대한 환기 역할도 같이 한다.
2장, ‘안드로이드와 iOS 개발 프로젝트 설정’은 프로젝트를 iOS와 안드로이드 모바일 기기에 배포할 때 필요한 구성 방법을 다룬다. 안드로이드를 위해 자바(Java)와 안드로이드 SDK를 설치하고, iOS를 위해 Xcode를 설치해 설정한다.
3장, ‘모바일 입력/터치 컨트롤’은 모바일 기기에서 동작하는 입력 방식들을 보여준다. 마우스 이벤트를 시작으로, 터치 이벤트와 제스처를 감지하고, 속도계를 사용함과 동시에 Touch 클래스를 사용해 정보에 접근해본다.
4장, ‘해상도에 독립적인 UI’에서는 게임에 사용할 유저 인터페이스를 구성해본다. 타이틀 스크린을 시작으로 이후 장에서 사용할 여러 메뉴를 구성한다.
5장, ‘Unity Ads로 광고하기’는 유니티의 광고 프레임워크를 프로젝트에 적용시키고, 단순한 버전과 복잡한 버전의 광고를 어떻게 생성하는지 배운다.
6장, ‘인 앱 구매 적용하기’는 유니티의 인 앱 구매(IAP), In-App Purchase 시스템을 프로젝트에 적용하고, 소모성 콘텐츠 및 영구적 언락 콘텐츠를 생성하는 법을 다룬다.
7장, ‘소셜 네트워크와 함께’에서는 프로젝트에 소셜 미디어를 적용하는 법을 배운다. 트위터에 하이 스코어를 공유하고, 페이스북 SDK를 사용해 플레이어의 이름과 프로파일 이미지를 게임 내에서 표시한다.
8장, ‘알림으로 플레이어 잡아 두기’에서는 프로젝트에 알림을 구현한다. 구성으로 시작해 시간 예약된 기본 알림과 알림의 표시 방식을 커스터마이징해본다.
9장, ‘유니티 애널리틱스 사용하기’는 유니티의 통계 툴을 프로젝트에 적용시키는 몇 가지 방법을 다룬다. 커스텀 이벤트를 추적해보고, 리모트 세팅을 통해 게임을 스토어에서 다시 받지 않아도 게임 플레이를 수정할 수 있는 법을 배운다.
10장, ‘게임을 매력 있게’에서는 프로젝트의 수준을 높일 수 있는 여러 방법을 배운다. 트윈 애니메이션, 머티리얼, 포스트 프로세싱 효과, 파티클 효과를 사용해 프로젝트를 더 흥미롭게 즐길 수 있도록 만든다.
11장, ‘게임 빌드와 제출하기’는 구글 플레이와 iOS 앱스토어에 게임을 제출하는 과정을 다루면서, 더 원활하게 진행할 수 있는 팁과 트릭들을 담았다.
12장, ‘증강 현실’은 게임에 증강 현실을 추가하는 과정을 배운다. 먼저 프로젝트를 구성하고, ARCore, ARKit, AR Foundation의 설치와 설정 과정을 다룬다.

저자/역자 소개

지은이의 말

인디 게임 개발자와 AAA 게임 개발자라면 여지없이 고객이 많은 곳에 게임을 내고 싶어한다. 해마다 더 많은 사람들이 모바일 기기를 구매하고 있으며, 앞으로도 이 흐름은 멈출 것 같지 않다. 유니티 엔진의 큰 장점 중 하나는 크로스 플랫폼 엔진으로 게임을 한 번 개발하면 큰 수고를 들이지 않고서 다른 콘솔로 변환이 가능하다는 점이다. 하지만 모바일 기기에서만 독특하게 구현할 수 있는 기능들이 있다. 이 책은 바로 그 부분을 다룬다. 이 책은 모바일 기기에 본인의 콘텐츠를 배포할 때 어떻게 유니티를 활용할 수 있는지 알아본다. 이 책을 진행하면서 모바일 게임을 개발하는 방법은 물론 iOS와 안드로이드에 배포하는 방법을 다룰 것이다. 모바일 기기에 어울리는 입력 시스템을 추가하고, 여러 가지 스크린 사이즈에 대응하는 방법을 알게 될 것이다. 그런 다음 유니티의 인 앱 구매와 광고 시스템을 통한 유료화 방법을 알아본다. 알림 기능을 사용해 유저가 게임으로 돌아올 수 있게 만들고, 트위터와 페이스북 SDK를 통해 게임을 전 세계에 공유하는 법도 배울 것이다. 유니티의 통계 시스템을 살펴보고, 여러 방법으로 게임을 폴리싱하며 게임을 구글 플레이와 iOS 앱스토어에 올려볼 것이다. 마지막으로 유니티의 새로운 AR Foundation 프레임워크를 사용해 증강 현실이 확대될 미래에 대응할 수 있는 AR 앱도 만들어볼 것이다.

지은이 소개

존 도란(John P. Doran)

미국 일리노이주 피오리아에 사는 열정적이고 노련한 테크니컬 게임 디자이너이자 소프트웨어 엔지니어이자 작가다. 10년 이상 게임 업계에서 직접 개발해왔으며, 게임 디자이너부터 UI 프로그래머까지 다양한 역할을 맡아왔다. 또한 싱가포르, 한국, 미국에서 게임 개발 교육 프로그램에 참여했으며, 지금까지 10개가 넘는 게임 개발 관련 책을 썼다. 현재 브래들리 대학교에서 전임 강사로 활동하고 있다. 비디오 예술가로서 수상한 경력도 있다.

옮긴이의 말

게임 개발을 시작하는 사람들의 머릿속에는 말로 다 표현하기 힘든 꿈이 담겨 있다. 화려한 그래픽, 번뜩이는 게임 아이디어, 다른 게임에서는 볼 수 없는 기능 같이 나만의 세계를 본인의 스킬로 표현하고 싶어 한다. 하지만 매력적인 만큼 거기에 정신이 팔려 중요한 기본을 놓칠 때도 많다. 신나게 개발하며 많은 것을 쌓아 올린 후 나중에 가서 기본적인 필수 사항을 놓쳐 뒤늦게 많은 부분을 수정하거나, 최악의 경우 시간에 쫓겨 중요 부분을 빼놓고 출시하는 경우도 있다. 게임 개발에 경험이 있는 독자라면 지금 나와 함께 옛 경험을 떠올리며 쓴웃음을 짓고 있지 않을까.
이 책은 그 기본이 돼 주는 책이다. 유니티를 사용해서 모바일 게임을 개발하고자 하는 사람들에게 기본 방향을 보여주며, 동시에 나아갈 길의 바닥을 닦아준다. 화려한 게임으로 독자를 현혹하지 않고 가장 기본적인 디자인의 모바일 게임을 사용해 모바일 게임에 반드시 필요하고 고려해야 할 기능들을 예제와 코드를 통해 설명해준다. 실제로 총 12장의 내용 중에 게임 플레이에만 집중하는 장은 4개밖에 되지 않고, 나머지 8장은 모바일 개발의 고려요소에 할애했다는 점이 이 책이 어디에 중심을 두고 있는지 말해준다.
직업상 수많은 개발자를 만나 대화하게 되는데, 간혹 모바일 게임을 경험해보지 않은 개발자가 모바일 개발을 쉽게 얘기하는 경우가 있다. PC와 콘솔용으로 훌륭한 게임을 개발해본 경험이 있는 사람이 그러는 경우도 있다. 요즘은 엔진이 좋아져서 타 플랫폼으로 출시하는 과정이 수월하기 때문에 별것 아니라고 생각하는 것이다. 경력자 중에도 이런 사람들이 있는데 이제 막 시작하는 사람들은 어떻겠는가? 하지만 게임의 완성도는 플랫폼에 대한 고려가 반이라고 생각한다. 플랫폼이 다르면 기술적인 고려가 달라지고, 대상 유저도 달라지기 때문에 플레이 시간, 유저 모집, 수익 창출 방법, 테스트, 데이터 수집 등 모든 부분이 달라진다. 그리고 이런 모든 부분들이 게임에 모두 녹아들어야 비로소 제대로 된 제품이 나온다. 그래서 이 책은 게임이 모바일 화면에 어떻게 보일지, 수익은 어떻게 만들어 낼지, 유저들에게 게임의 어떻게 유기적으로 알리고 다시 찾아오게 할지, 플랫폼에 어떻게 출시할지 등에 더 집중한다. 게임을 단순히 게임 플레이의 집합체로 보지 않고 플랫폼에 최적화된 하나의 패키지로 보기 때문이다.
이 때문에 모바일 게임 개발을 처음 시작하는 사람들에게 이 책을 적극적으로 추천해주고 싶다. 초심자를 위한 책이기 때문에 가끔 깊이가 부족하다고 느낄 때도 있겠지만, 끝까지 정독한다면 본인의 모바일 게임을 만들 때 놓치는 부분 없이 하나의 패키지로 만들 수 있는 능력의 기반을 갖게 될 것이다.

옮긴이 소개

이진오

미국에서 컴퓨터 공학을 전공하고 한국으로 돌아와 20년 넘게 다수의 게임 개발, 프로듀싱, 디렉팅에 참여한 경력을 가지고 있다. 판타그램, 블루사이드, 웹젠, 리로디드, 페퍼콘 등의 회사를 거치면서 PC, 콘솔, 모바일까지 다양한 게임 개발팀에 몸담으며 경험을 쌓아왔다. 틈이 날 때마다 개인 게임 프로젝트를 개발하면서 공부의 끈도 놓지 않으려고 번역도 동시에 진행하고 있다. 옮긴 책으로는 『언리얼 엔진 4로 나만의 게임 만들기』(에이콘, 2016), 『유니티 5.X 게임 개발의 시작』(에이콘, 2017), 『움직이는 증강 현실 게임 개발』(에이콘, 2018), 『타이핑 슈팅 액션 게임 개발 with 유니티 2/e』(에이콘, 2018) 등이 있다.

목차

목차
  • 1장. 게임 구성하기
    • 기술적 필수 사항
    • 프로젝트 설정하기
    • 플레이어 생성하기
    • C# 스크립트를 사용해 플레이어 움직이기
    • 어트리뷰트와 XML 주석으로 스크립트 향상시키기
      • 어트리뷰트 사용하기
        • 툴팁 어트리뷰트
        • Range 어트리뷰트
      • RequireComponent 어트리뷰트
      • XML 주석
      • Update와 FixedUpdate
      • 한곳에 모으기
    • 카메라가 플레이어 따라다니게 하기
    • 기본 타일 만들기
    • 무한하게 만들기
    • 장애물 만들기
    • 요약

  • 2장. 안드로이드와 iOS 개발 프로젝트 설정
    • 기술적 필수 사항
    • 빌드 설정 소개
    • PC용으로 프로젝트 빌드하기
    • 안드로이드로 프로젝트 내보내기
      • 유니티용 Android Build Support 설치하기
      • 안드로이드 프로젝트들을 위한 빌드 업데이트와 플레이어 설정
    • 안드로이드 기기에 프로젝트 넣기
    • 유니티에서 iOS 설정과 Xcode 설치
    • iOS용으로 프로젝트 빌드하기
    • 요약

  • 3장. 모바일 입력/터치 컨트롤
    • 기술적 필수 사항
    • 마우스 입력 사용하기
    • 터치 컨트롤을 사용한 이동
    • 제스처 구현하기
    • 핀치로 플레이어 스케일 조절하기
    • 속도계 사용하기
    • 게임 오브젝트 터치 감지하기
    • 요약

  • 4장. 해상도에 독립적인 UI
    • 기술적 필수 사항
    • 타이틀 스크린 만들기
      • Rect Transform 컴포넌트
        • 앵커
        • 피봇
      • 타이틀 텍스트 조정과 사이즈 조절
    • 버튼 사용하기
    • 멈춤 메뉴 만들기
    • 게임 멈추기
    • 노치 기기에 GUI 대응하기
    • 요약

  • 5장. Unity Ads로 광고하기
    • 기술적 필수 사항
    • Unity Ads 설정하기
    • 단순 광고 보여주기
    • 콜백 메서드 활용하기
    • 보상이 있는 사전 동의 광고
    • 쿨다운 타이머 추가하기
    • 요약

  • 6장. 인 앱 구매 적용하기
    • 기술적 필수 사항
    • 유니티 IAP 설정하기
    • 첫 구매 제품 만들기
    • 구매를 복구하는 버튼 추가하기
      • 본인이 원하는 스토어에 맞게 구매 설정하기
    • 요약

  • 7장. 소셜 네트워크와 함께
    • 기술적 필수 사항
    • 스코어 시스템 추가하기
    • 트위터를 통해 하이 스코어 공유하기
    • 페이스북 SDK 내려받기와 설치
    • 페이스북을 통해 게임에 로그인하기
    • 페이스북 이름과 프로파일 사진 보여주기
    • 요약

  • 8장. 알림으로 플레이어 잡아 두기
    • 기술적 필수 사항
    • 알림 설정하기
    • 알림 스케줄을 미리 설정하기
    • 알림 커스텀화하기
    • 요약

  • 9장. 유니티 애널리틱스 사용하기
    • 기술적 필수 사항
    • 애널리틱스 구성하기
    • 커스텀 이벤트 추적하기
      • 기본 CustomEvents 보내기
      • 파라미터를 가진 커스텀 이벤트 전송하기
    • 퍼널 애널라이저 사용하기
    • 리모트 세팅으로 속성 조절하기
    • 요약

  • 10장. 게임을 매력 있게
    • 기술적 필수 사항
    • 린트윈을 사용해 애니메이션하기
      • 린트윈 구성
      • 간단한 트윈 만들기
    • 멈춤 메뉴에 트윈 추가하기
    • 머티리얼 다루기
    • 포스트 프로세싱 효과 사용하기
    • 파티클 효과 추가하기
    • 요약

  • 11장. 게임 빌드와 제출하기
    • 기술적 필수 사항
    • 게임의 배포 버전 빌드 만들기
    • 구글 플레이 스토어에 게임 올리기
      • 구글 플레이 콘솔 설정하기
      • 구글 플레이에 앱 배포하기
    • 애플 iOS 앱스토어에 게임 올리기
      • 애플 개발자 구성과 권한설정용 프로파일 생성하기
      • iTunes Connect에 앱 추가하기
    • 요약

  • 12장. 증강 현실
    • 기술적 필수 사항
    • AR용으로 프로젝트 구성하기
    • 기본 구성
    • 표면 감지하기
    • AR 환경과 상호작용하기
    • AR에 오브젝트 생성하기
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[p.71 : 아래에서 5행]
var spawnPoint = obstacleSpawnPoint[Random.Range(0, bstacleSpawnPoint.Count)]
;
->
var spawnPoint = obstacleSpawnPoint[Random.Range(0, ostacleSpawnPoint.Count)]
;

[p.124: 11행]
1. 다음 코드를 PlayerBehaviour 스크립트에 추가한다.
->
1. 이전 코드를 아래와 같이 수정한다.