• 2008-12-08

    Smart People

    http://pds9.egloos.com/logo/200804/01/93/f0025793.jpg

    열심히 하는 사람 보다는, 잘하는 사람이 되어라.(Don't Work Hard, Work Well)
    전문 직장인이 되기 보단, 전문 직업인이 되어라.

    예전에 모시던 분들이 즐겨 하시던 말들이다. 과거의 무능하고 나태했던 내 모습을 곳곳에서 찾아낼 때마다, 혹시나 나도 곧 그렇게 무뎌질까 두렵다.

    칼날을 더욱 날카롭게 세우기 위해서, 이번 달부터 새벽 영어 회화를 다시 시작했다. 영어 강사에게 리만 브라더스가 왜 나쁜지를, 왜 미국산 소고기가 나쁜지를 설명하기가 여간 힘들지 않았다. 역시나 함께 듣는 이십대 중반의 젊은 친구들은 정치에 관심이 없었다는 것도 확인했다. 덕분에 의도하지 않게 근무 시간이 한 시간 넘게 늘어나 버렸는데, 나보다 항상 더 일찍 나와서 일하는 사람도 있어서 깜짝 놀랬다. 역시 출근 순서가 회사의 실질적 직급 순라는 이야기가 맞는 걸까 하핫 :)

    그리고, 스마트한 회사 친구들과 얼랭 대결(?) 프로젝트도 바야흐로 가동되었다. 주사위를 굴려 2:2 로 짝을 지어 모종의 코딩 대결을 펼치려고 하는 중인데, 역시나 한 마디만으로 열길 사람 속도 알아듣는 친구들이라서 기대가 된다. 반짝이는 후학들의 걸림돌이 되지 않기 위해서라도, 집에서 열심히 예습복습을 해야것다. 클클.

  • 2008-11-16

    Prepare the battle

    http://www.tesionline.com/intl/img/focus/asian-crisis.jpg

    DHL도 미국에서 철수하고, SUN, 구글, HP, 이베이, 아마존 같은 유수 기업들이 감원을 하고 있고, 실리콘밸리에는 총격 사고까지 나고 있는데, 펀더멘탈이 그렇게나 튼튼하다는 바이 코리아의 게임 회사들은 어떨게 될까? 최대한 네가티브하게 예측해서 그게 운좋게 맞아 떨어지면 나중에 1g 정도 우쭐하려나 싶어, 최악의 경우만을 가정해 보겠다.

    조만간 닥쳐온다는 10년짜리 세계적 불황에 대해 조금이라도 고려하고 있는 회사라면, 슬슬 군살을 빼기 시작할 것이다. 가장 간단한 전기 절약 운동에서부터 연봉 동결, 유휴 인력 정리 해고, 싹수 없는 프로젝트의 조기 캔슬에 이르기까지 다양한 방식의 근검절약을 시행할 것이다. 최근의 중대형 회사들은 개발자들을 싹쓸이한 후, 동시에 5-10개의 프로젝트를 돌리는 것이 대세인데, 게임이란 것이 50% 의 성공률 완성율도 보장할 수 없는게 현실이다. 즉 인건비만 년간 50-100억 정도 까먹는다는 걸 감안해보면, 어떤 CEO도 이런 유혹을 이겨낼 수 없을 게다. 만약 이게 현실이 된다면 조만간 인력 시장에 고급 인력들이 가득하게 되고, 그러면 회사에서 어울렁 더울렁 웹서핑하면서 버티던 베짱이들의 목은 더욱 위태로워질 것이다. :P

    또, 부분 유료화라는 비지니스 모델이 기나긴 불황의 터널 속에서는 오히려 악재가 될 수도 있다. 내수 침체로 청소년들의 지갑이 얇아지면 그냥 무료 상태로만 게임을 즐길 가능성도 배제할 수 없으니까 말이다. 혹자는 IMF 시절을 예로 들면서, 경기가 침체될 수록 사람들이 값싼 놀이 수단을 찾기 때문에 게임 쪽은 괜찮을 거라고 하고, 나도 그렇게 믿고 싶지만.. 마찬가지로 이유로 해외 수출에 의존하는 모델도 힘들어질 수 있다. 이미 불황을 겪고 있는 일본이나, 중국 같은 이머징 마켓을 제외하면, 다들 배고픈데 비싼 돈을 주고 우리 나라 게임을 수입해와서 서비스 할 이유도 없지 않을까. 단 쥐새끼가 계속 삽질을 해대면 계속 원화 가치가 떨어져서 그때쯤이면 비싼 돈이 아닐 수도 있으니, 어째 고마워해야 할지도 모르겠다.

    http://img148.imageshack.us/img148/9008/bf2142billboard2ha4.jpg

    또 불황이 길어지면 사람들이 더이상 컴퓨터를 업그레이드하지 않을 수도 있다. 즉 차세대 콘솔 수준의 높은 퀄리티의 그래픽 때문에 개발비를 투입하는 것보다는, 아이폰 게임이나 닌텐도의 Wii처럼 게임성에 올인하는 게 더 현명한 전략일 수도 있겠다. 이런 걸 감안해보면 저사양에서도 잘 돌아가면서, 전세계 글로벌하게 광고를 수주해서 게임 내에서 보여주는 방식으로 (게이머들에게 금전적인 부담없이) 수익을 벌어들이는 모델이 가장 좋지 않을까 싶기도 하다. 광고 한번 보면 한 시간 플레이가 가능해요! 아이템도 하나 드려요! 뭐 이런 방식이 될까나..

    그렇다면 대한민국만큼 공돌이들이 하류 인생인 나라도 드물테니, 해외로 나가서 새로운 미래를 개척해보면 어떨까?  아마 그때 쯤이면 환급받을 국민 연금도 똥값이 되고, 그나마 현금 보유한 걸 달러로 환전하면 50% 로 줄어들어 버릴 것 같다. 그나마 내수가 튼튼한 나라로 이민가서 후딱 적응하는 게 나을 수도 있겠지만, 이 불황이란 게 전지구적인 규모라서 그 나라의 게임 회사들이라고 영향을 받지 않으리란 보장이 없으니... 지금 후딱 나가서 신입으로 입사해도 시원찮을 판이다. (블리자드는 56살짜리 신입 디자이너도 뽑는다니, 두려워하지 말지어다)

    이래서, 회사를 옮기려고 하는 지인들에게 무조건 100억 이상의 매출을 가진 회사로 옮기라고 권했는데, 어째 다들 힘든 모양이다. 올해를 넘기면 새 회사에서 실력을 발휘해 보기도 전에 밀려날 지도 모르니 어서 빨리 취업하시기 바라며, 결국 중요한 건 자신의 내공을 재테크 하고, 회사에서 열심히 일해서 낙오 그룹에 끼이지 않는 방법 밖에 없다. 그래도 안되면 핀란드 가서 임업을 하든, 뉴질랜드에서 목축업을 해야 될지도... ㅠ_ㅠ

  • 2008-11-15

    Three Rules for Database Work

    http://www.openmaru.com/attach/1/1046597520.jpg

    하루에 10만을 채우는 게임은 이런 게 이벤트가 되는구나.

    오늘자 코드 프로젝트에 올라온 DBTool의 근간이 된, 데이터베이스를 갖고 놀 때의 세가지 룰은 생각보다 간단했다.

    Never use a shared database server for development work.

    예전에는 (rails 스타일의) development-test-production 의 3단계 구분법을 사용했다. DBA와 서버 프로그래머는 dev DB에서 열심히 뒤집어 엎어도, test DB에 연결된 다른 프로그래머들이나 테스터들은 안정적으로 사용할 수 있고, 실제 서비스는 production 데이터베이스를 쓰게 된다는 거다.

    Always Have a Single, Authoritative Source For Your Schema

    DB 에 짧지만 단순한 나의 지론은, 레파지토리 어딘가에 무조건 전체 스키마+초기데이터를 담은 SQL 파일을 두고 버전 관리를 해야 한다는 거다. 소스 코드, 애셋들은 과거의 특정 시점의 스냅샷을 꺼내올 수 있는데, 유독 데이터베이스가 열외일 수는 없다고 본다.

    또한 어차피 데이터베이스 패치를 해야 할 테니, create, alter로 가득찬 DB 패치 스크립트도 버전 관리해야 한다. test -> production 를 업그레이드할 때 모두 지우고 새로 만드는 만행을 할 수 없을테니, 아예 dev -> test 에서부터 미리 스크립트를 만들어서 테스트하면 정신 건강에 좋지 않겠냔 말이다. 처음에 언급한 DBTool 이 이런 걸 자동화해주는 모양이다.

    Always Version Your Database

    보통은 Config 테이블에다가 문자열로 데이터베이스 스키마 최종 변경일을 넣어두는 걸로 해결하고 있다. 그런데 아직 뭔가 변경이 잘 되었는지를 체크할 만한 테스트를 만들 능력은 안된다. 대체로 alter 든 drop 이든 서버가 뜰 때까지는 잘 모를것 같아서.. :)

    이 외에도 무시무시하게 긴 Better SQL Server Databases 라는 규칙도 있는데 이건 좀 귀찮구나....

    추가:

    • 다른 글을 찾아 보니, 프로시저나 테이블 각각을 서로 다른 파일에 저장해서 관리하라는 말도 있다. 은근히 그럴듯한데?
  • 2008-11-14

    KGC2008(2)

    http://sirini.net/blog/data/diablo_3_3.jpg

    컨셉 아트에서부터 모델링, 매핑에 이르는 모든 영역을 소화해낸다는 특급 제너럴리스트들로 구성된 디아블로3 배경팀의 아티스트는 "아트는 결국 게임을 위해서 존재한다"고 말씀하셨다.

    파이프라인의 2단계에서부터, 텍스처도 없는 애셋을 게임에 올려서 테스트해볼 수 있어야 한다는 이야기를 그분도 좀 새겨 들으셨으면 싶다. 디테일이 지나쳐서 플레이어들에게 시각적 혼란을 주면 안되기 때문에 사진 텍스처 대신 손으로 그린다는 이야기도.

    바닥 양탄자 색깔을 암묵적인 진행 방향으로 삼는다든지, 모든 디자이너들이 실시간으로 애셋들을 공유하되 거기에서 자신만의 커스터마이징을 거쳐서 항상 다르게 보이는 배경을 만든다든지, 3D 환경에서 랜덤맵 기반의 배경 그래픽을 만든다는 이야기들은 역시 블리자드 스케일! 이라는 인상을 받았다.

    그나저나 먼저 다함께 스타일 가이드를 만들고, 컬러 스터디를 하고, 디자인 템플릿이 나오면 페인트오버 덧칠해서 돌려본다고 하니, 실컷 작업한 후 디렉터가 drop시키면 울면서 재작업한다던 이야기가 떠올라서 씁쓸했다. (어제 배씨 아저씨는 민주적으로는 타협과 협상의 결과가 나온다고던데, 이 아저씨는 직위 고하에 관계없이 브레인스토밍해서 최대한 아이디어를 살려 나간다고 하니, 이게 바로 국민성의 차이인가..)

    Moven 이 고작 5천만원이라는 사실에 처음 경악했고 (우리는 모캡 받은 후 그 결과를 넘겨 받는데 두 달이나 걸렸는데도  천오백만원이었는데..), 우리가 UBO에서 구현했던 게 Motion Library Based Character Simulation 에 근접한 기술이었다는데 순간 뿌듯했으며(물론 우린 더 파지 않아서 단순 Parameterized Blending 수준이었지만), 이걸 더 발전시킨 게 스포어에서 사용된 기법이었다는 것도 놀라웠다. 

    컴포넌트 기반 방법론은 강연자가 멋지다는 이야기만 하고 구체적인 적용 방안이나 장단점에 대해서는 코드조차 보여주지 않아서 아쉽다는 이야기가 있었다. (망갈로라서 그런가!!) 컴포넌트간 메시지 기반 통신은 모듈간 의존도는 확실히 줄어들고, 유닛테스트하기도 편하고, 멀티코어 대응도 쉬울 것 같은데, 클라이언트야 그렇다 치더라도 서버에서는 어떻게 잘 쓸 수 있을지가 좀 애매했다. 실제로 이런 구현을 쓰고 있는 모군에게 물어보면 역시나 디버그하기가 괴롭다는데... 흐흠. GPG 5권이나 다시 읽어봐야지.

    jacking75님의 강연은 내가 대구 출신이라서 그런지 구수했다. C# - C++ 연동 때문에 고생을 많이 하신 것 같은데, 역시 XML로 프로토콜을 디자인하고 각 언어별로 코드 제너레이터를 만드는게 최종 진화의 모습이 아닐까 추측해본다. 조만간 나도 비슷한 툴들을 많이 만들어야 할 것 같은데, C# 보다는 VB.NET을 주로 써봐서 뭘 해야 할지 고민이다. 이런 툴의 문제점이라면 편집은 간편하지만 유출 및 보안 문제가 걸릴텐데, 요즘의 대세는 접근 제어가 가능하고 업데이트 걱정을 안해도 되는 웹 기반이 아닐까 싶다. 근데 사내에 .NET 툴들이 많고 자동 업데이트도 잘 되는 걸로 봐서는 또 괜찮을 것도 같고... (시간만 있으면 rails로 해보고도 싶은데.. 아니면 누가 실버라이트로 만들어주든가. 흐흐)

    마지막 시간은 이미 알던 이야기라서. 32코어의 시대가 도래하면 얼랭이 세상을 지배할지도 모른다..라고만 정리해보련다. 그 때가 되면 다시 플레이어, 몬스터들 마다 얼랭 프로세스를 할당해서 갖고 놀게 될지도 모르겠다.

  • 2008-11-13

    KGC2008

    http://www.avatron.com/img/air_sharing_103.jpg

    터치의 must-have 아이템. KGC pdf 넣느라 사버렸다. 쿨럭.

    간만에 부르조아 모드로 집에서 택시를 타고 "일산 킨텍스요~" 라고 하고 가면서 우리나라 교육 제도에 대해서 열심히 떠들었는데, 이 아저씨 할증료를 3천원이나 더 뺏어가네? 한방에 무려 17000원이 날아가버렸다. 역시 택시 기사를 믿어서는 안되는 거다. 일찍 도착하니 할 일도 없고 해서 터치에 무선랜으로 구글 리더를 읽고, 워드프레스 어플로 블로깅도 해보니 어느덧 된장남처럼 느껴졌다. 

    배재현 상무의 키노트 중에서의 백미는, 게임은 민주적으로 만들어서는 안된다는 이야기. 무능력자들에게 불필요하게 선의를 보였다가는 언젠가 어떻게든 뒷통수를 맞는다는 개인적 경험과 겹쳐져서 들렸다. 또 "전생에 어디에선가 본 듯한 게임"이라는 접근도 꽤 괜찮았다.

    다들 NC에는 학벌이 강하니 정치가 심하니 욕하는데, 의외로 배상무의 학벌은 지방대였다. (만세!) "역시 서울 올라올 때 바로 큰 물에 갔었어야 했어"라고 하니, 쉬귀군은 "우리가 98년도에 제대로 게임을 만들었으면 지금 저 위치에 서있었을 거다." 라고 하는데 한편으로는 수긍이 가더라는.. (그러고보니 리니지 처음 나왔을 때 Wand of wish 보고 네트핵 따라 했다고 욕했었는데, 지금 생각하니 그냥 네트핵 오덕의 옹알이였을 뿐이었구나)

    IK 에 관해서 강연하신 분은 상당히 논리정연하게 설명을 잘 해주셨다. 예전에 크라이엔진 데모때 보던 IK 장면들을 똑같이 구현하신 걸 보니 꽤 열심히 하신 모양이었다. 모션 리타겟팅도 예상 보다 퀄리티가 좋았다. 역시 애니메이션 전문 프로그래머가 있었어야 했다는 아쉬움이 들면서 동시에, 내추럴 모션이 조금만 먼저 출시되었더라도 우리가 그렇게 고생을 안했을 텐데.. 라는 원망도 들었다. 제대로 업데이트도 안하고 매년 돈만 받아 먹던 빌어먹을 이모션FX를 생각하니 울화통이 터진다. 그래 실력 없어서 빨리 출시 못한 놈들이 죄지.

    박일씨의 강연은 예상대로 달변이었다. 7대 낭비는 저기 멀리 도요타 동네에서 온 개념인가 본데, 생각보다 게임 개발에 많이 침투해 있던 그들의 실체를 제대로 느껴본 좋은 시간이었다. 또한, 쉬귀 군이 항상 못마땅해하던 유닛테스트를 재평가하는 시간이 되지 않았을까 생각한다. 

    셋째 시간은 그다지 땡기는게 없어서 걸스타를 보러 내려갔다가, 넥슨 부스에서 대략 좌절을 하고 돌아섰다. 역시 넥슨은 남들보다 한 세대를 앞서가는 회사이구나 싶었다. 뭐 설명이 필요없는 마비노기 영웅전과, 허스키인지 뭔지 하는 개썰매 게임도 뭐랄까 감성을 자극하는 면이 남달랐다. 물론 드래곤 네스트는 퍼블리싱이니까 별개로 치고 싶지만, 직접 만들든 돈주고 사든, 결과적으로 돈만 많이 벌면 되지 그게 뭔 상관이겠느냐는 의견에 100표.

    NHN의 C9도 괜찮았지만 넥슨에 비하면 만 1년의 최적화를 더 해야 할 것 같다는 생각. 그 외에도 괜찮은 게임들이 많이 있었지만, 지면 관계상 생략한다. 이거 맨날 남의 게임 보고 감탄만 하다가 업종을 변경하는게 아닌가 싶어서, 울면서 그냥 집으로 왔다.

    돌아오니 나를 반기는 건, 헌재 SBS들의 종부세 위헌/헌법불합치 판정. 만수야 잘 모르는 헌재 간다고 고생 많았다.