대한민국 부동산 미래지도 세트 - 전2권 - 부의 흐름을 짚어내는 빠숑의 입지분석 바이블
김학렬 지음 / 한빛비즈 / 2021년 3월
평점 :
장바구니담기


저자 빠숑은 부동산 분야에서 유명한 인플루언서이다. 3년 전 즈음 부터 내집 마련에 관심이 생겨 출퇴근 시간마다 “빠숑의 세상 답사기”라는 부동산 팟빵 채널을 듣곤 했다.

초보자가 알아듣기 쉽게 법령이나 어려운 말들을 배제하고 디테일한 기초를 잘 설명해주는 멘트 덕분에 부동산 지식을 알차게 배워왔기에 그가 쓴 책을 자주 즐겨 읽고 있었다.

본 포스팅으로 리뷰할 “대한민국 부동산 미래지도”라는 책은 그동안 그가 저술한 부동산 관련 서적의 집대성 판으로 볼 수 있을듯하다.

그의 예전 저서 “수도권 알짜 부동산 답사기”에 등장한 알짜배기 지역의 특성도 통합되어 있었다면 더할 나위 없었겠지만 이번 도서에서는 그 때 다루지 못했던 지역들이 대거 등장하기에 2권을 아우른다면 대한민국 주요 지역에 대한 부동산 정보는 쉽게 꿰찰 수 있다.

이번 도서 세트는 구성부터 마음에 들었다. 부동산 관련 책들을 읽어보면 하나같이 추천하는 말이 있다. 전국 및 본인이 관심 있는 지역의 커다란 지도를 집의 벽면에 붙이고 관심있게 보라는 것. 그런데 읽을 때는 의지가 샘솟지만 책을 덮고 바쁜 일상으로 돌아가면 의외로 지도 하나 사는 것이 쉽지 않다.

나 같은 독자가 많아서일까? 이번 세트판에는 친절하게 지도가 들어있었는데 반갑기 그지 없었다. 고급스러워 보이는 2권의 표지에 수도권 개발 계획도 대형 지도, 그리고 예쁘장한 책갈피까지 고급스러운 장식품을 소장한 느낌이 들어 만족스러웠다.세트구성

그렇다면 내용은 어떨까? 우선 나같은 부동산 초보자가 쉽게 이해할 수 있도록 구성된 점이 장점이다. 나 같은 대부분의 일반인들은 특정 지역의 부동산에 관심이 있는 경우 제일 먼저 하는 일이 그 지역을 잘 아는 사람이 있는지 떠올려 보는 일이다. 아무래도 초보자가 이제와서 급하게 공부를 하는 것도 쉽지 않고 공부를 한다 한들 뾰족한 수를 얻기는 쉽지 않기 때문이다.

본 도서의 전체적인 구성은 마치 잘 아는 그 지역 지인이 동네 한 바퀴를 돌아다니며 지역 특성을 설명해주는 느낌이다. 지역을 답사하며 교통편, 학군, 상권이나 인프라, 시간의 흐름에 따른 변화, 최근에 발생한 이슈 등을 옆에서 이야기 하듯이 기술한다.

특히 주목할 만한 점은 시간의 흐름에 따른 변화인데 그 흐름은 무려 조선시대까지 거슬러 간다. 풍수지리 사상을 바탕으로 큰 산이나 하천 등 자연 지형을 토대로 당시 조상들이 그 지역의 어떤 장점을 기록으로 남겼는지 설명해주며, 심지어 특정 지역명이 발생한 유래를 토대로 미래의 가능성을 점친다.

예를 들면 아래 사진은 조선시대 한양의 모습을 담은 수선전도라는 지도인데 현재의 네이버 지도와 비교해보며 중랑구가 왜 서울에 편입될 수 밖에 없는 운명이었는지 풍수지리의 내신사, 외신사 개념으로 예로 들어 설명해준다.수선전도

옛 선조들로 부터 이어져 내려온 입지에 대한 지식을 통찰함으로써 앞으로 발전 가능성이 농후함에도 현재 저평가된 입지에 대한 안목을 키울 수 있음을 저자는 여러차례 강조하는 듯 하다.

저자가 책을 통해 수도 없이 강조하는 제1 원칙이 바로 이러한 입지인데, 이를 확실히 파악하고자 조선시대의 고서까지 연구하는 저자의 노력과 내공을 책 한 권으로 편하게 흡수할 수 있다는 점이 책의 최대 장점이라고 생각한다. 아무래도 현 시점의 부동산 정보에 대한 고수는 많지만 600년 역사를 통찰하여 입지 조건을 파악하고 있는 고수는 흔치 않기 때문이다.

또 다른 장점으로는 마치 현장 답사를 나간 듯 그 지역을 잘 파악할 수 있는 입지들이 풍부한 사진으로 소개되고 있다는 점을 들 수 있겠다. 나 역시 인생의 절반이 넘는 시간인 25년 간 서울에서 살아왔음에도 매우 유명한 지역 혹은 거주하거나 직장이 아닌 특정 지역은 처음보듯 생소할 수 밖에 없다. 서울이나 수도권은 너무 방대하기 때문이다.

이런 독자들을 위해 그 지역의 특성을 살린 풍부한 사진이 실려있어 직접 발품팔아 체험하듯이 실감하기 좋은 구성으로 되어있다. 아래는 반포대로를 중심으로 우면산에서 남산까지 바라본 전경인데 이 사진 하나만으로도 서초동의 입지가 어느정도 파악된다.발품

청계고가도로를 철거한 후 변화한 청계천의 사진도 비슷한 맥락으로 도움이 된다.발품2

특정 지역을 기술하기 위해 여러차례 발품을 팔고 주변 정보를 수집하기 위해 노력한 흔적이 가득하다. 읽다보면 학군에 대한 정보를 해당 지역의 학부모가 아닌 이상 알기 어려워 보이는 속속들이 사정도 언급하고 있어 신기했다.

더불어 그 지역에서 오랫동안 거주하는 사람이 아닌 이상 알기 어려운 동네의 변화와 최근의 이슈들도 잘 정리하고 있어 앞서 언급한 바와 같이 마치 잘아는 현지인에게 술 한잔 사주고 정보를 얻는 기분이다.

더불어 기본적인 입지 정보 설명에 그치지 않고 한 단계 더 나아가 국토발전 계획이나 거시적인 정책도 함께 설명해준다. 일례로 아래 그림은 마곡산업단지의 주요 기업 위치를 담은 지도로써 이처럼 특정 지역의 핵심을 파악하기 용이하다.핵심

아래 사진은 이명박 정부때 부터 시작된 보금자리 주택 공급 정책 지도이다.보금자리

광주시 행정 구역과 개발지구의 위치이다.광주시

