게임 크리에이터가 알아야 할 97가지
요시오카 나오토 엮음, 정대영 옮김 / 지&선(지앤선) / 2014년 4월
평점 :
품절


게임을 '종합 예술'이라고도 한다. 그 안에는 시나리오, 그래픽, 음악 및 음향, 연출 기술 등 모든 현대의 기술들이 총 망라되는 장르이기 때문이다. 
오페라도 다양한 분야가 한 곳에 접목되지만, 게임은 기술의 발전과 함께 발 맞추어 나가므로 가장 진화에 민감한 영역(?)이라고 할 수 있다.

'즐거움'이라는 하나의 감정을 위해 모든 방법을 동원하는 장르 '게임'
우리는 그 즐거움이라는 것을 느끼기 위해서는 매우 까다로운 심리상태를 거치기 떄문에 사람에게 재미를 느끼게 하는 게임을 만들기란 정말 어려운 일이다.
게다가 수 십년 간 온갖 게임이 다 나오면서 새로운, 그야말로 크리에이티브한 게임을 만들기 위해서는 많은 고뇌를 겪어야 할 것이기 때문이다.

  그런 창작의 고통에도 불구하고 지금까지 게임은 진화되어 왔고(재미는 다른 이야기겠지만), 앞으로도 만들어져 가야 하겠기에 일본 게임의 르네상스 시기 전설의 게임들을 탄생시켰던 다양한 제작진들의 A4 1장 정도 되는 선배의 조언이 이 책 속에 담겨져 있다.
각자가 담당하는 파트에서 오랜 기간 몸 담으며 느껴온 단 하나의 중요한 이야기를 들려준다.

97명의 게임 개발에 몸 담은 각 분야의 개발자들의 조언을 하나로 통합하면 아마도 '생각하며 일해라'라고 축약할 수 있을 것 같다.
왜 그런 일이 있는 것이지 곰곰히 생각하며 아이디어를 얻고, 어떻게 할 것인지 생각한 뒤 문제를 해결하며, 무엇이 더 좋은 방법이 될 수 있는지 고민하라는 이야기. 이 조언이 비단 게임에서만 적용되는 이야기는 아니겠지만, 새삼스레 잊었던 조언을 다시금 되새기게 한다. 

종합예술이기에 그렇기에 다양한 분야에 대한 이해와 통찰을 가질 수록 더욱 조화를 이룰 수 있다는 점을 빌어 다양한 분야의 전문가들의 목소리를 한 자리에 들을 수 있다는 것 무척이나 고무적이다.


얼마 전 FEZ의 개발자 '필 피시'가 일본에 와서 일본 게임에 대한 직설적인 악평을 했던 동영상이 화제가 되었던 적이 있었다.
2010년 이전만 해도 수 십년 간 일본 게임은 그야말로 게임의 새로움을 개척하는 게임 르네상스의 진원지였지만, 최근엔 어찌된 일인지 일본의 전자회사들과 더불어 과거의 영광을 잃어버렸다.

width="560" height="315" src="http://www.youtube.com/embed/STh5nW4A2Jw" frameborder="0" allowfullscreen="">



그럼에도 그들이 갖는 독창적인 세계관은 언젠가 다시 영광의 면류관을 찾을 날이 올 것이라는 믿음을 갖는다.


스웨덴이 바이킹의 후예이듯, 일본 게임은 슈퍼 마리오와 젤다를 탄생 시켰던 패미컴의 후예들 아니던가.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
컨텍스트의 시대
로버트 스코블, 셸 이스라엘 지음, 박지훈, 류희원 옮김 / 지&선(지앤선) / 2014년 3월
평점 :
품절


이직한 직장에 4일 째 출근하는 날이였다. Android에서 Google Now가 나에게 현재 위치가 직장 맞느냐고 묻는다. Google은 내가 출근 시간에 이 곳으로 이동하고, 저녁에 다시 돌아가는 패턴을 보고 이 곳을 직장이라고 추론한 것 같다. 물론 나는 그런 패턴으로 이 근처에 온 것이고, 직장이 맞았다.

