CGSF를 활용한 게임 서버 제작 : C++로 온라인 게임 서버 구축하기


박주항 지음




책소개


이 책은 저자의 서버라이브러리를 통해 어떻게 쉽고 간단하게 게임 서버를 제작 하는지에 대한 설명을 담고 있습니다. 또한 빛나는 아이디어로 무장한, 열정은 있으나 시간에 쫒기는 많은 스타트업 모바일 게임 프로그래머나 캐쥬얼 게임 개발자들에게 하나의 솔루션을 제시해 줍니다. 더 나가면 오픈소스 라이브러리에 관심있는 분들이 읽어보고 참고할 만한 책으로 정리할 수 있습니다.




전자책에 대한 잡담-



일단 책 수령부터 남달랐습니다. 전자책으로 다운받아서 모바일 디바이스로 옮기는데 수분이 채 걸리지 않습니다. (더이상 택배를 기다리며 배송지연으로 인한 슬픔을 느끼지 않아도 됩니다) 그렇지만 종이책과 전자책은 분명 장/단 점이 있습니다. 저는 솔직히 종이책을 더 좋아합니다. 책에대한 소유욕도 있거니와 개발 서적을 쌓아놓고 뒤적거리는게 왠지 더 마음이 편합니다. 그러나 IT업계의 기술발전 속도 만큼이나 개발서적 중에는 시간이 지나서 책에 있는 소스코드가 무용지물(올드버전)이 되거나 내용자체가 완전히 바뀌는 경우도 많습니다. 그러나 전자책은 내용을 다시 수정해서 올리기만 하면 사용자들이 다운받기만 하면 끝이기 때문에 훨씬 유용합니다. 게다가 책에 있는것이 이미지가 아닌 텍스트기 때문에 부록된 링크와 소스코드를 카피하거나 바로 접근 가능한것도 큰 장점입니다. 이 책에 경우에는 전자책의 방식과 매우 궁합이 좋다고 볼 수 있을것 같습니다.




책구성에 대한 잡담 -


귀여움이라고는 눈씻고 찾아볼수 없는 괴(?) 생명체가 책표시를 장식하고 있습니다. 최근에는 블로그 포스팅 같은 예쁜 책들이 쏟아져 나오는 추세 속에서 표지, 폰트나 색상, 편집 구성일체가 매우 심플합니다. 그래서 제 취향에 딱 맞는 책입니다. -개발서적이 뭐있나 정보전달만 잘되면 되지


실제로 베스트샐러 개발 서적들은 의외로 동물도감 등이 자주 사용이 되고 독자들도 빨간벽돌(책표지가 빨갛고 두꺼워서) 책이라던지 동물도감(표지가 동물이라서) 식으로 단순하게 처음 인식한 서적의 종류를 먼저찾는 경향이 있는것 같습니다. 그런면에서 보면 표지 디자인의 인식성 면에선 훌륭한 듯 합니다.








*. PDF의 매 페이지마다 이런 라이센스 표시가 찍혀있습니다.





책에 대한 평가를 내리기전에 일단 이책이 ‘CGSF’라는 라이브러리에 대한 내용이라는 것을 짚고 넘어가야 할 것 같습니다. 책 자체의 내용은 앞서 이야기한 디자인 만큼이나 심플하지만, 애초부터 서버를 처음 공부하려고 하는 학생이나 바닥부터 게임 서버를 제작해 보고싶은 개발자들에게는 용도에 맞지 않겠다는 생각이 듭니다. 입문자가 시작하기에는 나름 네트워크에 대한 흐름이나, 기반지식을 요구합니다. 또한 외부 라이브러리를 쓴다는 것은 그 라이브러리가 가진 틀이나 잠재되어 있는 버그까지 끌어안고 가야 합니다. 그래서 위험부담을 안고 상용게임에 적극적으로 사용할 수 없기도 합니다. 안타깝게도 저는 이 서버 라이브러리에 대한 평가를 내릴 순 없습니다.(실력도 미치지 못하거니와) 일부 평가를 내리자면, 접근성 자체는 매우 훌륭합니다. 이책에서도 많은 부분을 처음에 어떻게 구조를 잡아야 할지에 대한 프레임워크에 대한 설명에 할애 하고 있기 때문에 매우 빠르게 게임 서버를 개발하면서 라이브러리에 대해 접근 할 수 있었습니다. 그러한 장점이 있기 때문에 서버의 규모가 작은 캐쥬얼게임을 짧은 시간안에 구현을 해야한다면, 이 라이브러리가 하나의 대안이 될 수 있지 않을까 합니다. 그러나 또 한편으로는 핵심적인 부분, 응용적인 부분등은 책 내용에는 없고 매우 큰 비용이 있을 수 있기 때문에 이부분에 대해서는 섯불리 평가를 내리기가 힘듭니다. 그렇지만 저작자의 말처럼 이 서버 라이브러리는 C++로된 풀 오픈 소스입니다. 말그대로 모든것을 내입맛대로 고치거나 참고할 수 있다는 얘기 입니다. 그것만으로 매우 가치가 있다라고 말 할 수 있습니다. 저에게는 이책을 통해서 풀소스 서버 라이브러리를 알게된것은 의외에 곳에서 찾은 보물이라고 할 수 있습니다. 책에서 한가지 아쉬운 점은 제목이라고 할 수 있습니다. 책을 고를때 책 제목만 보고 그책에 대한 내용을 단정짓는 경우가 많습니다. 그만큼 제목이 중요하다고 볼 수 있는데, ‘CGSF’ 라는 게 과연 무엇인지 처음 접하는 입장에서는 오해할 만한 용어가 아닐까 싶습니다. 특정 플렛폼인지, 특정 언어인지… (부제와 관계없이) 실상은 C++ 로된 훌륭한 풀 오픈소스 라이브러리임에도 불과하고 말입니다. 그렇다면 차라리 오픈소스를 활용한… 이 더 좋지 않았을까요? 앞으로 많은 사람들이 이 라이브러리를 사용하고 검증하고 평가해서 점차 발전되었으면 합니다. 그러면 사람들이 모두 ‘CGSF’ 라는 단어가 들어간 책을 찾을테니까요.




git에서 본 로그입니다. 최근에도 수정이 이뤄지고 있네요 :) 라이브러리에 대한 평가는 여러분이 해주시길 바랍니다.

블로그 이미지

한빛양

더 나은 세상을 위한 한빛출판네트워크