평택의 브레인시티 조감도 이다.광주시

이처럼 특정 지역의 부동산 정책과 변화를 조감도에 이르기까지 한 눈에 보기 편하게 담고 있기에 독자 입장에서는 편리하게 해당 지역을 조망할 수 있다는 점이 커다란 또 하나의 장점이라 할 수 있겠다.

각 장 사이마다 등장하는 컬럼 코너에는 현재 부동산 시장의 정세와 미래, 정부의 부동산 정책에 대한 평가, 좋은 입지를 찾는 법 등 부동산 전반에 걸친 궁금한 핵심 지식을 담고 있다. 각 파트가 해당 지역의 특징을 담는 반면 컬럼 파트에서는 부동산 전체를 보는 인사이트를 담고 있어 유익했다.컬럼1컬럼2

전체 구성은 크게 2권의 책으로 이루어져 있다. 붉은색 표지는 서울편이고, 초록색 표지는 경기편이다. 각 권마다 다루는 지역은 다음과 같다.

  • 서울편 : 강서구, 중랑구, 서초구, 강동구, 영등포구, 성북구, 노원구, 마포구
  • 경기편 : 의정부, 구리, 안양, 광주, 화성, 평택

꼭 부동산과 입지에 대한 정보를 제외하고서라고 수도권은 우리의 생활 터전이기에 나름의 쏠쏠한 재미도 있다. 마치 여행서적을 읽는 기분이랄까? “이 지역에 이런 명소, 랜드마크가 있었구나! 한 번 가봐야겠다”라는 생각을 들게 만들기도 한다.

드라마 펀치의 검찰총장 명대사 “이 길 하나 건너오는데 10년이 넘게 걸렸구나”의 길이 어떤 길이었는지, 내 눈에 그렇게 멋져보이는 반포동의 아크로리버뷰를 압구정에 사는 부유한 친구는 왜 이렇게 무시하듯 발언 했는지 동네의 속속들이 사정까지 곳곳에 재미있는 지역의 역사를 알게되는 재미도 있다.

미래는 대응하는 것이지 예측하는 것이 아니므로 허황된 가격에 대한 전망이나 어느 지역을 추천한다와 같은 책임지지 못할 견해를 다루는 책은 사실 읽을 가치가 없을 것이다.

반면 너무 조심스럽게 마치 법정 진술마냥 그럴 가능성도 이럴 가능성도 있으며 자신이 생각하는 입장을 숨기는 것도 답답하고 얻을 것이 없어 읽을 가치가 없다고 생각한다.

본 도서는 두가지 측면을 중용하여 소개하는 입지마다 저자 개인의 소신을 당당하고 분명하게 밝히고 있음과 동시에 쪽집게 가격 예측 따위의 정보는 다루지 않아 믿음이 갔다.

즉, 그동안 특정 지역들을 연구하고 답사하며 얻은 지식을 체계적으로 잘 정리하고 독자에게 떠 먹여준다. 독자 입장에서는 비교적 쉽게 그 지역을 이해할 수 있음은 물론 스스로의 투자 원칙 및 인사이트와 접목하여 편리하게 해당 지역의 가치와 미래를 판단 할 수 있다. 그 과정에서 어떤 시선으로 특정 지역을 눈여겨 보는지 저자의 인사이트에 대한 힌트를 얻을 수도 있다.

수도권 부동산은 대한민국 최대의 투자처이고 사람들이 가장 거주하고 싶은 곳이자 거주, 직장등의 생활 터전이기에 편하게 한 번 훑는다면 좋은 메타 지식을 얻을 수 있을 것이다. 대충이라도 머리 속에 전체 지도가 그려진다면 약속이 있을 때마다 그 지역을 눈여겨 볼 수 있을테니 인생 전체에 걸쳐 부동산에 들이는 시간을 줄이는 효과가 있을 것이다.

뿐만 아니라 만약 특정 지역에 실 거주 혹은 투자처로의 관심이 생길 때마다 책을 펼쳐 지인이 설명해주는 듯한 저자의 글을 읽는다면 도움이 될 것이라는 생각이 든다. 끝으로 부동산 관련 서적 중에 꼭 추천하고 싶은 도서임을 강조하며 리뷰를 마친다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
시그널 - 일상의 신호가 알려주는 격변의 세계 경제 항해법
피파 맘그렌 지음, 조성숙 옮김 / 한빛비즈 / 2019년 5월
평점 :
장바구니담기


저자는 일상의 신호를 잡아내는 감각이 탁월하다. 일상에서 보내는 신호가 무엇인지 책 내용을 일부 인용해 보겠다.

  • 보그 2009년 6월 호 표지에는 립스틱만 바르고 옷은 걸치지 않은 보디아노바 사진을 표지에 내걸었다. 패션을 선도하는 보그가 어떤 패션도 담고 있지 않았으며 그동안 뼈만 남은 앙상한 모델을 전면에 내세웠던 것과는 달리 세 아이의 엄마가 모델로 등장했다. 이것은 일종의 신호이다.

    예술가를 비롯해 창의적인 일을 하는 사람은 자신도 의식하지 못하는 사이에 시대정신을 느끼고 작품에 반영한다. 경제가 어려워져도 여성 고객은 립스틱만큼은 구매를 포기 하지 않는다. 저렴한 가격에 비해 꽤 오랜 효용적이기 때문이다. 이는 경제 위기의 도래를 암시하며, 젊은 고객층을 잃고 있다는 신호이다.

  • 트레이더들은 하나같이 금융위기는 반드시 온다며 떠들고 다니면서도 매도 주문은 하나도 내지 않았다. 스스로 똑똑하다 믿고 있기에 위기가 오면 자신이 제일 먼저 발을 뺄 수 있다고 생각하기 때문이다. 이 오만의 신호는 저자에게 스스로 집을 팔고 임대주택으로 옮겨야 할 타이밍이라는 확신을 주었다.

  • 대출 알고리즘의 등장으로 여신 담당자가 해고당하고 의사결정에서 배제되었다. 다만, 경제 위기로 인한 책임을 누군가 답해야 한다면 그저 “알고리즘이 그렇게 하도록 시켰어요.”라는 말밖에 할 말이 없는 세상이 되어 버렸다.

  • 세금, 실업률, 저성장으로 프랑스인들 상당수가 런던으로 이주하고 있다. 이는 프랑스식 제과점과 레스토랑이 빠르게 늘어날 것이라는 신호이다.

  • 미래에 대한 희망의 상실은 희소 자원을 얻으려는 분쟁을 더욱 부추기고 있다는 신호가 전 세계적으로 나타나고 있다. 평화 배당 기조에서 분쟁 프리미엄 기조에 적응해야 할 타이밍이다.

