기본 콘텐츠로 건너뛰기

도서 '한 권으로 배우는 게임 프로그래밍'

  올해 10월 28일에 출간된, 따끈따끈한 한빛미디어의 신간, '한 권으로 배우는 게임 프로그래밍'이다. 재미있는 것은 제목 그대로 이 책은 '게임 프로그래밍'을 가르쳐 주는 입문서다. 처음부터 끝까지 따라 하면 게임 하나가 딱 완성되는 그런 책이 아니라, 처음부터 끝까지 읽고 공부하면, '게임'이 어떻게 만들어지는지, '어떤 구조'로 만들어져 있고 '어떤 원리'로 구현을 해야 하는지, '이해'를 하고 '구현'할 수 있게 해주는 책이다.


 깜찍한 표지 그림과 제목만 보면, 가볍게 프로그래밍을 핥아주는(?) 책인 것 같아 보이지만, 이 책은 그림만 귀엽고 핥지 않고 제대로 파 준다는 면에서 좋은 책인 것 같다. 이 가볍고 깜찍한 그림은 게임 프로그래밍을 제대로 파면서도 초보자나 비 전공자가 포기하지 않고 쉽게 이해할 수 있도록 도움을 주는 삽화의 캐릭터다.


 책 페이지를 넘겨보면 이 책은 실습 환경을 유니티를 추천하고 있다. 저자의 말대로 이 책은 실습 위주의 실천서가 아닌 이론서에 가깝기 때문에 다른 실습 환경을 사용해도 문제는 없다. 하지만 객체지향의 C#을 기준으로 설명을 하고 있으며, 프레임 기반의 게임 엔진(유니티, 언리얼 등) 동작 방식을 기반으로 하기 때문에 가볍고 무료인 유니티 엔진 환경에서 실습을 하면 보다 편할 것이다.


 한빛미디어의 '한 권으로 배우는 게임 프로그래밍'은 비전공자와 초보자, 입문자에게 모두 추천할 수 있는 책인데, 나도 이 페이지의 그림을 보고 나서 이걸 기획자 후배에게 추천해서 읽게 해야겠다고 생각했다.

UI의 좌표계와 게임 세계 좌표계가 분리되어 있다는 점을, 초보자는 잘 모른다. 이 구조를 알고 기획을 하는 것과 모르고 기획을 하는 것은 엄청난 차이가 있다. 게임 프로그래머뿐만 아니라 제대로 된 구조를 이해하고 기획을 하고 싶은 게임 기획자에게도 너무나도 좋은 책이다.


 책은 총 4개의 장으로 이루어져 있다. 개발 환경 구성과 게임 세계를 이해하는 것이 1장의 내용이고, 외면하고 싶은 수학과 물리가 2장. 게임 프로그래밍에 필요한 기법, 알고리즘과 자료구조 등이 3장. 게임 프로그래밍을 더 잘하기 위한 방법론이 4장으로 되어 있는 구성이다. 이 책이 무엇보다 비 전공자와 입문자, 초보자에게 좋은 이유는 1장의 '게임 세계 이해' 편 때문이다.​

프로그래머도 마찬가지지만, 기획자는 시스템과 콘텐츠를 구분하는 것을 어렵게 여길 정도로 게임 세계에 대한 이해가 부족하다. 그런 '유저' 상태의 사람들에게 이 책의 '게임의 구조'를 이해시키는 친절한 그림과 친근한 설명은 게임 개발자로서의 문턱을 대폭 낮춰준다.


 벡터의 기본 연산과 함께 다루는 몬스터 스폰 예제. 몬스터 스폰 관련해서 예전에 NDC 슬라이드를 보고 현웃 터진 적이 있었다. 잘 모르는 기획자가 몬스터 10마리를 스폰 해달라고 프로그래머에게 서술형 문장으로 요청을 하고, 그러면 프로그래머는 몬스터를 같은 좌표 위에 일렬로 10마리를 세워서 스폰 시킨다는 슬라이드를 보고 엄청나게 웃었었는데 그게 우스갯소리가 아니고 실제로 일어나는 일이라는 것을 그로부터 일 년 뒤 학생들을 가르치면서 알 수 있었다.


 수학과 물리는 너무너무 보고 싶지 않겠지만, 게임 프로그래밍에서 수학과 물리를 아는 것과 모르는 것은 엄청난 차이를 보인다. 신입이고 지망생이라면 모를까 경력이라면, 프로그래머든 기획자든 게임 수학과 물리를 모르고 업무를 하는 건 비효율적이 된다.​