위치는 약간 오차가 있었지만(내 직장은 E마트가 아니다) 가까운 거리였기 때문에 사실 상 직장 위치를 알아 본 셈이나 다름없다.


우리는 일정한 생활 패턴을 갖고 산다. 아마도 매일 95% 비슷한 패턴으로 생활할 것이다. 평일/주말로 구분되는 늘 비슷한 패턴.

매일 비슷한 시간에 일어나 같은 방식으로 평소 하던 시간만큼 양치질과 세면을 하고, 비슷한 시간에 지하철, 버스, 자가용 등 같은 루트로 출근을 한다. 회사에 출근해서 일정한 패턴대로 오전과 오후를 보내고 저녁에 퇴근한다.



Google 계정에 들어가면 대시보드에서 나의 이동패턴을 시간대별로 볼 수 있다.



인간은 누구나 각자의 패턴을 가지고 있으며, 또 인간 보편적으로 가지고 있는 패턴도 있다. (졸리면 눈을 껌뻑껌뻑 하거나 관심있는 것을 보면 동공이 커지는 패턴 같은 것 말이다.)

이런 패턴의 전후 맥락을 파악을 하면 다음에 무엇을 할 것인지 또는 무엇이 필요할 것인지 예측이 가능해 진다는 말이 된다.


만약 누군가 새벽 4시쯤 잠에서 깼다면 다음 무엇을 할까? 새벽 4시. 그리고 잠에서 깼다는 맥락에서 볼 때 갑자기 운동을 나간다던지 밥을 먹지는 않을 것이다. 물을 마시거나 화장실에 가는 패턴일 것이다. 빅데이터 등의 기술은 이런 패턴들을 수집하기 시작했고, 그 수집한 패턴을 통해 소비자의 수요를 예측한다.


사생활에 대한 끊임없는 논란이 일겠지만, 우리 생활의 상당부분을 기술적인 보모를 갖게 되는 셈이기도 하다. 우리는 늘 선호하는 장르를 접한다. 영화 중 멜로를 선호한다면 멜로나 드라마를. 또 여성은 이런 취향을 갖게 될 확률이 남성보다 높다.

 스마트 TV에서 LG 경기의 야구 채널을 본 기록이 종종 있다면, 이 사람이 LG 팬일 것이라는 것을 추론하고, 다음에도 TV를 틀었을 때 현재 '6회 말 LG(3) vs 기아(5)'가 경기 중입니다. 보시겠습니까?'라고 묻게 될 지도 모른다.



이미 상당수 전자 상거래 사이트들은 고객들이 보는 상품들을 보고 유사한 상품을 보여주기 시작했다. 이제 앞으로는 서점 사이트에서 20대 남성이 아무 상관도 없는 유아용 책을 페이지에서 보여주느라 페이지를 낭비하는 일은 점차 줄어들 것이다. 그가 봐왔던 무협소설 장르를 주로 보여줄 것이며, 더욱 세분화 된 장르 분석으로 개인이 모든 분야의 코디네이터를 고용하는 셈이 되는 세상이 될 것이다.


그러나 개인의 행동패턴을 속속들이 알다보니 소름끼치게 만드는 요인(freaky factor)도 분명 일어 날 수 있다. 이미 Google은 개인의 사생활을 추측하기 시작했기 때문이다.


다음의 본문을 보자.

------------------------------------------------------------------------------------------