AI와 데이터를 공부하는 나의 관점으로 볼 때 저자는 특히 이상치 신호에 대한 감각이 탁월한 것 같다. 얼핏보면 별 것 아닌 현상이지만 유독 빈번하지 않은 일이 벌어졌을 때 즉, 통계적으로 흔히 말하는 이상치가 발생했을 때 그냥 넘어가지 않고 그 동기나 원인이 무엇인지 분석하는 습관이 있는 듯 하다.

때로는 이상치나 결측치 만큼 귀찮은 것이 없다. 모두가 yes라고 하는데 단지 몇 놈만 no라고 하고 있으니 그냥 지나치면 중요한 무언가를 놓치는 기분이고, 안고 가려니 감도 잡히지 않고 많은 시간을 쏟아야 하기에 일종의 계륵이다.

하지만 이 책을 읽고 나서는 이상치야 말로 보석이라는 생각이 들었다. 모델, 수학, 계량적 분석이 해낼 수 없는 비밀이 숨겨진 보물창고 말이다. 신호에 관해 이 책에서 배운 것은 여기까지이다.


여기까지만 보면 일상에서 신호를 잡는 방법을 알려주는 책 같기도 하지만 사실 이 책의 메인 주제는 보통 사람을 위한 일상의 경제학이라 말할 수 있다.

직장과 사회에 뛰어드는 대다수의 성인들이 금리의 기본 조차 이해 못한 채 학교를 졸업하는 작금의 문제를 강조하며 피상적인 수학과 모델, 알고리즘에서 벗어나 스스로의 신호 체계로 경제를 이해할 수 있고 그러한 감각을 기민하게 유지할 수 있도록 도와주는 것을 목적으로 하는 책이라 할 수 있다.

AI와 데이터가 대세가 된 현실 속에 어쩌면 다소 시대 착오적인 감각을 강조하고 알고리즘과 수학을 신랄하게 비판하는 것은 어쩌면 모순같아 보인다.

하지만 맹목적인 알고리즘의 비판보다는 대다수의 국민 스스로 나름의 경제적 감각을 유지하고 치열한 자신만의 경제 감각을 익히는 것이 중요함을 강조한다. 즉, 경제학자와 알고리즘 따위가 현 자본주의의 약점을 커버할 수 없다고 주장하고 있다.

책에서 말하고자 하는 저자의 주장 대부분은 3장에 등장하는 여왕에게 보내는 편지, 그리고 11장 책의 마지막 즈음 등장하는 여왕에게 보내는 두번째 편지에 드러난다.

2008년 11월 9일 런던정경대학 개관식에서 엘리자베스 2세 여왕은 경제학 교수들에게 물었다.

“왜 아무도 위기를 예측하지 못했습니까?”

런던정경대학 학자들과 영국학사원 회원들은 “파이낸셜 타임스”에 편지 형태로 답을 하는데 핵심 답변은 다음과 같다.

“상상의 실패가 중요한 원인이었습니다.”

저자 또한 이러한 기조에 동의하면서 상상을 통한 다양성을 강조하고 있다. 11장 고르디우스 매듭자르기의 비유에서와 같이 풀려고 노력할수록 더욱 엉키는 매듭을 푸는 비책은 매듭을 자르는 것임을 주장한다.

작금의 경제 문제는 알고리즘, 대 경제학자 따위가 풀 수 있는 것이 아닌 완전히 새로운 방법이 필요하다는 말이다. 이를 위한 저자의 세부적인 해결 방안은 다양성이다. 일단 전 세계에 인구가 많아야 하며 그들 각각 수학적인 획일적인 방법이 아닌 스스로의 직감을 통한 나름의 경제학을 익히고 그 창의성, 상상 속에서 발전적인 경제 모델을 이끌어야 한다는 것이다.


이러한 결론에 이르기까지 눈여겨 볼만한 흥미로운 사실이나 저자의 직관을 만날 수 있다. 무려 500페이지가 넘는 책이기에 다소 주제나 통일성에서 벗어날지는 모르지만 요소요소 다양한 재미거리들이 숨어 있다는 점도 이 책을 읽는 묘미이다.

  • 최고의 직업
    • 메이저리그 야구팀 지명타자, 기상학자, 경제학자
    • 이유 : 79% 의 실패율을 기록하면서도 일 잘한다는 말을 듣기 때문
    • 경제 예측의 유일한 기능은 점성술을 대단한 것처럼 보이게 만드는 것
  • 인플레이션은 곧 세금 인상을 의미한다.

  • 인플레이션과 달리 디플레이션의 해답은 이론적으로나 경험적으로나 아직까지 존재하지 않는다.

  • 국가부채의 결말이 무엇이었는지는 역사에서 배울 수 있다. 바로 스코틀랜드와 잉글랜드의 병합에서 말이다.

  • 사회계약은 시민과 국가 사이의 거래로써 국가와 시민의 권리 및 책임을 제시한다. 시민은 법을 준수하고 세금을 내며, 국가는 공동 서비스를 제공한다. 그러나 국가가 파산한다면 종착역은 사회계약의 붕괴일 뿐이다. 현 세계 경제 위기는 사회계약의 붕괴를 야기하고 있으며 이러한 신호가 세계 곳곳에서 나타나고 있다는 것이 문제이다.

  • 그 외에도 조지 부시 대통령 행정부에서 경제정책 특별보좌관을 지내며 쌓여온 남다른 내공 때문일까? 미국, 중국, 러시아와의 지정학적 대립 구도 분석이 탁월하다.

지금껏 포스트 코로나 혹은 경제 위기에 대한 책을 여러 차례 읽어왔는데 이구동성으로 말하는 저자들의 공통된 최악의 종착역은 국가 부채, 체제 붕괴 등으로 귀결 된다. 이 책에서도 미래 경제의 전망에 대해 비슷한 관점을 제시하고 있는데, 조금 더 구체적으로 설명하고 있다는 점과 나름의 해결책을 제시하고 있다는 점이 흥미 요소이다.

이 책은 부분적으로는 쉽지만 전체적으로는 결코 쉬운 책이 아님을 알리고 싶다. 저자가 궁극적으로 말하고자 하는 결론을 파악하기 위해 세번 정도 반복하여 읽었다. 전체적으로 하나의 목적을 향해 통일성을 엄격히 준수하는 글은 아닌듯 하고, 저자의 인사이트와 경험이 각 장마다 부분적으로 녹아있는 책이기에 각 장마다 펼쳐지는 저자의 향연에 집중하면 족할 듯 하다.

