chlwnstj***
2022-02-25

필수적인 C# 문법을 배우고, 4가지 장르별 게임을 [목표 설정]+[미션 해결] 방식으로 실습해보며 유니티의 기능을 익히는 도서
유니티 게임프로그래밍 에센스가 개정판이 나왔습니다.
이전과 마찬가지로 1, 2권으로 나누어져 1권에서 1~5부까지, 2권에 6,7부가 수록되어있습니다.
책은 1, 2권 합쳐 1000페이지가 넘어갑니다.
1부- 유니티 준비하기
유니티허브, 유니티 에디터 등을 설치하고 프로젝트를 생성하는 방법을 설명하고 있습니다. 전반적으로 따라하기 쉽게 사진과 그림등이 많이 실려있습니다. 유니티 프로그램 내의 기초적인 기능등을 설명하고 있습니다.
2부-C#프로그래밍
유니티는 스크립트 언어로 C#을 사용합니다. 프로그래밍을 접해본 적이 없는 초보자도 기본적인 C#문법을 배울수 있게 되어있습니다.
코딩의 기본 규칙과 문법( 변수, 제어문, 연산자, 반복문), 배열을 다룹니다. 그리고 심화하여 객체지향을 다룹니다. 클래스와 오브젝트를 게임내에 생성하고 다루는 것을 보여줍니다. 초심자에게는 클래스와 오브젝트 그리고 객체지향이라는 개념이 많이 생소하게 느껴질 것입니다.
3부-탄막슈팅게임 : 닷지
앞선 1, 2부에서 코딩과 유니티 프로그램에 대해 기본적인 것을 배웠습니다. 이제 간단한 게임을 만듭니다. 플레이어가 스테이지 위에서 탄알을 피하며 버티는 게임입니다. 스테이지 부터 플레이어 생성, 그리고 탄알, 점수까지 유니티를 본격적으로 다루며 설명합니다. 입력을 받아 플레이어가 움직임을 가져가는 것 부터 플레이어의 사망과 탄알과 플레이어의 충돌, 탄알의 생성등 게임의 기본이 되는 것들을 설명합니다. 다 만들어진 게임은 쉬워 보이나 보기에만 쉬울뿐 꽤 어렵습니다.
4부- 공간
게임내 공간에서 오브젝트는 위치와 회전을 가집니다. 2차원의 평면(모니터)속에서 3차원의 공간감을 표현하기 위해서는 기초적인 수학적 지식이 필요합니다. 4부에서는 벡터를 다루는 법을 배웁니다. 간단한 선형대수를 배운다고 생각하시면 됩니다.(하지만 선형대수는 어렵습니다.) 벡터의 내적과 외적, 그리고 유니티에서 벡터를 다루는 법을 배웁니다. 또한 회전을 나타내는 쿼터니언도 배웁니다. 3D벡터로만 회전을 다룬다면 문제가 생길 수도 있습니다.
5부- 2D러너 게임: 유니런
2D게임을 만듭니다. 본격적으로 케릭터의 움직임을 다룹니다.플레이어가 달리고 뛰고,게임오버 되는 상태를 애니메이터 컨트롤러를 통해 구현합니다. 또한 배경이되는 오브젝트들의 반복과 재배치를 어떻게 동작, 구현하는지 가르쳐줍니다. 완성된 게임은 이전 탄막게임과 마찬가지로 쉬워보이지만 꽤나 어렵습니다.
6부- 탑다운슈터: 좀비서바이버
이전의 2D게임에서 이제는 3D 넘어왔다. 이 부분에서는 주로 3D케릭터의 애니메이션을 어떻게 다루는지 , 광원은 어떻게 처리하는지, 카메라의 움직임은 어떻게 가져가야하는지, 총을 발사하여 적에게 닿았을때 혹은 내가 적에게 공격을 당했을때 어떻게 그것을 알아차리고 처리할 것인지,플레이어의 체력을 나타내는 슬라이더 및 U.I, 그리고 적의 A.I와내비게이션 시스템은 어떻게 동작하는지, 그리고 객체지향의 특징인 다형성 등을 다룬다. 많은 양의 C#스크립트를 다루지만 하나하나, 차근차근 많은 설명과 주석이 달려있어 이해하기 쉽게 되어있다.
완성한 좀비 서바이버 게임도 역시 이전의 2D 유니런 게임과 마찬가지로 쉬워보였지만 어렵습니다.
7부-네트워크 협동 게임: 좀비 서바이버 멀티플레이어
이 부분에서는 이전의 좀비 서바이버 게임에 멀티플레이어 요소를 넣습니다. 그러기 위해서 멀티플레이어 게임을 개발하는 데 필요한 네트워크 이론과 개념을 설명합니다. 로컬과 리모트의 개념, 게임 서버의 종류, 네트워크 권한등을 배웁니다. 그리고 멀티플레이 게임으로 구현하기 위해 포톤PUN이라는 솔루션을 사용하는 방법을 배웁니다. 또한 로비를 만들고 플레이어들을 생성하고, 좀비를 네트워크용으로 바꾸는 것들이 있습니다.
부록 A-안드로이드 빌드
부록 B- IOS 빌드
부록 C- 어드레서블 시스템
이번 개정판에 추가된 내용중에 하나가 부록 C 어드레서블 시스템에 대한 것입니다. 에셋과 컨텐츠에 주소를 부여하여 패키지로 묶고 관리하기 쉽게 만드는 것 같습니다. 다시 한번 정독을 해야할 부분입니다.
레트로의 유니티 게임 프로그래밍 에센스는 게임 프로그래밍 학원에서 교재로도 쓰이는 만큼 유명하고, 내용도 좋은 책입니다. 그 책의 개정판이 나왔습니다. 새로운 유니티 버전에 호환되어나왔습니다. 전체적으로 게임개발에 관해 기본이 되는 내용들과 유니티 프로그램 사용법을 충실하게 담고 있습니다.유니티 게임 개발에 입문을 하려는 독자가 있다면 레트로의 유니티 게임 프로그래밍 에센스 개정판으로 시작해보시길 추천합니다. 좋은 책입니다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.