나는 Google+ 에서 만난 친구 한 명을 알아가고 있었다. 우리는 다른 도시에 살고 있고 연락을 지속적으로 하기 위해 Google+와 Google Talk를 사용했다. 최근 그녀는 내가 있는 곳을 방문했고 지난 주에는 내가 그녀를 보러 갔다.

   그녀의 집에서 내 Google now를 확인하고 있던 중, Google Now가 익숙하지 않은 몇 개의 주소지로 가는 길을 알려주었을 때 놀란 나의 표정을 상상해보라. 내가 그 주소들을 보여주자 그녀는 그곳들이 그녀의 직장과 최근 방문한 친구들 집 주소라고 했다.

  그녀는 Google이 이동 내역과 같은 그야말로 매우 개인적인 정보를 나와 공유하고 있다는 것에 소스라치게 놀랐다. Google은 분명히 내가 그 정보를 알 필요가 있을 만큼 우리 사이가 충분히 가깝다고 판단한 것임에 틀림없다.

  소셜 미디어 상에서 누군가와의 관계를 선언하는 것과 Google이 나를 누군가와 관계가 있다고 결정하는 것은 차원이 다른 이야기다. 앞서 일어난 일이 바로 그에 해당하는데, Google은 그녀와 내가 나눈 대화가 충분히 의미심자해서 우리가 사귀는 사이라고 판단했으며 그에 따라 내게 관련 정보들을 전달하기 시작한 것이다.

  이게 사실이라면, 나는 Google이 우리를 위해 결혼 계획을 준비하기 시작할 것이고, 어느 날 아침에 일어나서 Google이 생성한 일정 항목을 발견할 것이며, 이 항목들은 나를 대신하여 예식장, 음식 하객 초대가 수행되었다는 내용일 것이다. Google Now는 그 다음 우리에게 아기 이름을 제안할 것이다.

p. 236, 본문 중

------------------------------------------------------------------------------------------

아마도 미래의 PCA(Personal Contextual Assistant; 개인의 행동 패턴을 파악해 비서처럼 돕는 소프트 웨어)는 여기서 더욱 확장된 상황일 것이다. 기업들은 여러가지 행동을 패턴해 그 사람의 오전, 오후, 저녁 부터 평생의 라이프 사이클을 쫓아다닐 지도 모른다.


보통의 전문가들은 개인이 가진 경험과 습관 등을 통해 얻은 지식들을 가지고 문제를 해결하지만, 빅데이터를 베이스로 두고 이런 맥락을 뽑아내는 기술은 수천명의 전문가들이 모인 것과 같은 객관적으로 명료한 데이터를 기반으로 문제를 해결해 나가기 때문이다. 따라서 이러한 맥락의 기술은 각 분야의 전문가 마저도 일자리를 위협하게 되는 세상이 올 수도 있다. 



어쨋든 당신의 개인 사생활은 없어요. 그러니까 그만 인정하세요.

- Sun Microsystems의 창업자 스콧 맥닐리


댓글(0) 먼댓글(0) 좋아요(5)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
스타트업, 똑똑하게 시작하라! - 창업을 한발 앞서 시작한 선배들이 들려주는 창업의 리얼리티 체크
최환진.김소현 지음 / 지&선(지앤선) / 2014년 2월
평점 :
품절


계속 되는 불황으로 취업은 그야말로 불가능에 대한 도전이 되어버렸다. 

불황의 돌파구로 또 새로운 비전의 실현으로 '스타트업'으로 업을 찾는 젊은이들이 늘어나고 있다.

정부기관과 각 기업에서 지원하는 각 가지 스타트업 지원 프로그램이 존재하지만, 사실 창업에 대해 아무 것도 배운 적이 없는 젊은이가 맨땅에서 시작하기란 그리 쉬운 길이 아니다. 사업을 구체적으로 기획하고, 팀을 꾸리고, 개발을 하고, 사업자로서 과정을 거쳐야 하는 법, 투자를 받기 까지 고비 넘어 고비이고 산 넘어 산이기 때문이다.


어차피 그런 산을 넘기로 마음 먹었다면 먼저 산을 올라가 본 경험자들의 풍부한 경험담이 가장 현실적일 것이다.