또 한가지 특징으로 이 책은 저자 자신의 일생을 녹여 배운 인사이트를 담아 자비로 발간한 서적임을 강조하고 싶다. 그렇기에 이 책에서 느낄 수 있는 진실함이나 투명성은 어느 책보다도 뛰어나다 할 수 있다.

세계 경제를 색다른 신호의 관점에서 바라보고 해석하는 지혜, 경제를 바라보는 스스로의 인사이트, 수십년에 걸친 경제 보좌관의 경험과 내공을 얻고 싶다면 이 책과 함께 색다른 경제 여행을 떠나보시길 권유드린다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
심층 강화학습 인 액션 - 기본 개념부터 파이썬 기반의 최신 알고리즘 구현까지 제이펍의 인공지능 시리즈 (I♥A.I.) 29
알렉스 짜이. 브랜던 브라운 지음, 류광 옮김 / 제이펍 / 2020년 11월
평점 :
장바구니담기


강화 학습(Reinforcement Learning)은 환경 안에서 에이전트가 현재의 상태를 인식하여 선택 가능한 행동들 중 보상을 최대화하는 행동을 선택하는 방법이다. 알파고 그 중에서도 특히 알파고 제로의 경우가 좋은 예제라 할 수 있다.

강화학습은 배울 것이 너무 많고 하나하나 난이도 끝판왕급의 지식들로 이루어져 있기에 배우기 어렵다. 수학과 기본 지식을 어느정도 통달하지 않고서는 원서나 논문 중심으로 지식을 학습한다는 것은 불가능에 가깝다.

결국 한글로 쓰여진 책들의 도움이 간절한데 안타깝게도 한글로 강화학습을 다루는 책은 매우 드물다. 강화학습을 익혀 나만의 알파고를 구현하고자 시중의 서적을 모두 구매하여 보유하고 있었는데 일부 훌륭한 책도 있으나 조금씩 아쉬운 부분도 있었다. 그런데 최근에 들어 반갑게 본 도서를 만날 수 있었다.

이 책의 큰 장점 중 하나로 국내 서적 중 유일하게 강화학습의 최신 연구 성과를 다룬다는 점을 들 수 있다. 6장에서는 CartPole에 유전 알고리즘을 적용하는 코드를 구현하고, 8장은 ICM(Intrinsic Curiosity Module, 내재적 호기심 모듈)을 다룬다. 심지어 10장에서는 주의 및 관계 모형을 적용하여 XAI를 시도하기까지 한다.

강화학습의 기본에 충실하기도 급급한 처지이지만 개인적으로 한단계 뛰어넘는 최신 성과들을 접해보기라도 하고 싶었는데 이 책이 가려운 구석을 긁어주어 얼마나 시원했는지 모른다. 아직 모든 것을 정확히 이해한다고 자신할 수는 없지만 유전 알고리즘을 구현하는데 크게 어렵지 않았기에 절반의 성과는 거둔셈이라 스스로 위안을 삼고 있다. 보다 새로운 기법에의 접근을 가능하게 해준 이 책에 매우 고마움을 느낀다.

수학을 열심히 공부했고 좋아하지만 고수라고 감히 말할 수는 없는 입장에서 그나마 최신기술의 맛을 볼 수 있었던 이유는 이 책 덕분인데 책에 어떤 특징이 있어 가능했는지 설명하는 것이 이 책을 읽을 독자분들께 도움이 될 것이라 생각하여 간단히 정리해 본다.

우선 이 책은 제목에서 알 수 있듯 유명한 “in Action” 시리즈 중 하나이다. 인 액션 시리즈는 IT, AI 영역을 가리지 않고 대부분 양서들로써 일단 구현을 할 수 있는 역량을 키워주는데 매우 적합한 책이다.

이런 특징때문에 독자 각자의 처지에 따라 책의 호불호가 갈릴 수는 있겠지만 기본적으로 이 책을 읽어본 독자라면 양서에 가깝다는 판단에는 대부분 동의할 것으로 생각한다.

만약 새로운 것을 창조해야 하는 연구자라면 이 책은 조금 부족할 것이다. 연구자가 아니라 잘은 모르겠지만 이 책에는 수식이 많이 등장하지만 여타 전공 서적에 비하면 수식이 적은 편이다.

대신 연구보다는 구현을 목적으로 하는 엔지니어라면, 또 빠른 시간내에 구현을 필요로 한다면 이 책은 가뭄의 단비보다 소중한 책이다. 지금 내 처지가 그렇다. 언제까지 강화학습의 기본 지식만 학습하거나 처음부터 수식을 들여다보기에는 너무 많은 시간이 필요하다. 개인적인 목표는 스스로 알파고를 구현하는데 있기에 필요 이상의 기초 지식을 원하지는 않는다.

이 책은 인 액션 시리즈 답게 하나씩 따라하다보면 구현을 통해 내부 메커니즘을 이해할 수 있는 구조로 되어 있어 구현 실력을 끌어올리는데 큰 도움이 되었다.

그렇다고 수학없이 코드로만 구성된 책도 아니다. 코드는 수학과 메커니즘을 이해하기 위한 의사소통 수단으로 쓰였을 뿐 그 자체가 목적이 되지는 않는다. 책에서도 언급하기를 수학 없이 강화학습을 익히는 것은 마치 부실공사에 가까운 기초가 허약한 상태에서 예제 코드를 흉내내는 이상의 의미를 부여하기 어렵다는 식으로 무의미함을 밝힌다. 개인적으로도 수학을 배제한 책이 얼마나 훌륭할까라는 생각이 들어 언젠가 부터는 수식이 등장하지 않으면 즐겨보지 않게 되었다.

