책소개
네트워크 게임 기능을 처음 개발하는 사람을 위한 책!!!
이 책은 Unity 초보자용 서적을 조금이나마 읽어본 적이 있는 개발자나 실제로 Unity로 앱 제작을 해본 적이 있는 개발자를 대상으로 하고 있습니다. 앞으로 Unity를 배우고 싶은 분은 『유니티 5로 만드는 3D/2D 스마트폰 게임 개발』 등과 같은 입문서를 먼저 읽어보기 바랍니다. 이 책은 Unity의 기본 기능과 Unity 에디터의 사용 방법, 스크립팅의 기초 등에 대해서는 설명하고 있지 않습니다.
이 책의 특징
*본격적인 대전형 실시간 네트워크 게임인 ‘Painters’와 비실시간 네트워크 지원 게임인 ‘검사가 그렇게 빨리 죽어버려?’의 샘플 게임을 제공합니다.
*서버에 세이브 데이터를 저장하는 방법이나 스코어 랭킹, 소셜 게임에서 친숙한 친구 시스템 등을 게임에 도입하는 방법을 알 수 있습니다.
*Unity 표준 라이브러리 ‘UNET’의 개요부터 기초까지 샘플을 사용하면서 한 단계씩 배울 수 있습니다.
*실시간 네트워크 게임에서 필수 요소인 지연 회피나 캐릭터의 이동 예측 등 실전 테크닉을 습득할 수 있습니다.
*Unity Cloud Build 등 개발 효율을 높일 수 있는 Tip과 힌트를 많이 게재하고 있습니다.
저자소개
저 : Taketoshi Nishimori
주식회사 namco(당시)에서 주식회사 dream fanctory를 거쳐 현재 프리랜서로 활동 중이다. 컨슈머 게임기, 휴대전화, 스마트폰 등과 같은 플랫폼용 애플리케이션 개발에 종사하고 있다. 주요 타이틀은 Soul Edge(아케이드), Tobal 시리즈(PlayStation, i/EZ 앱), Ehrgeiz(PlayStation), Xenosaga EpisodeⅠ(PlayStation2), Super Monkey Ball(게임 큐브), Songs of ANAGURA(일본 미래관) 등.
저 : Takaaki Ichijyo
개인 게임 작가 및 Game DevRel. 대표작은 ‘Back in 1995’(Steam). 게임 개발 외에 소규모 게임 개발자가 계속 활동하기 좋은 세상 만들기를 위해 여러 게임 개발 관련 회사로부터 DevRel 업무를 하청받고 있다. 현재 nifcloud mobile backend 에반젤리스트, Play.Doujin! 디렉터로 활동중이다.
저 : Tuyano Syoda
일본 최초의 Mac 전문 월간지 ‘Mac+’ 시절부터 주로 Mac 관련 잡지에 기고하고 있다. 하이퍼카드의 등장으로 ‘비기너를 위한 프로그래밍’에 눈을 뜬 이후 Mac, Windows, Web, Android, iPhone 등 각종 플랫폼에 관한 초보자용 프로그래밍 서적을 집필하고 있다.
이영란
대학에서 영문학을 전공했으나 재학 시절 컴퓨터 프로그래밍에 흥미를 느껴 다년간 시스템 엔지니어로 재직 후 컴퓨터 도서 전문 번역자로 활약하고 있다. 이후 일본어로 분야를 바꿔 도쿄대학 대학원에 진학하여 박사학위를 취득하고 연구 및 강의 활동과 함께 IT 전반에 걸친 관련 도서의 번역에도 힘쓰고 있다.
목차
Introduction. Unity와 네트워크 게임의 개요
0-1 게임 통합개발환경 Unity
0-2 게임의 네트워크 기능이란?
0-3 이 책의 샘플 게임에 대해
0-4 필요한 개발 환경과 UNET의 라이선스
Part 1. 비동기화형 네트워크 기능 활용 - NCMB편
1장. 샘플 게임의 개요과 구조
1-1 ‘검사가 그렇게 빨리 죽어버려?’의 개요와 플레이 방법
1-2 샘플 게임의 구조
2장. NCMB의 도입과 기초
2-1 ‘nifcloud mobile backend’란?
2-2 NCMB Unity SDK 도입 절차
2-3 NCMB 관리 화면
2-4 데이터 저장과 취득의 기초
3장. 로그인 기능의 구현과 활용
3-1 게임과 로그인 기능의 관계
3-2 로그인 기능의 구현
3-3 로그인 기능의 응용과 세이브 데이터의 저장
3-4 자동 로그인
3-5 단말기 인계 기능
3-6 데일리 보너스
4장. 네트워크 기능의 확장
4-1 데이터 스토어 개요
4-2 랭킹 기능
4-3 친구 기능
4-4 비동기화형 멀티플레이어 게임 시스템
4-5 게임의 설정을 관리 화면에서 변경하기
5장. 이미지 파일의 저장과 취득
5-1 파일 스토어에 이미지 파일 저장하기
5-2 파일 스토어에서 이미지 파일을 가져오기
5-3 앱 안에서 스크린샷을 공유 및 열람하기
5-4 배너 이미지를 관리 화면에서 앱으로 배포하기
6장. 푸시 알림의 구축과 활용
6-1 게임에 푸시 알림을 심어 넣기
6-2 푸시 알림의 준비 - Unity와 NCMB편
6-3 푸시 알림의 준비 - iOS편
6-4 푸시 알림의 준비 - Android편
6-5 관리 화면에서 푸시 알림을 배포하기
6-6 앱에서 푸시 알림을 보내기
Part 2. 실시간 네트워크 게임 개발 - UNET 기초편
1장. Network Manager로 간단히 네트워크 게임 작성
1-1 네트워크 게임과 UNET의 기초
1-2 Network Manager를 사용하여 씬 작성하기
1-3 캐릭터를 프리팹으로 작성한다
1-4 캐릭터를 조작하기 위한 스크립트를 기술한다
1-5 캐릭터를 조작하는 스크립트 상세 내용
1-6 완성과 정리
2장. Network Manager를 사용한 프로그래밍
2-1 스테이터스 동기화
2-2 클라이언트 간의 값 공유
2-3 Network Manager 클래스 이용하기
2-4 플레이어 오브젝트의 조작
2-5 네트워크 메시지 이용하기
3장. UNET 커스터마이징
3-1 플레이어가 모이는 장소 ‘로비’의 사용법
3-2 NetworkManager 클래스 확장하기
3-3 NetworkLobbyManager 클래스 확장하기
3-4 실행 중인 사용자를 조사하는 네트워크 디스커버리
4장. Transport Layer API와 인터넷 서비스(Unity Cloud Service)
4-1 Transport Layer API를 사용한 메시지 송수신
4-2 인터넷 서비스(Unity Cloud Service) 이용하기
Part 3. 실시간 네트워크 게임 개발 - UNET 실전편
1장. 네트워크 게임의 기본과 샘플 게임의 개요
1-1 UNET(Unity Networking API)의 개요
1-2 샘플 게임 ‘Painters’의 개요와 플레이 방법
2장. 샘플 게임 ‘Painters’의 구축 개요
2-1 네트워크 게임 개발의 기본
2-2 ‘Painters’의 구축
3장. 게임 시간의 공유
3-1 지연 처리의 개요
3-2 통신의 설계와 구축
4장. 캐릭터 이동의 보정
4-1 캐릭터 이동 처리의 개요
4-2 캐릭터 이동 처리의 구축
4-3 캐릭터 이동 처리의 보완과 예측
5장. 페인트탄의 동기화와 배경 칠하기
5-1 페인트탄을 동기화시키기
5-2 배경 칠하기
Appendix
A-1 iOS 앱 개발을 위한 인증서 발행
A-2 Unity Cloud Build에서 앱 빌드하기
A-3 NCMB의 기타 기능
A-4 멀티플레이 네트워크 게임용 미들웨어 ‘Photon’