최근 게임은 단순한 오락거리의 일종이 아닌 문화로 자리잡을 정도로 많은 성장과 시선의 변화가 있었습니다.
국내 대표적인 게임 개발툴로는 언리얼과 유니티가 있는데 그 중 유니티로 개발하는 비율이 높습니다.
그러나 게임 개발이라하면 무시무시한 수학 공식이 들어가거나 매우 어렵게 느껴지실거라 생각이 듭니다.
이번 글에서는 유니티라는 프로그램으로 게임을 개발하는 방법을 담은 도서를 소개해보도록 하겠습니다.
책의 구성 요소
1부: 유니티 준비하기
유니티 설치 및 유니티 동작 원리와 인터페이스 배우기
유니티 개발 환경 준비 및 간단한 프로젝트를 만들어봅니다. 컴포넌트 개념과 메시지, 브로드캐스팅 등 유니티의 기본적인 지식 및 소통법을 알아갑니다.
2부: C# 프로그래밍
C# 프로그래밍과 객체지향 쉽게 배우기
코딩 원리와 객체지향을 그림을 통해 쉽게 이해할 수 있도록 설명합니다. 실제 게임을 빗대어 설명하기에 어떤 경우에 사용하는지, 왜 사용하는지 보다 쉽게 이해하지 않을까 싶습니다.
3부: 탄막 슈팅 게임 - 닷지
3D 탄알 피하기 게임 만들기
키보드로 공을 조작하여 날아오는 탄알을 피하는 닷지 게임을 만들어봅니다. 시간, 물리엔진, 캐릭터 이동/회전, UGUI 등 기본적인 게임 개발에 대한 지식을 배웁니다.
4: 공간
공간, 속도, 회전을 통제하기 위한 선형대수 배우기
복잡한 공식이 아닌, 간단한 그림을 통해 유니티 개발에 사용되는 벡터 수학과 지역·전역 공간 그리고 회전에 사용되는 쿼터니언을 배우게 됩니다
마찬가지로 단순히 이론 공식을 암기하는 방식이 아닌, 실제 게임에 빗대어 설명하여 어떤 상황에 사용하면 되는지 깨닫고 사용할 수 있습니다.
5부: 2D 러너 게임 - 유니런
발판이 무한 램덤 생성되는 게임 만들기 (Like. 쿠키런)
쿠키런 같이 무한으로 낭떠러지를 피해 달리는 게임을 직접 만들어봅니다.
2D 애니메이션을 만들고 사용하며 오브젝트 풀링을 통해 배경, 장애물을 무한 반복 배치하는 기법 그리고 싱글톤 패턴에 대해 배웁니다.
6부: 탑다운 슈터 게임 - 좀비 서바이버
인공지능 좀비들에게 총을 쏘는 탑다운 슈터 게임 만들기
IK와 애니메이션 마스크를 구현하고 점수, UI 그리고 인공지능 적 소환 시스템을 만들어봅니다. 유니티 내비게이션 시스템을 사용하여인공지능을 구현하며, 레이캐스트로 탄알 충동을 구현합니다.
추가적으로 C# 인터페이스, 이벤트, 람다 표현식을 통해 대미지 처리 로직을 간결하게 줄이는 방법을 배우게 되며 시네머신과 포스트 프로세싱 사용한 영상미 구현법을 배웁니다.
7부: 네트워크 협동 게임 - 좀비 서바이버 멀티플레이어
싱글플레이어 전용 좀비 게임을 멀티플레이어 게임으로 포팅하기
멀티 게임을 구현하는데에 있어 기본적인 네트워킹 관련 상식·이론을 배웁니다.
별개의 서버 구축 없이, 포톤을 통해 로비와 매치메이킹 시스템 등을 구현하며 플레이어 간 동기화 절차와 클라이언트, 호스트, 로컬과 리모트, 조작 권한을 배웁니다
부록
어드레서블 에셋 시스템에 대한 전반적인 사용법과 문법과 iOS/AOS 빌드 그리고 원격 배포에 대해 배웁니다.
책의 난이도
개인적으로 느낀 난이도는 아무것도 모르는 비전공자도 충분히 이해할 수 있을 정도로 쉽게 풀이하여 설명하고 있습니다.
특히 어렵다고 느껴지는 부분들은 그림을 통해 풀이 설명을 하고 있어 이해하는데 도움을 주고 있습니다.
특히 보통의 도서에서는 앞에서는 열심히 설명하지만 조금만 깊게 들어가면 설명이 생략되고 코드 로직만 보여주는 경우가 있는데, 본 도서는 깊게 들어가더라도 끝까지 함수, 기능 하나 하나 풀어 설명하고 있어 처음 게임 개발을 접하더라도 이해할 수 있지 않을까 싶습니다.
다만 책의 페이지 수가 1,000 페이지를 넘어가기에 시작을 하는데에 있어 두려움을 느끼실 수 있겠지만, 천천히 한페이지 한페이지 읽어가며 프로젝트를 따라 만들다보면 자신의 지식·기술로 만들 수 있을거라 생각합니다.
유니티 버전
본 도서의 모든 예제와 그림은 2021.2 버전으로 제작되었지만 2022.1 버전에서도 호환이 되도록 특정 버전의 유니티에 의존하지 않도록 구성되었습니다.
만약 2022.1과 이후 버전에서 유니티 에디터 사용법이 달라지거나 확인하지 못한 호환성 문제가 발생한다면 예제 폴더에 포함된 UPGRADE_GUIDE.md 가이드문서를 제공하고 있기에 버전에 따른 문제는 없을 것으로 보입니다.
개인적인 후기
저는 현재 회사에서 안드로이드 개발을 하고 있지만 이전에는 게임 개발을 위주로 하였습니다.
게임메이커라는 엔진으로 개발하다, 유니티라는 엔진을 만나 개발을 시작하게 되었는데 그때 많은 도움을 받았던 분이 바로 본 도서를 집필하신 ‘레트로(이제민)’님 입니다. 아직도 고1 겨울방학 때 동신대학교에서 기숙사 생활을 하며 약 2개월 간 수업을 들었던 기억이 납니다.
예전 강의를 듣던 모습을 생각하며 본 도서를 읽어보았는데 당시보다 더 쉽고 재미있게 풀어 설명하신 것 같습니다.
무엇보다 나름대로 유니티 개발을 어느정도 잘 다룬다 생각하였는데 미숙하거나 몰랐던 기술들(포스트프로세싱, 어드레서블 시스템 등)을 배우면서 단순히 초심자 내용만을 담은 것이 아닌 심화적인 내용도 담았다는 것을 느꼈습니다.
게임을 플레이하면서 직접 게임을 만들어보고 싶지만, 어떻게 시작을 해야할지 모르고 어렵게 느껴지셨다면 본 책을 추천해봅니다.
본 도서는 한빛미디어의 '나는 리뷰어다'를 통해 지원받은 도서입니다.
'도서 리뷰' 카테고리의 다른 글
혼합현실 UX를 위한, 메타버스를 디자인하라 (0) | 2022.07.24 |
---|---|
완성된 웹사이트로 배우는 HTML&CSS웹 디자인 (0) | 2022.05.29 |
잘 읽히는 보고서를 원한다면, '보고서 작성 실무 강의' (0) | 2021.12.26 |
모바일 기기용 머신러닝, '텐서플로 라이트를 활용한 안드로이드 딥러닝' (0) | 2021.08.22 |
팀 생산성을 높여주는 21가지 도구와 서비스, '모던 스타트업' (0) | 2021.07.25 |
상상하는 것을 소프트웨어로 구현하는 것을 좋아하는 청년
게시글이 마음에 드시나요? [ 공감❤️ ] 눌러주시면 큰 힘이 됩니다!