그렇다면 이 책은 수식이 존재하는데 어떻게 수식을 이해시키고 구현 능력을 향상시켜 주는 것일까? 저자의 전달력도 한 몫 했겠지만 무엇보다도 큰 도움이 되었던 몇가지 독특한 방식이 있었기에 구체적으로 소개해보려 한다.


  • 난이도와 타임라인의 방향 일치
    이게 무슨 말인가 하면 강화학습의 최초 기원으로 거슬러 올라가 최신 기술에 이르기 까지 시간 순으로 설명하는 방식을 취하고 있다는 의미이다. 먼저 간단한 개념을 소개하고, 문제를 마주치며, 해결책을 고민하고, 해법을 고안하며, 시험하고, 개선하다가 형식화하고, 수학 공식 등으로 정리하는 순서를 지킨다.

    대부분의 기술 서적은 거꾸로 현재의 기술을 정의, 소개하고 필요한 경우에만 과거의 히스토리를 잠깐 언급하기에 기억력외에 우리 두뇌 능력을 활용하기 어렵게 구성되어 있는데, 저자는 통찰력 있게 그 부분의 맹점을 해소하고자 노력하였다. 그 흐름 속에서 자연스럽게 구체화된 예시를 종종 만날 수 있기에 이해하기 너무 편하다는 느낌을 받을 수 있었다.


  • 수식과 의사코드
    먼저 예시를 통해 살펴보자. 아래 그림은 Q 학습 알고리즘의 갱신 규칙에 대한 수식인데 처음 이 수식을 만났을때의 황당함을 떠올리면 이런 친절한 책이 또 있나 싶을 정도다.Q학습

    먼저 해당 수식을 소개하기 전에 충분히 개념과 줄글로 설명을 한 후, 수식이 등장하면 위 사진이 보여주듯 각 애매모호한 기호를 하나씩 설명해준다. 그럼에도 이해 못할 경우를 대비하여 의사코드로 구현해보고, 이에 대한 설명으로 이해의 쐐기를 박는다.

    그래도 부족할 것 같은 부분에는 Python 코드로 설명을 한다. 아래 그림은 기대 보상에 근거하여 최선의 동작을 선택하는 방법을 수식, 의사코드, Python 코드로 표현한 예제이다.동작

    이러한 장점 때문에 구현에는 자신이 있는데 수식에 자신이 없는 사람이라면 이 책이 제 격이라 할 수 있다.


  • 끈 그림(String Diagram)
    이 역시 예시로 먼저 설명하는 것이 빠를 듯 하다.끈그림

    기존 강화학습 서적들을 보면 강화학습의 시작에는 늘 이와 같은 그림이 등장한다. 그런데 자세히 보면 약간 다르다는 것을 알 수 있다. 선(끈)에는 화살표가 있고 주로 동사에 해당하는 부분이 기술되어 있고, 네모 박스 안에는 명사에 해당하는 부분이 기술되어 있다.

    상태와 동작을 명확히 나눠줌으로써 명확한 이해를 돕는다. 강화학습의 기본 메커니즘이 복잡해질수록 비슷한 용어가 무수히 쏟아진다. 상태 공간, 동작 공간, 상태 가치, 동작 가치, 정책 함수, Q 함수, Q 학습, 심층 Q 신경망 등 이 용어들을 명확하게 이해하지 못하면 강화학습 메커니즘을 이해하는 것이 불가능한데 끈 그림의 적절한 역할 분리가 내게는 큰 도움이 되었다. 그동안 애매모호했던 개념들이 확실해지면서 구현하는데 애로사항이 크게 줄어들었다.


  • OpenAI의 Gym
    최근 GPT-3로 화제를 모았던 OpenAI에서는 강화학습을 위한 기막힌 환경을 제공하는데 이를 Gym이라 한다. 링크에 접속해보면 지원하는 환경들이 나오는데 기본적인 알고리즘부터, 아타리, 로봇제어 문제와 같은 다양한 유형의 환경들이 제공된다.

    강화학습을 연구하는 입장에서 이를 적용할 게임을 만들라고 한다면 그 자체로 비효율적인 또 하나의 과제가 주어지는 셈인데 이런 환경이 제공됨으로써 부수적인 것들은 걷어치우고 강화학습 구현에만 집중 할 수 있다.

    본 도서는 아래 사진과 같이 다양한 형태로 Gym을 효율적으로 사용한다. 첫번째 그림은 ICM을 적용한 슈퍼마리오 예제이고, 두번째 그림은 분포 DQN을 적용한 아타리 예제이다.슈퍼마리오
    아타리


위와 같이 본 도서에는 학습 능률을 높혀주는 다양한 장치들이 소개되어 있다. 더불어 관련 논문을 집대성 한 후 구현 우선 중심으로 취사선택하여 완급을 조절하고 있기에 참 잘 만들어진 책이라는 생각을 했다.

개인적으로 바둑을 즐겨했고 그 안에 숨은 미묘한 감이 정량적으로 계산될 수 있다는 희망을 갖고 있었기에 이를 확인하고자 나만의 알파고를 만들기 위해 꾸준히 노력해 왔다. 여담으로 알파고를 만드는 일에 관심이 있다면 아래 리뷰들을 참고하면 된다. 이 책들 또한 알파고 뿐만 아니라 강화학습을 실전적으로 배우는 데 많은 도움이 되는 양서들이다.

이 책 덕분에 나만의 알파고 구현에 한 걸음 더 가까이 다가갈 수 있게 되었다.

더불어 번역의 질도 우수하다. 역자가 번역의 매끄러움을 위해 곳곳에 노력한 티가 보인다. 다만 일반적으로 흔히 쓰이지 않는 단어로 번역된 경우도 보인다.

예를 들면 learning rate는 보통 학습율로 번역이 되곤 하는데 본 도서에는 학습 속도라는 명칭으로 번역을 했다. 이런 부분들 때문에 때로는 생소한 느낌이 들긴 하지만 어차피 원어가 아닌 이상 보다 명확한 해석이 가능하다면 잠시 다른 시각으로 바라봄으로써 되려 전달력이 향상될 수 있는 장점도 있다.

다중 슬롯 머신을 굳이 여러 팔 강도라는 표현으로 번역한 것도 재미있는데 이런 큰 차이가 있는 부분은 역주로 따로 번역의 주를 달아놓았기에 전체적으로 이해하는데 무리는 없었다. 일반적인 서술 문구는 번역의 품질이 훌륭했다고 본다.

정리하자면 본 도서는 논문의 이해 혹은 구현을 목표로 하는 이에게 가장 적합한 책이라는 생각이 든다. 물론 초보 연구자들 또한 연구에 앞서 구현을 해보는 것이 깊은 이해에 도움이 될 것이다. 마찬가지로 고급의 문을 열고 더 높은 곳으로 나아가려는 이들에게도 이 책이 최신 기술의 입문서 역할을 충분히 수행할 수 있을 것이라 생각한다. 특히, 강화학습에 어려움을 겪는 이에게 강력히 추천하고 싶다.




댓글(0) 먼댓글(0) 좋아요(2)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬으로 배우는 게임 개발 실전편 - 장애물 피하기, 닷잇 액션, 맵 에티터, 탄막 슈팅, 3D 카 레이싱, 게임 런처 등을 만들며 배운다! 파이썬으로 배우는 게임 개발
히로세 츠요시 지음, 김연수 옮김 / 제이펍 / 2020년 11월
평점 :
절판


본 도서는 파이썬을 활용하여 게임을 개발하는 방법을 다루는 도서로, 입문편에 이어 2번째 도서인 실전편이다. 입문편과 유사한 개요 및 장점은 생략했으니 아래 입문편 리뷰를 참고하시기 바란다.

