이 책은 유니티에서 C#을 이용한 게임 스크립트를 작성하는 데 필요한 고급 기술과 색다르고 효과적인 방법들에 대해 간략하면서도 집중적으로 탐구해보는 책이다. 유니티에 대한 입문서나 초급자 튜토리얼은 이미 셀 수 없이 많기 때문에 차별화될 수 있도록 좀 더 고급 주제에 집중했으며, 짜임새 있게 구성했다. 따라서 독자가 이미 애셋 임포트나 레벨 디자인, 라이트 매핑, C#이나 자바스크립트를 이용한 기초 스크립트 작성법 등 기본적인 유니티 사용법을 숙지하고 있음을 전제한다. 이 책은 처음부터 디버깅, 인공지능, 사용자 정의 렌더링, 에디터 확장, 애니메이션 및 움직임 등의 주제를 포함해 실용적인 사례와 예제를 살펴보고, 작성한 스크립트를 창의적으로 적용해 복잡한 결과를 만들어내는 방법을 다룬다. 이론상의 추상적 개념과 팁을 설명하기보다 어떠한 이론이 현실적인 예제에 어떻게 적용될 수 있는지를 보여줌으로써 독자의 프로그래밍 지식을 업그레이드하고, 이를 통해 단지 동작하기만 하는 게임 대신 최적화된 게임을 만들 수 있게 하는 것이 주된 목적이다. 이 책을 최대한 활용하려면 각 장을 처음부터 끝까지 순서대로 읽고, 읽는 동안 일반적이고 추상적인 사고방식을 유지하자.
시간과 공간 개념을 아울러 일반적인 원리를 설명하는 각 장마다의 간단한 개별 예제와 설명을 살펴보자. 이 예제들은 내가 사용한 구체적인 내용을 빼고 독자의 필요에 맞게 재사용할 수도 있다. 요컨대 이 책에서 다루는 내용들은 내가 선택한 특정 예제나 사례에만 관련된 것이 아니라, 독자의 프로젝트와 밀접한 내용들이다. 그럼 이제 시작해보자.
이 책에 온 것을 환영한다! 이 책은 유니티에 어느 정도 익숙한 독자를 대상으로 하고 있으며, 더 나아가 특정 분야를 마스터할 수 있는 지식을 얻을 수 있도록 구성돼 있다. 풀어서 얘기하면, 경험 많은 인디 개발자처럼 유니티에서 필요한 부분을 전반적으로 다룰 수 있는 상당한 지식을 얻게 될 것이다. 이 책은 전반적으로 하나의 예제 프로젝트를 다루고 있다. 여러 장에 걸쳐 일인칭 전투 게임을 만들어봄과 동시에 본인의 타이핑 기술도 심사대에 오르는 것을 볼 것이다. 이제 여정을 시작해보자!
비디오 게임은 지난 50여 년 동안 전 세계 수십억 명의 사람들을 사로잡고 놀라운 경험을 선사한 사회적 현상이다. 비디오 게임은 개발자와 아티스트 모두에게 흥미로운 영역으로 자리 잡았다. 이러한 역할을 수행하며 비전과 아이디어, 작업을 통해 다양한 사용자에게 영감을 주고 이전에는 상상할 수 없는 방법으로 이후 모든 세대의 큰 영향을 주었다. 그리고 최근에는 더 광범위한 대상이 게임을 개발할 수 있도록 개발 프로세스를 간소화하고 접근성을 개선해 개발자가 자신의 집에서 매우 적은 예산으로 게임을 개발할 수 있도록 게임 개발의 방향이 전환되고 있다. 이러한 움직임의 중심에는 이 책의 주요 주제인 유니티 엔진이 있다. 유니티 엔진은 기존 애셋 파이프라인(예: 3D 모델링 소프트웨어)과 함께 작업하며 윈도우, 맥, 리눅스, 안드로이드 iOS, 윈도우 폰 등의 다중 플랫폼에서 원활하게 작동하는 비디오 게임을 컴파일하기 위한 컴퓨터 프로그램이다. 유니티를 이용하면 미리 제작한 애셋(예: 음악, 텍스처, 3D 모델)을 임포트하고 통합된 논리를 기반으로 작동하는 일관성 있는 게임으로 조립할 수 있다. 유니티는 놀라운 프로그램이다. 최신 버전은 대부분의 사용자가 무료로 다운로드해 사용할 수 있으며 김프(GIMP)나 블렌더(Blender)와 같은 다양한 무료 소프트웨어와 함께 사용하면 비용 부담 없이 게임을 개발할 수 있다. 이 책은 유니티 엔진을 활용해 플레이 가능한 재미있는 게임을 개발하는 방법을 다룬다. 프로그래밍과 스크립팅(예: 자바스크립트, 액션스크립트, C, C++, 자바, C#)에 대한 경험이 있으면 도움이 되겠지만 유니티에 대한 경험은 없다고 가정한다.