와닿지 않는 과정적 이론보다 실제로 겪은 이들의 경험담은 좀 처럼 모아서 들어보기 어렵기도 하고 말이다.


이 책에서는 맨 처음 기획하는 시작점부터 팀을 만들고 구현하는 과정부터 투자를 받는 상황에 고려해야 하는 현실적인 고민들까지 담고 있다.


사업은 하나의 종합 예술과 같다. 자기가 하고자 하는 업만 보고 뛰어든다고 되는 것이 아니라, 준비과정과 영업활동에 따른 재무 계획과, 법률문제, 시장의 상황, 마케팅 계획, 개발 기획 등 자신의 하루 계획을 구체적으로 짜듯이 한 사업을 영위하기 위한 복잡한 과정을 잘 파악하고 가늠하고 있어야 하기 때문이다.


사회경험이 부족한 20대 청년들이 진짜 사회에 부딪히는 순간에는 너무 순진하게 도전했던 상황일 것이다. 예상을 뛰어넘는 어려움과 시나리오에 없던 냉혹함을 경험하며 좌절할 때 말이다.

그럼에도 그러한 난관들을 하나하나 제치고 뚫어올 때 승리를 얻고 싶다면 이런 많은 선배들의 경험을 보고, 난관을 예상하고 대비한다면 좋은 결과를 가질 확률이 훨씬 높아질 것이다.


다만 책에서 아쉬운 점은 인터뷰를 중심으로 하는 이야기지만, 실제로 창업과정에서 겪은 문제와 그를 어떻게 극복했는가에 대한 해결책 등 조금 더 구체적인 사례를 들었으면 했다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
거침없이 배우는 JBoss - 오픈소스 미들웨어 JBoss EAP 6 & AS 7 이해하기
전준식 엮음 / 지&선(지앤선) / 2014년 2월
평점 :
품절


JBoss(Java Bean Open Source Software)는 Java를 기반으로 하는 오픈소스 미들웨어 브랜드이다. 한 회사의 소유에서 점점 많은 개발환경이 오픈소스 환경으로 바뀌는 추세이다.


우리는 익히 Tomcat이나 Jeus 같은 WAS가 익숙하겠지만, EAP6(Enterprise Application Platform)는 종전보다 더 가벼워지면서도 고성능을 내도록 설계되고, 클라우드 환경도 지원한다.


JBoss에서 EAP6와 AS7(Applicaton Server)의 차이는 상용제품과 커뮤니티 제품이다.  EAP는  Red Hat에서 테스트 등의 과정을 통해 안정성, 성능, 보안성을 확보한 버전인 셈이다. AS7의 안정성 검증을 거친 것이 EAP6라고 볼 수 있다.

마치 Redhat Linux 중 상업용인 Enterprise와 오픈소스인 Fedora로 나뉘는 것 처럼 말이다. 하지만 둘 다 JBoss를 쓰는 바람에 혼동되어 JBoass AS 8 부터는 Wildfly AS 8으로 변경되어 사용된다.


일반 개발자의 경우 웹서버에 대해 큰 신경을 쓰지는 않는다. 그러나 개발 언어의 배경지식이 개발 할 때 보이는 영역을 보다 넓히듯이 늘 구동시키는 구동 환경에 대한 배경지식이 넓을 수록 보다 유연한 상황 대처 능력이 생길 수 있다.

퍼포먼스를 높이기 위해 개발 소프트웨어 자체의 알고리듬에도 개선할 여지가 있겠지만, 마찬가지로 웹서버도 보다 고성능이면서 안정적인 운영환경을 위해 각 가지 튜닝 기술을 이 책에서 배울 수 있다.


사실 이 부분은 기초 못지 않게 매우 중요하다. 이용자들의 만족과 직결되는 부분이기 때문이다. 뿐만 아니라 기업의 입장에서도 더 적은 투자로 좋은 성능을 내는 법을 아는 것이 훨씬 경제적인 이득을 가져갈 수 있다.