입문편과의 차이점은 다음과 같다.

  • Python을 어느정도 알고 있어야 한다.
  • 입문편을 익혔다면 1, 3 ~ 5장은 건너 뛰어도 된다.
  • 고난이도(?) 수학이 등장하기 시작한다. (특히 삼각함수)
  • 3차원이 세계에 발을 내딛는다.(유사 3D를 구현)
  • 작지만 효과 넘치는 디테일한 Tip들을 얻을 수 있다.
  • 상용 게임에 가까운 완성도를 추구한다.(런쳐 개발 등)

입문편 리뷰에서 다 언급하지 못한 장점도 몇가지 추가할까 한다.

  • Python을 선택한 것은 신의 한수다. 실전과 취미의 적절한 경계선이라 생각한다. 이 책 본문에도 등장하는 슈팅게임 만들기와 비교해 보면, 대학시절 슈팅게임을 만들어보면서 미사일이 느려서 인라인 어셈과 C++을 사용했던 기억을 떠올리면 난이도도, 코드량도 10배는 향상된 느낌이다.

  • 구성도 내용만큼이나 뛰어나다.

    • 덕후스럽지만 2분의 여성 교수님과 조교님이 진행을 잘 이끄신다.
    • 초반 책의 활용법이 맵핵같이 책을 체계적으로 이해할 수 있도록 도와준다.
    • 특히, 각 장마다 등장하는 컬럼 파트를 빼놓을 수 없는데 게임 개발에 큰 도움이 되는 실전 꿀팁들이 등장한다. 예를 들면 Pycharm과 같은 보다 뛰어난 IDE 활용법, 조이스틱 및 게임패드와의 연동법, 게임 개발 비하인드 스토리, 컴퓨터 게임 인공지능 등이 담겨있다.Pycharm_24p

책은 크게 2개의 파트로 나뉘는데, 타임라인 순으로 배웠던 흔적들을 기록해 보았다.

  • 프롤로그에서 PyGame까지(1 ~ 5장)
    • 입문편과 마찬가지로 초반부에는 Tkinter 모듈을 활용하여 거의 모든 게임에서 활용하는 기본 스킬을 학습한다. 정리해보면 아래와 같다.
      • after() 함수를 이용한 실시간 처리 구현
      • bind() 함수로 이벤트 처리
      • 배경 스크롤 : 움직이며 배경이 변하기 시작한다.
      • 애니메이션 효과 : 캐릭터 움직이기
      • 2차원 List 활용법 : 맵 데이터, 배경 처리
      • 인덱스와 타이머를 활용한 진행흐름 관리

      더불어 실전편답게 아래와 같은 몇가지 기본 기능이 추가되어 소개된다.

      • 바닥(들어갈 수 있는 장소)과 벽(들어갈 수 없는 장소)의 판정 방법
      • 히트체크 : 물체가 접촉했는지 판정하는 방법 (탄환에 맞았는지, 아이템을 주웠는지 등)히트체크_33p
      • 삼각함수 활용법 : 다양한 도형이나 선을 그리는데 활용
    • 기초지식을 배운 후 본격적으로 닷-잇(Dot-Eat) 게임을 만든다. 닷-잇이란 팩맨과 같은 몬스터를 피하며 닷을 먹는 게임이다. 여기서는 “아슬아슬 펭귄 미로”라는 게임을 만든다.닷잇_64p

    앞에서 배운 기본 기술을 활용한다.

    • 미로 맵 데이터
    • 실시간 처리
    • 캐릭터 애니메이션 처리 등의 기술

    추가로 위에서 배우진 않았지만 입문편에서 다룬 스킬도 활용한다.

    • 점수 계산법
    • 적 등장 및 처리

    메인 요소는 아니지만 아래와 같은 완성도를 높히기 위한 세세한 Tip들도 언급되어 있는데 일반 개발 서적에서는 보기 힘든 저자의 오랜 경험에서 묻어나온 일종의 편법(?)들이 흥미로웠다. 짧은 코드로도 다양한 효과를 대신할 수 있기 때문이다.

    • root 연산을 피해 속도를 높이거나 수학적 테크닉을 활용하는 방법
    • 캐릭터를 부드럽게 움직이는 법
    • 타이틀이나 엔딩화면 제작 등

    초반에 다루지 않았거나 입문편에서도 소개되지 않은 새로운 기법들은 다음과 같다.

    • 남은 수명 적용하기 : 기체 수, 체력, 시간 기준
    • 다양한 스테이지 만들기
    • 맵 에디터의 계층화

    • 본격적으로 PyGame을 소개한다. 앞서 배운 Tkinter와 달리 PyGame을 활용하면 몇가지 밑바닥 구현을 안해도 된다. 기본적으로 고속 처리가 가능해지고, 물체 간 겹치는 부분에 대한 처리가 필요없으며, 기본적으로 제공하는 API들이 간결하고 사용하기 편하다. 여기에선 Tkinter 기반에서 벗어나 이미지를 그리거나 상태를 변경시키거나 키-인을 다뤄보며 새롭게 익혀야 할 기능들을 살펴본다.

  • 실전시작! 슈팅게임과 카레이싱
    지금까지와는 차원이 다른 완성도 높은 게임들을 만들어본다. 슈팅 게임의 경우 삼각함수의 활용, 카레이싱 게임의 경우 유사 3D 구현이 대표적으로 배울 수 있는 핵심 기술이다.

    • 슈팅 게임
      미사일을 발사해 적 비행기를 격추시키는 게임을 만들어 본다.
      슈팅_197p

      새롭게 배울 수 있는 기법은 다음과 같다.

      • PyGame으로 고속 스크롤 구현
      • 플레이어 기체 움직이기
      • 탄환 처리 : 여러발 발사하기, 탄막 펼치기(2장에서 배웠던 삼각함수가 여기서 쓰인다.)
      • 적 기체 처리 : 격추 기능, 히트체크, 폭발 연출, 적 종류 늘리기, 보스 만들기
      • 사운드 등 멀티미디어 요소 고품질화
    • 카 레이싱 게임
      유사 3D 화면을 활용하여 자동차 경주하는 게임을 만든다.카레이싱_338p

      새롭게 배울 수 있는 기술들은 아래와 같다.

      • 3D CG의 개념과 유사 3D : 원근법과 도로 그리기, 오르막과 내리막(역시 2장의 삼각함수가 쓰인다.)
      • 도로를 보다 실감나게 : 커브처리, 차선, 주변건물, 다양한 차 뒷모습 표현 등
      • 컴퓨터 경쟁 차량 만들기 및 히트 체크
      • 흐름처리(타이머와 인덱스), 랩 타임(1바퀴 도는데 걸린 시간) 처리, 차종 선택 기능 등
    • Game Center 208X
      앞서 만든 3개의 게임을 골라 실행할 수 있는 기능인 런처(Launcher)를 만든다. 지금까지 만든 것들을 대통합하면서 상용 게임과 맞먹는 완성도를 추구하기 위해 고군분투하는 저자의 노력에 감탄했다.런쳐_498p