그다지 두껍지 않은 책에서 정말 게임 프로그래밍에 필요한 것은 모두 알려주는 좋은 책이다.


 나는 보통 이 그래프를 UI 애니메이션을 기획하고 작업자에게 전달할 때 사용한다. 기획자가 아무리 입으로 떠들어 보고 손짓 발짓을 해 보았자, 기획자 머릿속에 있는 걸 작업자가 이해할 수 있을 리가 없다. 이럴 때 기획서에 그래프를 추가해서 던져주고 개발해 주세요!라고 하면 서로가 만족하는 결과물을 만들 수 있다.

입으로 "디용~디용~하면서  움직이게 해주세요."라고 해도, 작업자는 모른다는 거다.


 3장에서는 게임 프로그래밍에 필요한 기법을 배운다. 알고리즘과 자료구조다. 사실 전공자라면 1학년 때 배우는 게 자료구조이고, 알고리즘도 2학년 또는 3학년 때 끝낸다. 학교마다 교과목은 조금씩 다르지만, 컴공이라면 자료구조와 알고리즘은 반드시 빠지지 않을 정도로 이 두 가지는 프로그래머에게 매우 중요하다.

자료구조는 기획자에게도 매우 중요하다. 신입 기획자 포트폴리오를 보고 있으면, 자료구조에 대한 이해 없이 자료형을 사용해서 감점을 먹는 친구들이 있다. 알고리즘도 그렇다. 서울로 가는 길은 여러 가지가 있지만, 알고리즘을 알고 가는 것과 모르고 가는 것은 천지차이이기 때문에, 게임 프로그래밍을 목표로 한다면 알고리즘은 필수다.


 책에서 충돌체에 대한 개념을 다루고 있는데, 기획자도 신입 프로그래머도 이걸 모르는 경우가 너무 다반사라서, 정말 전혀 모르는 생초보를 위한 책이라는 생각이 들었다. 게임 세계에 대한 이해가 전혀 없는 사람에게 '한 권으로 배우는 게임 프로그래밍'은 게임 세계를 친절하게 알려주고, 그 세계를 만들기 위한 꼭 필요한 정보들을 자연스럽고 친숙하게 익힐 수 있게 도와준다.​

비전공자 게임 프로그래머 지망생에게 무척 좋은 책이지만, 비전공자인데 기획자를 선택한 사람들에게 정말 정말 좋은 책이라고 생각된다. 기획팀에 추천 도서로 등록해서 읽게 해야겠다.


 가볍게 읽히고 친절한 전공 책(?)인 만큼, 전문서적답게 뒤 페이지에는 찾아보기 인덱스가 준비되어 있으니 다 읽은 후에도 가까이 두고 필요한 내용을 찾아보기 좋다. 오랜만에 보기 드문 매우 쓸모 있는 책이었다.​


 "한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."



 #한빛미디어, #게임기획자, #한권으로배우는게임프로그래밍, #게임프로그래밍입문, #한빛미디어한권으로게임프로그래밍, #게임개발필수입문서, #게임기획자추천도서

댓글

이 블로그의 인기 게시물

천주교 성경책 구입

수요일 교리를 마치고도 봉사자님께 질문을 드렸었지만, 천주교는 개신교와는 성경이 다르다. 사실 나는 9월 말에 프리마켓에서 중고로 구입한 '개신교 성경책'이 있다. 그때만해도 내가 몇주 뒤에 성당에 다니게 될 거라고는 상상조차 하지 않았으니까, 교양서 읽듯이 읽어보려고 샀었다. 하지만 '우리말 성경'이라고 해놓고서 번역이 엉망진창이라 이해하려고 노력하다가 포기했다. 제대로 보지 못하고 구석에 처박힌 개신교 성경은 뒤로하고, 천주교 성경이 필요했다. 인터넷에 검색을 해보니 신자의 가정에 비치해야할 물건에는, 성경책, 가톨릭기도서, 성가집, 십자고상, 성모상, 묵주 가 있다고 했다. 사실 교재 공부를 할 때도 성경이 필요해서 성경책을 하나 구입하려고는 했는데, 인터넷으로 찾아보니 달랑 대,중,소에 1단, 2단 이렇게 쓰여져 있는데 무슨 소린지 도통 알 수가 없었다. 지퍼가 있고 없고만 알아들을 수 있었다. 아무래도 곁에 두고 자주 읽을 책이니 직접 보고 결정하기로 마음 먹었다. 천주교 수영성당으로 향했다. 2단으로 된 성경책을 사가지고 왔다. 재미있게도 이 성경책은 모든 곳에서 판매가가 29,000원이다. 오프라인이든 온라인이든. 신기한 일이다. 세로 22cm, 가로는 15.5cm 정도 된다. 2단이지만 폰트가 깔끔하고 읽기 편하게 되어 있다. 굵기도 적당해서 수시로 펴고 읽기에 좋았다. 개신교 성경처럼 화려하지도 장식이 있지도 않지만, 표지는 감촉이 좋고 책장 넘김도 좋고 책갈피 줄도 두 줄이나 있다. 크기도 딱 적당하다. 매우 마음에 든다. 이렇게 나의 첫 신앙물품은 당연하게도 성경책이 됐다. 교회 공용으로 사용하는 성경이 있다니. 이것도 천주교라서 가능한 걸까. 내가 구입한 책은 2017년 5월 1일에 재판된 책이다. 이제 공부 준비는 충분한 것 같다. 책상 위 나와 가장 가까운 위치의 책꽂이에 성경책과 교재를 꼽아 두었다. 언제라도 꺼내서 볼 수 있도록. 사실 성경책은 그날의 독서에...

