화이트데이 이야기 #1 - 시작 화이트데이 제작기

98년 여름, 내 나이 24살때.
디렉터이자 기획자로 오랜 시간과 열정을 쏟아부어 만든
자식같은 프로젝트 '화이트데이'의 첫 시작은 그 무렵이었다.

나는 잠깐 몸담았던 아케이드 업체를 그만두고 새로운 일을 찾고 있었다.
이때 하이텔 게제동에서 알던 서관희씨를 만나보러 손노리를 방문했는데,
그쪽 사람들은 재미있고 친절했으며 말도 잘 통했다. 이날 이원술
사장님으로부터 학교를 배경으로 한 호러 어드벤처 게임을 만들 생각이란
얘기를 들었다. 그때 든 생각은 '재밌긴 하겠지만, 이 사람들 고생
꽤나하겠군'이었다. 바로 그 전에 G모 게임을 만들면서 어드벤처
게임을 하나 제대로 만드는게 얼마나 힘든 일인지 느끼고 있었기
때문에... 그 화이트데이라는 게임이 내 20대의 1/3을 차지하는 자식이
될줄은 꿈에도 몰랐었다.

그날 나는 가벼운 마음의 방문이었지만 그쪽에서는 리크루트로 생각하고
있었다. 고생길이 펼쳐져 있을거란건 알고 있었지만, 나는 회사와 프로젝트가
마음에 들어서 합류하기로 결심했다.

당시 손노리는 포가튼사가를 만든 판타그램에서 갓 독립해나와 법인을
차려 10여명 남짓한 직원을 거느리고 힘찬 출발을 하고 있었다.
신생회사인데다 IMF까지 겹쳐 회사사정은 넉넉하지 못했기 때문에,
야근식대를 절약하기 위해 저녁때는 사무실에서 직접 밥을 해먹었다.
총무로 일하던 수연씨가 자청해서 주로 저녁밥을 차렸고 설거지는 나머지
사람들이 가위바위보로 정하곤 했다. 창립초기에는 모두들 헌신적으로
일했고, 글자 그대로 '한솥밥을 먹는' 가족 같은 분위기였다.
다들 박봉에 10시 넘게 일하면서도, 말하자면 가난해도
꿈과 웃음이 있는 사무실이었다.
모두들 새파랗게 젊었고 열정에 넘쳐 오손도손 일하는게 너무나 재미있었다.

화이트데이라는 프로젝트를 받아들인 것은 그 전에 일했던 프로젝트가
너무나도 부끄러운 작품이었기에, 호러 어드벤처 게임을 한 번 제대로
만들어보잔 생각이 있어서였다. 그리고 역시 그 G모게임에서 미진했던
실시간 3D 그래픽의 구현 역시 제대로 해보고 싶었다.
(그 게임에 얽힌 일화들은 술자리 안주로 좋다.
주변의 프로그래머들한테 한번씩 얘기해주면 다들 배꼽잡고 뒤집어지는...)

화이트데이 프로젝트의 초기 스탭은 5명이었는데,
초기에 적은 인원이라 맡아야할 각자 다른 일들이 있었기 때문에
엄밀히 말해 '풀타임' 스탭이라고 보긴 힘들었다.
기획자는 사장 겸임. 시나리오 작가는 매체 홍보 겸임.
메인 프로그래머는 CTO 겸임. 모델러는 강철제국과 악튜러스 작업 병행.
나 정도가 유일한 풀타임이라고 볼 수 있긴 하지만, 나 역시 광고제작 등의
겸임을 하곤 했다.

하지만 우리의 포부는 매우 높았고, 8월에 시작된 이 프로젝트의
결과물이 다음해 7월에 출시될 것이라고 굳게 믿고 있었다. 지금
생각하면 정말 대단한 배짱이었지만..

메인 프로그래밍을 맡은 관희씨는 우선 퀘이크 스타일의
BSP 기반 배경 폴리건 엔진의 연구에 착수했고,
나는 다이렉트X 프레임워크를 고쳐서,
ASE 파일을 지오메트리로 재구성 -> 트랜스폼 & 라이팅 -> 텍스처 매핑 ->
애니메이션 -> 스키닝의 순서대로 캐릭터 엔진을 만들어나가기 시작했다.

우리가 했던 작업은 프로토타입에 가까웠고,
실제 작업물은 나중에 합류한 눼라군이 만들어놓았다.

사실 프로그래머로선 아마추어인 내가 프로그래밍 실무에서
일했다는 사실은 좀 쑥쓰럽긴한데...
그래도 당시 국내에선 내가 최초로 ASE 파일의 구조를
올바로 분석하고 파싱하는데 성공했던 것 같다.

3D 그래픽 코딩이 처음은 아니었고
프로그래머들이 잘 모르는 맥스의 사용법과 구조 개념도 알고 있었기때문에,
ASE 파일을 가지고 맨땅에 헤딩하듯 눈치껏 이거저거 시도하다보니
마침내 그 구조를 알게 되었다.

'정공법'이라 생각되는 D3D IM에서, API에 의존하지 않고
스크린 좌표까지 직접 계산한 매트릭스 트랜스폼으로
화면에 폴리건이 출력되자 얼마나 짜릿했던지...
누구나 3D 프로그래밍을 할 때 최초로 보게 되는 화면이지만,
눈 앞에 삼각형 한 장이 빙빙 도는 장면을 보면서 너무나 뿌듯했었다.
삼각형 한 장은 며칠 뒤 캐릭터 한 명의 모습으로 바뀌었고,
다시 며칠 뒤에는 텍스처가 입혀졌다.
또 그 며칠 뒤에는 하이어라키가 구현되고, 그 뒤에는
애니메이션이, 그 뒤에는 버텍스 스키닝이... 거기까지 구현되는데 두 달
조금 넘게 걸렸었다.

ASE 파일의 구조중 가장 어려웠던 부분은 애니메이션이었다.
회전키들이 axis & angle로 기술되어 있는데,
이게 키의 종류에 따라서 절대치로도, 누적치로도 돼 있어서 꽤나 애를 먹었다.
이 과정에서 3D 입문자가 다들 한번씩 겪는
'신체 각부분이 사방에 따로 노는' 상태로 한참 좌절하고...

여담이지만, 당시에 3D 게임 만드는 사람들은 애니메이션을 퀘이크 1, 2처럼
버텍스 모핑식으로 하거나, 도스용 3ds의 VUE 정보를 쓰는게
좋다고 생각했다. (VUE 정보란게 뭐냐면, 각 프레임마다 매트릭스를
통째로 저장하는 방식이다. 보간은 커녕 하이어라키도 없는;;;)
각 회전키를 쿼터니언으로 보간(SLERP)하고 하이어라키를 따라 매트릭스를
거듭 곱해가는 정석적인 방법이 당시 국내게임에선 찾아보기 힘들었기 때문에
그 뿌듯함 역시 이루 말할 수 없었다. 요즘처럼 국산 3D 게임들이 기술력 높게
활약하고 있는 요즘 세상엔, 정말 호랑이 담배피던 시절 얘기처럼
느껴지지만...


덧글

  • 하늘지기 2008/03/06 11:09 # 삭제

    글만 읽어도 두근두근 합니다. :D
  • 버금 2013/02/22 02:54 #

    24때 벌써 게임 제작에 대한 생각이 다르시다..
※ 로그인 사용자만 덧글을 남길 수 있습니다.


링크