이 책에서는 성능 튜닝의 기본 원칙, 병목 현상이 일어나는 구간을 찾는 법과 부하 테스트 등을 하는 법은 매우 유용한 노하우다.


개발자 입장에서 웹서버는 끄는 법과 켜는 법만 알았던 많은 이들에게 JBoss EAP6의 아키텍처와 튜닝 기술을 배우며 새로운 환경을 배워볼 기회다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
C++ API 디자인 - API Design for C++
마틴 레디 지음, 천호민 옮김 / 지&선(지앤선) / 2014년 1월
평점 :
품절


프로그래밍을 하면 반드시 사용하게 되는 API를 늘 사용만 했지, 그것을 만드는 사람 입장에서는 생각을 해보지 못했던 것 같다. 다른 코드와 다르게 나만 사용하는 것이 아니라 다른 사람들의 프로그램에도 영향을 미치는 역할을 한다고 생각해 보니 단순한 기능 구현을 넘어 매우 신중한 설계가 필요할 것이라는 생각이 문득 든다. 특히나 대규모 서버를 가동하는 애플리케이션이라면 더더욱 말이다.

 

이 책은 그런 서비스를 하는 많은 프로그램들 제작할 때 고려해야 하는 사항들에 대해서 논하고 있다.

사실 굳이 API를 제작하는 것이 아니더라도 평소 프로그래밍을 할 때 그러한 신중한 습관이 고품질의 프로그램을 만들어 낼 것이다.

 

API를 만드는 것은 조금 차이가 있겠지만, 일반 코드를 만들 때의 과정과 큰 차이를 가르진 않는다. 하지만 이 책에서 전체를 관통하는 하나는 바로 미래를 대비한 디자인이다.

 

'Chapter 4 설계'에서 스타트업의 경우 소프트웨어의 빠른 출시가 절실하게 되는데, 그 때문에 주석과 문서화, 테스트를 생략하는 케이스를 예로 들면서, 소프트웨어가 기업의 중요한 성공요소라면 오히려 코드를 사용하기 쉽고 안정되기 만들어야 한다고 하고 문서화 역시 잘 해두는 것이 첫 번째 목표여야 한다고 조언한다. '호미로 막을 것 나중에는 가래로 막는다'는 속담이 아마도 이럴 때 쓰는 경우가 아닐까. 프로그래밍을 하다보면 그러한 댓가가 나중에는 반드시 나타난다. 업계에서는 속된 말로 누가 싼 X 치운다고 이야기 한다. 어떻게 마감에 맞추려다 보니 엉망진창 코드로 만들어진 외양은 그럴 듯해 보이지만 건축물처럼 개관을 하지만, 철골도 부실하고 나중에는 천장에서 물이 새는 경우처럼 다양한 문제가 발생한다. 물론 원인의 첫 번째가 무리한 마감일이겠다.

 

사실 코드 디자인은 API든 일반 프로그래밍이든 매우 중요한 사안이다. 성능 문제가 당장 중요하진 않기에 최적화를 하려고 애를 쓰진 않아도 된다면 그렇게 하겠지만 나중에 라도 발생할 수 있을 가능성을 내포하고 있다면 수정할 수 있어야 한다. 'Chapter 7 성능'의 경우 성능 문제가 나타날 때를 대비해 인터페이스 성능 최적화 방법을 소개한다. 

 

이 밖에도 싱글톤, 팩토리 메서드, 옵저버 같은 유명한 디자인 패턴이나 버전관리, 문서화, 테스트 등 설계부터 테스트 까지 프로그램의 전반에 걸치는 과정을 망라하여 담은 책이다. API를 만들지 않더라도 그러한 정교한 설계 능력은 누구나 필요하다.

 

C++ 프로그래머라면 전체를 조망하는 이 책을 한 번쯤 읽어볼 것을 권한다.


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