게임 프로그래밍에 관심이 있는 사람이라면, 유니티 엔진과 언리얼 엔진은 한번쯤 들어봤을 것이다. 이 책은 유니티 엔진을 이용해서 게임을 만드는 과정에 대해서 소개하고 있다. 다양한 게임을 많이 해보았지만, 유니티 엔진에서 무료 개인 사용자용 버전을 제공해서 개발을 가능하도록 한 것은 모르고 있었다. 이를 통해, 간단한 게임 개발을 해볼 수 있을 것으로 보인다.
게임 내에의 시간이 현실에서의 시간 개념과는 다르다는 점을 배웠다. FPS(초당 프레임)은 화면에 초당 프레임이 몇개 표시되는지 세는 단위인데, 프레임 수가 많으면 좀더 부드러운 게임을 할 수 있다. 여기에서 발생되는 문제가 버그라고 할 수 있는데, 어떤 물체가 얇은 벽을 통해서 갈 때에 속도가 매우 빠르면, 다음 프레임에서 벽을 통과해버리는 현상이 일어날 수 있다. 이러한 문제들은 현재 지정될 위치와 이전 위치 사이를 계산해서 물체가 있는지 확인하는 방식으로 해결할 수 있다고 한다.
또, 랭킹 시스템이 점수 순서대로 등수를 나열하면 되는 줄 알았는데 알고리즘을 사용해서 나열한다는 것을 알게 되었다. 버블정렬, 선택 정렬, 삽입 정렬, 퀵 정렬, 병합 정렬, 합 정렬 등 구현이 간단하지만 비효율적인 정렬과 구현이 어렵지만 효율적인 정렬을 구분하는데, 정렬부터 다익스트라 알고리즘까지 자료구조에서 배운 개념들을 정리하면서 추가적으로 게임 프로그래밍에 필요한 알고리즘이 소개되어있어서 공부에 도움이 되었다.
책에서 가장 기억이 남았던 부분은 '모든 기획은 엎어지기 마련이다.'라는 부분이었다. 개발부터 최적화에만 신경을 쓰면 얻는 것보다 잃는게 많다는 것이다. 최적화에 신경을 많이 쓰기 보다는 좋은 설계로 구현을 먼저 해놓고, 병목이 생긴 부분부터 해결하는게 맞다고 저자는 말한다. 위에서 말한 FPS가 낮으면 유저들은 불쾌한 경험을 하게 되고, FPS가 높으면 쾌적하게 게임을 할 수 있게 된다. 폭이 가장 좁은 병목 지점의 성능부터 개선한다면 게임 플레이 경험이 쾌적해질 수 있다.
이 책을 통해 게임 개발의 전반적인 개념을 배울 수 있을 것이다. 게임에 적용되는 프로그래밍의 문법과 알고리즘을 익힌다면 인디 게임 개발자의 기본기는 다져질 것이라고 생각한다. 책 뒷면에 쓰인 추천서처럼, 게임 개발을 하고 싶지만 어떻게 시작할지 몰라 망설이고 있는 이들에게 훌륭한 길잡이가 되어줄 것이다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
'한빛미디어' 카테고리의 다른 글
위대한 게임의 시작 : 게임 시나리오 작법 (2) | 2024.10.17 |
---|---|
챗GPT API를 활용한 챗봇 만들기 (1) | 2024.09.29 |
AI 딥 다이브 (0) | 2024.08.25 |
데이터로 말한다! CRM 마케팅 (0) | 2024.07.17 |
러닝 깃허브 액션 (0) | 2024.06.06 |
댓글