입문편과 실전편을 모두 읽고 구현하는데 1달이 넘는 시간이 걸렸다. 직장을 다니기에 퇴근 후 저녁 시간만을 활용했다. Python을 데이터 분석 목적으로 몇년 간 자주 활용했으며, 15년 가까이 다른 프로그래밍 언어를 만들어왔고, 대학때는 작은 게임을 만들어 본 경험이 있는 상태임을 감안할 때 결코 적지 않은 시간이 소요된 셈이다.

만약 이 책의 뛰어난 구성상의 도움이 없었다면, Python이 아닌 다른 언어였다면(C++이나 어셈 같은) 예제 하나를 만드는데만 1달의 시간이 걸렸을 것 같다. 그만큼 이 책은 방대한 내용을 아주 쉽고 생산성 높게 만드는 방법을 전수해 준다.

게임 관련 서적을 많이 통달하진 못했지만 이렇게 읽기 편하고 만들기 쉽고 짧은 시간내에 거의 모든 것을 만들 수 있게 해주는 책이 또 있을까?

개인적으로 정말 재미있는 단계는 지금, 즉, 책을 다 익히고 난 시점 이후이다. 기본기를 익혔으니 게임을 만들고 즐기며 떠올랐던 스스로의 아이디어를 녹이는 일을 시작할 수 있게 되었으니 말이다.

입문편 리뷰에서 소개했듯이 게임 업계의 꿈을 가지고 있거나, 게임 개발을 취미로 익히고 싶거나, Python으로 알고리즘 구현에 익숙해지고 싶은 분들에게 여러번 추천하고 싶다.



댓글(0) 먼댓글(0) 좋아요(2)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬으로 배우는 게임 개발 입문편 - 퀴즈, 주사위, 제비 뽑기, 미로, 진단 애플리케이션, 블록 낙하 퍼즐, RPG 등을 만들며 배운다! 파이썬으로 배우는 게임 개발
히로세 츠요시 지음, 김연수 옮김 / 제이펍 / 2020년 10월
평점 :
장바구니담기


본 도서는 파이썬을 활용하여 게임을 개발하는 방법을 다룬다. 내용이 방대하기에 굵직한 장점을 먼저 소개하고 타임라인 순으로 읽으며 느꼈던 점들을 소개하는 방식으로 리뷰하려 한다.

  • 살을 버리고 뼈를 취하는 구성
    게임 서적을 읽다 지치는 가장 큰 이유는 방대한 소스코드의 무덤 속에서 길을 잃고 숲을 헤매는 구성 때문일 것이다. 이 책은 핵심 완급조절을 분명히 하는 장점이 있다.

    언리얼이나 유니티 라이브러리는 구현에 상당한 편리함을 가져다 주지만 가려진 밑바닥을 보기 힘들기에 배우고 나면 뭔가 붕 뜬 느낌이 있다. 잘 모르고 가져다 쓰기만 한 라이브러리에 때문에 자신감도 떨어지고 흥미도 떨어진다.

    Tkinter 모듈을 활용하여 밑바닥도 건드려 보고, PyGame 모듈로 군더더기를 날려버리고 핵심에 집중해 보는 등의 완급조절이 일품이었다. 자세한 내용은 아래 세부 설명에서 소개하겠다.

  • 저자의 경력과 실력
    저자는 남코, 닌텐도, 코나미에서 25년 간 게임을 개발, 기획한 실력자이다. 교육기관에서 강의도 담당하고 있어 전달력도 상당하다.

  • 게임을 만들고 싶게 하는 구성
    30 ~ 40 대 아재들은 일본이 주도했던 PC 게임의 추억을 잊지 못할 것이다. PC, 프로그래밍, 게임에 관심이 많았던 아재들이라면 한 번쯤 스스로 게임을 만들어 보겠다는 야망(?)도 있었을 것이다. 이 책은 밑바닥까지 게임을 구현해보기에 자신감을 키워주며 스스로 게임을 만들고 싶다는 욕구를 한 껏 불러 일으킨다.

  • 디테일한 구성과 가독성
    내용 자체로도 훌륭한 책인데 독자들의 가독성을 높혀주는 구성상의 완성도가 일품이라는 장점도 무시할 수 없다. 약간 덕후스럽지만 애니메이션의 두 여자 캐릭터가 학습을 도와주며, 부록편엔 게임 동아리도 등장하여 게임하듯 배울 수 있다.

    각 장마다 등장하는 컬럼에 대한 재미도 쏠쏠하다. 게임 업계에 대한 정보도 가득하고, 저자가 현업에서 부딪혔던 유용한 Tip들도 종종 소개되고 있다.컬럼_59p