주택금융공사 아낌e 보금자리론, 간편 서류 제출!

 예전에 대출이라고 하면 서류 바리바리 발급받아가지고 또 그걸 싸가지고 은행 갔다가 또 뭐가 빠졌네 해서 또 갔다가 아주 난리였던 것 같은데, 세상이 참 좋아졌다. 컴퓨터 앞에 앉아서 클릭 몇 번으로 서류 제출이 끝이라니. 총 필요한 서류가 7개였는데 모두 간편 제출로 제출 완료했다. 올해 3월에 연봉이 인상되었기 때문에 혹시 몰라서 연봉 계약서도 추가 서류로 제출했다. 굳굳. 이제 연락을 기다리기만 하면 되겠다.

[혐짤주의/혐오주의/혈흔주의] 집에서 닭잡기 - 집에서 닭잡는 방법,집에서 닭잡기,집에서 닭털뽑기

※ 혐짤주의/혐오주의/혈흔주의  다시 한 번, 저렇게 경고 문구를 넣는 이유는 아무래도 동물 키우시는 분들이 거부감이 많으실 것 같아 그런데 저는 3월에 처음 김해에서 켄터키치킨 다섯마리를 사올때부터 먹으려고 사왔습니다. 그래서 애들 이름이 켄터키치킨이죠. 암탉은 한마리 남겨서 알을 낳도록 기르고, 수탉은 모조리 잡아먹는 것. 그게 제 계획이었습니다. 키우던걸 어떻게 잡아먹느냐고 잔인하다고 말하시는 분은..글쎄요. 이건 마음가짐의 문제라. 제가 키우던 고양이나 토끼를 잡아먹지는 않죠. 무럭무럭 자라난 녀석들은 어엿한 닭이 되었죠. 제가 잡기 좀 뭐해서 가져다 먹을 사람을 물색했지만, 집에서 닭잡는 방법을 모르기도 하고 집에서 닭잡기가 쉬운 것도 아니기 때문에 가져간다는 사람도 썩 없었어요. 그래서 그냥 제가 잡아먹었습니다. 넵. 제가 먹음. 닭잡는 방법을 몰라서 조금 고생도 했었고해서 필요하신 분들께 도움이 되라고 지난번의 티눈연고 사용법처럼 올려봅니다. 그때 커뮤니티 보니까 집에서 닭 잡아먹어야하는데 방법 몰라서 묻는 분들 많더라고요. 아무것도 모르고 닭장 안에서 잘 지내고 있는 켄터키. 맨 왼쪽의 터는 암컷이기 때문에 이 곳에서 가장 오래 삶을 연명했습니다. 그리고 이 날의 희생 대상은 가운데의 키죠. 켄은 너무 잘생기기도 했고요. 뭐든 못나면 안된다는 진리를 여기서 발견합니다. 저는 그냥 평범한 가정집에 살고 있기 때문에 딱히 닭을 잡을 수 있는 너른 부엌이 마련되어 있지 않습니다. 그럼 어디서 잡느냐? 어렵지 않아요. 욕실에서 잡으면 됩니다. 화장실이 같이 있기도 하고 이래저래 위생적으로 조금 신경이 쓰일 수도 있지만서도 사실 집에서 닭잡기에는 욕실만한데가 없습니다. 오늘의 닭잡기 대상인 키를 닭장에서 빼고 문을 닫으니 닭장으로 다시 돌아가고 싶어하더군요. 그러나 이미 늦었습니다. ※ 혐짤주의/혐오주의/혈흔주의 다시 한번 말씀드립니다만, 닭잡는 사진이 있으니 닭잡는게 궁금해서 들어오신 게 아니면 뒤로가기를 ...