책이 어떻게 구성되어있는지 보다 세부적으로 설명하기 위해 실습 예제를 따라해보며 시간의 흐름대로 느꼈던 점들을 아래와 같이 정리해 보았다. 책을 크게 3개의 파트로 나누어 설명해 보겠다.


  • 게임 개발 개요와 파이썬의 기본(1 ~ 4장)
    • 먼저 게임 업계는 어떻게 수익을 얻는지, 크리에이터에는 어떤 직군이 있는지, 게임의 종류와 어떻게 하면 게임 프로그래머로서의 커리어를 쌓을 수 있는지 설명한다. 게임 개발 능력을 키우기 위한 좋은 자극제가 되며 저자의 경험을 녹였기에 이해하기 쉬웠다.

    • 파이썬, 통합 개발 환경(IDLE)을 설치하고 가장 중요한 변수, 리스트, 반복문, 조건문, 함수, import에 대해 간단히 실습해본다. 고작 이 정도 학습하고 뒤에 게임들을 개발할 수 있을까 의구심이 들었는데 오히려 난잡하지 않게 게임 개발에 필요한 사항만 잘 추렸다는 생각을 했다. 게임 개발에 장점이 있다면 시각적 피드백일텐데 Tkinter, PyGame 모듈로 눈으로 보면서 구현하기에 기본에만 충실하면 나머지는 경험과 시간의 몫이 될 수도 있겠다는 생각이 들었다.


  • CUI / GUI / Tkinter(5 ~ 9장)
    • 먼저 CUI(문자열 기반 인터페이스) 게임을 만들어 본다. 복잡한 그래픽 요소를 일단 제쳐두고 게임 기획의 본질을 먼저 익히면서 Python에 친숙해지게 만들어준다. 주사위를 던져 나오는 랜덤한 숫자로 컴퓨터와 대결하여 누가 먼저 결승점에 도착하는지 내기하는 예제도 있는데 게임을 만들 때 필요한 기본 감각을 가장 잘 설명하는 예제라 할 수 있다. 부수적인 것보다는 본질에 대한 감을 익히는데 중요한 과정이라 생각한다.

    • 이어 Tkinter를 활용한 GUI(그래픽 기반 인터페이스) 개발에 돌입한다. Python에서 GUI 기반 프로그래밍에 가장 흔히 사용하는 Tkinter 모듈을 주로 사용한다. PyGame은 게임에 특화된 라이브러리인지라 처음부터 PyGame을 활용하면 라이브러리를 가져다 쓰기만 할 뿐 밑바닥을 구현하기 어렵기에 Tkinter를 활용하여 기본기를 다지는 구성이 기본에 충실하는데 좋은 구성이라는 생각했다.

    • Tkinter의 기본 활용법을 익힌다. 제비뽑기 프로그램을 만들어보며 라벨, 버튼, 캔버스, 텍스트, 멀티 텍스트 필드, 체크박스, 메시지 박스 등을 그리는 방법을 배운다. Visual Studio에서는 주로 버튼을 끌어와 윈도우에 배치하는데 이와 달리 Java 진영과 유사하게 SDK 방식의 직접 코딩으로 컴포넌트를 배치하는 차이점이 있다. 물론 결과는 동일하다. 모든 실습을 마치면 아래와 같은 진단 게임을 완성할 수 있다.진단게임_136p

    • 여기까지의 실습으로는 사실 GUI를 활용한 일반 프로그래밍이지 게임 프로그래밍이라고 하긴 어렵다. 8장에서 게임다운 게임을 처음으로 만들게 되는데 기술적으로 아래와 같은 기법을 실습한다.

      • after() 함수를 이용한 실시간 처리 구현
      • bind() 함수로 이벤트 처리
      • 2차원 리스트를 활용한 미로 배경 정의 실습을 마치면 아래와 같은 미로 게임을 완성할 수 있다.미로게임_168p

  • PyGame / RPG 만들기 / OOP / 부록
    • 밑바닥 구현은 학습에는 도움되지만 노가다가 심하기에 보다 본격적인 게임 구현의 요소에 집중하고자 PyGame을 활용하기 시작한다.

    • 마우스 이벤트 처리, 위치 데이터와 같은 상태 정보 관리, 낙하 알고리즘 구현, 점수 산출을 위한 평가 알고리즘을 구현해보며 블록 낙하 게임을 완성한다.

    • 우습게 보일지 몰라도 처음으로 게임다운 게임이 등장했다. 실제로 즐겨보면 꽤 재밌기까지 하다. 대학 때 동아리에서 슈팅 게임을 만들어 본 적이 있는데 그때 머리 싸매고 간신히 구현했던 요소들이 하나씩 다 등장하고 있다. 핵심 알고리즘에서 평가에 이르기 까지 게임 구현에 가장 중요한 요소들을 구현하고 있어 이 예제가 가장 뼈대 예제라는 생각을 했다. 요즘엔 AI에 푹빠져 강화학습을 학습 중인데 상태, 에이전트, 환경 등의 정보로 활용할만한 기능이 모두 구현되어 있기에 더욱 기본이 탄탄한 예제라는 생각을 할 수 있었다.블록낙하_213p

    • Tkinter에서 PyGame 기반의 구현에 익숙해지도록 PyGame을 살펴본다. Tkinter 실습때와 마찬가지로 이미지도 그려보고 키, 마우스 이벤트 처리도 실습해본다. 더불어 Tkinter에서 취약했던 사운드 출력 같은 멀티미디어 요소를 처리하는 기능도 다룬다.

    • 드디어 이 책의 하이라이트이자 게임의 꽃이라 할 수 있는 RPG를 구현한다. 개인적으로 기본적인 게임은 학창시절에 구현해 본적이 있었기에 그 단계를 뛰어넘는 첫 도전이었으며 가장 흥미로운 장이었다. 블록 낙하게임 기본 기능에서 추가된 RPG 고유의 기능은 아래와 같다.
      • 미로를 던전으로 바꾸기
      • 배경 스크롤 : 움직이며 배경이 변하기 시작한다.
      • 이동신/전투신 제작 및 상호 전환
      • 턴방식 프로그래밍RPG
        11 ~ 12장은 그간 배운 지식을 바탕으로 최대한 스스로 구현해보려고 노력하면 더 좋을 것이다. 그 후 본문의 소스코드와 비교하는 과정을 거친다면 더욱 빠르고 확실한 이해가 가능해진다. 개인적으로 이 방식을 통해 스스로 복잡하게 생각했던 기능들을 게임 모듈에서 일종의 편법(?)으로 얼마나 간단히 처리하는지 아이디어를 얻을 수 있어 놀랐고, 더불어 Python으로 알고리즘을 구현하는데 친숙해지는 소득을 얻을 수 있었다.
    • 마무리로 OOP의 개념을 다룬다. GameCharacter라는 클래스를 상속받은 검사, 닌자 등의 예제를 예로 들며 객체지향의 개념을 다루고 있다. 부록에서는 3가지 업그레이드 예제가 더 등장한다. 복습용으로 좋은 예제들이다.

RPG 게임까지 구현하고 나면 상당한 자신감이 생긴다. 구현하는 과정에서 스스로의 아이디어가 떠오르기도 하고 이를 녹여보는 과정에서 자연스럽게 구현 능력이 향상된다. 아들과 재미있게 게임해보고 싶어 읽은 책인데 소기의 목적을 달성하고 있어 즐겁다.

자신감이 충만해져서일까? 보다 풍부한 예제가 소개되었으면 하는 아쉬움이 있었는데 다행히도 이 책은 시리즈로 구성되어 있다. 이 책은 입문편으로 보다 심화 과정인 실전편의 책이 한 권 더 있어 안도감이 들었다. 리뷰를 쓰는 시점에 실전편의 책을 익히고 있는 중이기에 조만간 실전편 리뷰도 올릴 생각이다.

게임 업계의 꿈을 가지고 있는 이라면 반드시 읽어야 할 필독서이다. 이 책을 통해 게임 전반의 핵심에 해당하는 뼈대 감각을 익히고 업계에 발을 딛는 것과 숲을 보지 못하는 안목으로 이정표 없이 구현에만 급급한 것은 분명 하늘과 땅 차이다.

더불어 게임을 취미로 익히고 싶거나 Python으로 알고리즘 구현에 익숙해지고 싶은 사람에게도 강력히 추천하고 싶다. 스스로의 창의성을 구현하는 방법을 배운다는 것은 배움 이상으로 인생에 쏠쏠한 행복을 가져다 준다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo