그린툰 최신 접속주소바로가기
100% 동네 섹파 구하기 바로가기 [AD]토토커뮤니티 NO.1 먹튀검증 토토사이트 추천 바로가기

34회 - 새로운 추진력

황제국은 스튜디오 X에 전달할 문서 작업을 시작했다. 우선 기존 삼국지의 구성에 판타지 색채를 입힌 세계관을 짰다. <판타지 삼국지>는 엘프와 오크가 나오는 서양 판타지가 아니라, 무공과 진법, 도술을 사용하는 동양 판타지였다.

동양 판타지 세계관을 기반으로, 기존 병과를 각색하고, 비행 유닛을 추가했다. 용과 매와 같은 비행 유닛이 추가되면 플레이어가 전투에서 고려해야 할 사항이 훨씬 많아진다. 지상 공격만 가능한 유닛 위주로 부대를 운영하다 갑자기 공중 유닛이 나타나면 큰 낭패를 보게 된다. 공성전의 양상도 달라진다.

그는 일단 떠오르는 대로 세계관과 새로운 유닛, 그리고 영웅 시스템을 설계했다. 모순되는 부분은 나중에 수정하면 되고, 우선은 최대한 빨리 초고를 내는 게 중요했다.

황제국에게 다년간 축적된 여러 디펜스 게임 경험과 농축된 판타지 세계관 배경지식이 있었기에 가능한 일이었다. 그는 자신만의 치트키이자 장점을 최대한 살려 누에가 실을 뽑듯 설정과 시스템을 작성했다.

그렇게 며칠 만에 기본 매뉴얼을 작성한 황제국은 오종석에게 매뉴얼 편집과 교정을 부탁했고, 차현주에게 몇 가지 스케치와 그림을 더 부탁했다. 그는 차곡차곡 진행되는 <판타지 삼국지> 기획안을 감독하면서, 스튜디오 X에서 오는 계약서를 검토했다.

스튜디오 X는 계약 체결 후 30일 안에 문서로 정리된 최종 기획안을 받아보길 원했다. 또한 그들은 게임 출시 전 황제국이 최소 두 번 일본을 방문해 개발 중인 게임을 보고 피드백을 주기를 요구했다. 물론 비용은 스튜디오 X 부담이었다.

메일을 통해 대용량 파일 전송도, 영상 회의도 불가능한 시기인 만큼 피드백을 위해서는 직접 가는 수밖에 없었다. 시간은 좀 아깝지만, 일본이야 비행시간도 편도 2시간 정도라 황제국도 OK 했다. <판타지 삼국지>가 잘 되는 것은 원작자인 그에게도 중요했다. 마침내 상호 합의를 마치고 후지타가 계약서를 들고 한국으로 왔다.

처음 만났던 호텔 커피숍에서 후지타는 다카하시가 미리 서명한 계약서를 내밀었다. 황제국은 후지타가 준비해 온 고급 만년필로 ‘황제국’이라고 서명했다. 남동진과 조윤권이 취재차 참가해 사진을 찍고, 짧게 인터뷰도 진행했다.

“만년필은 선물입니다. 앞으로도 저희와 계속 좋은 관계를 부탁드립니다, 미스터 황.”

“앞으로도 이 만년필로 서명할 계약서가 많으면 좋겠다는 뜻이군요. 고맙게 받겠습니다.”

황제국은 후지타에게 기획안 진척 상황을 알렸다. 이제 거의 완료되었으며, 일본어 번역 작업 정도가 남았다고 전했다. 후지타는 예상보다 너무 빨라서 깜짝 놀랐다. 황제국이 웃으며 말했다.

“제 기획보다 더 멋진 게임을 만들어 주세요.”

“최선을 다하겠습니다.”

마침내 계약을 완료하고 두 사람은 힘차게 악수를 나눴다. 후지타는 일본으로 돌아가고, 황제국은 기획안을 조윤권에게 번역을 부탁했다.

이제 스튜디오 X와의 일은 어느 정도 마무리를 지었다. 겨우 한숨을 돌린 황제국은 다시 학교로 향했다. 그는 캠퍼스 입구에서 벚꽃이 활짝 피어있는 걸 보았다.

“벌써 4월 중순인가? 시간이 언제 이렇게 흘렀지?”

스튜디오 X의 라이선스 일을 처리하다 보니 어느새 봄이 성큼 다가왔다. 그나마 황제국이었으니 한 달도 되지 않아 일을 처리했지, 보통이라면 계약서 검토에만 몇 달은 걸렸을 일이다.

그때 바람이 불자 가지가 춤을 추며 헤아릴 수 없는 벚꽃잎이 휘날렸다. 그가 흩날리는 벚꽃을 보면서, 머리로는 게임 생각을 했다.

‘만주에도 벚꽃이 있을까? 있겠지? 흩어지는 나뭇잎을 그래픽으로 그리려면 어떻게 처리하는 게 좋을까? 진수 선배랑 얘기해 봐야겠다.’

스튜디오 X와 계약을 처리하고, 전달할 문서 작업도 거의 끝내자 황제국의 두뇌는 태스크를 교체했다. 포커스는 다시 만주 웨스턴 FPS로 향했다.

벚꽃잎을 맞으며 동아리방으로 향하는 황제국의 발걸음은 가벼웠다. 그는 만주 웨스턴으로 발전시킨 FPS 게임의 문제를 이미 해결했다.

실마리는 우연치 않게 스튜디오 X로부터 나왔다. 후지타와 미팅을 하던 도중 계약금을 올릴 방법을 고민하다가 <삼국지:공성전>의 컨셉뿐 아니라, 만주 웨스턴 FPS의 멀티플레이어 난제까지 해법을 발견한 것이다.

이제 문제는 게임 엔진의 퀄리티였다. 동아리를 만들고 갑자기 스튜디오 X 일로 바빠지면서 황제국은 게임 엔진을 거의 챙기지 못했다. 아무리 끝내주는 아이디어가 있어도 게임은 기술 없이는 구현할 수 없다. 콘텐츠 역시 기술에 기반해 만들어야 한다.

황제국이 동방 문을 열자 키보드 치는 소리가 들렸다. 귀에 익숙한 이진수의 IBM 기계식 키보드 소리. 이진수가 코딩을 하고 있었다.

그는 공강 시간이면 언제나 동방에 와 있었고, 점심시간에는 혼자 김밥 한 줄과 바나나 우유 하나를 먹으며 코드를 짜고 있었다.

“선배님, 스튜디오 X랑 방금 계약 마쳤어요. 제가 그동안 게임 엔진에 신경을 많이 못 써서 죄송해요. 이제 저도 게임 엔진 개발에 본격적으로 들어갈게요. 선배님은 얼마나 진행하셨어요?”

“나? 나는 렌더러 마, 만드는 중.”

게임 엔진이 본격적으로 상용화되지 전이라 용어나 개념이 명확하지 않았다. 황제국은 이진수가 로우레벨 렌더러(Low-level Renderer)를 만들고 있다고 추측했다. 렌더링 엔진에서 가장 기초적인 부분으로, 눈에 보이는 3차원 물체를 그리는 기능이다. 그렇지만 로우레벨 렌더러에도 여러 기능이 있었기에 황제국은 진척 상황을 다시 물었다.

“조, 조명하고 텍스쳐가 아직 덜 됐어. 미안. 드드.”

“네? 그럼 렌더링 부분은 모두 마쳤다는 말씀이세요?”

“거, 거의.”

황제국은 깜짝 놀랐다. 그의 예상보다 진도가 훨씬 빨랐다. 일반적으로 3차원 렌더링은 몇 가지 단계를 거친다.

1. 게임 월드에 펼쳐질 다양한 물체를 수학을 통해 3차원으로 구성한다.

2. 게이머의 시점이 될 가상의 카메라를 적당한 위치와 방향에 놓는다.

3. 게임 월드에 다양한 광원(光源)을 비춘다.

4. 가상 카메라에 잡히는 물체의 질감을 결정하고, 질감과 빛의 상호작용을 표현한다.

5. 가상 카메라에 맺힌 이미지를 통해 모니터에 뿌릴 색과 밝기 등을 결정한다.

모든 과정이 중요하지만 특히 1번, 삼각형 조합으로 구성된 폴리곤(poloygon, 다각형)의 수많은 꼭짓점 계산이 그래픽 출력 속도를 좌우한다. 그리고 4번에서 광원과 텍스쳐의 상호 작용은 사물의 사실성을 결정한다.

그런데 이진수는 게임 월드에 수많은 오브젝트를 표시할 3차원 렌더링을 마쳤다고 했다. 이진수의 성격상 거짓말은 아닐 것 같았다.

“좀 볼 수 있을까요?”

“그, 그래. 테스트용 렌더링 데이터로. 므므.”

이진수는 대학원에서 돌아다니는 광활한 3차원 지형 데이터를 입수해 테스트에 쓰고 있었다. 그는 직접 개발한 렌더링 엔진으로 게임 월드를 렌더링했다. 펜티엄 2 CPU와 부두2 3D 가속기가 800x600 해상도에서 300만 개의 폴리곤을 순식간에 그려냈다.

“우와!”

황제국은 자기도 모르게 감탄했다. 아직 표면 텍스쳐가 없어서 수많은 삼각형이 연결되어 형태를 이루는 폴리곤 메쉬(polygon mesh)만 보였다. 그렇지만 삼각형 무리가 산맥과 바위 등의 지형을 뚜렷하게 표현하고 있었다.

울퉁불퉁한 지형과 바위, 길, 그리고 멀리 펼쳐진 언덕과 산맥까지. 비록 17인치 좁은 모니터에 그려진 수많은 녹색 선의 조합이지만, 황제국의 눈에는 장대한 만주 벌판이 보였다.

결과는 그의 예상보다 훨씬 뛰어났다. 이진수는 카메라 가까이 있는 사물은 자세하게 표현하고, 카메라에서 멀리 있는 사물은 다각형을 투박하게 쪼개서 연산 효율을 높이고 있었다.

“네, 네 말대로 그래픽용 SDK들 최, 최대한 활용했어.”

“다이렉트X, OpenGL, 글라이드 모두요?”

“으응. 조, 좀 버벅대는 부분은 내가 적당히 손 봤어. 브브브.”

“진짜 끝내 주는데요? 렌더링 엔진이 페라리 급이에요.”

“터보까지 달았지.”

이진수가 대체 뭘 어떻게 적당히 손 봤다는 건지 황제국은 감도 오지 않았다. 그가 이진수에게 물었다.

“혹시 카메라 움직일 수 있어요?”

“하, 할 수는 있어. 근데.”

황제국은 마우스를 움직여 카메라의 방향을 돌렸다. 복잡한 지형이 시선이 가는 데로 실시간으로 움직였다. 그런데 멀리 경계선 부분은 화면이 약간씩 밀렸다.

“아직 가시성 알고리즘은 적용 안 하신 거예요?”

이진수가 고개를 끄덕였다. 3차원 렌더링을 할 때, 렌더링을 시작하기 전에 먼저 진행해야 하는 절차가 있다.

바로 가시성 결정이다. 세상은 3차원이지만 우리는 세상을 볼 때 망막에 맺힌 2차원 이미지를 본다. 우리의 눈은 사물의 앞면과 뒷면을 동시에 볼 수 없다. 또한 물체가 무언가에 의해 가려져 있다면 그 역시 보이지 않는다.

그래서 게임 엔진은 그래픽으로 그릴 부분과 그리지 말아야 할 부분을 먼저 결정해야 한다. 그렇지 않으면 모니터에 출력하지도 않을 사물을 그리느라 가뜩이나 부족한 컴퓨팅 자원을 낭비하게 된다.

존 카맥은 <둠>에서 공간을 계속해서 반으로 나누는 이진 공간 분할(BSP) 방식으로 가시성을 결정했다. 이드의 FPS는 모두 실내에서 게임이 이루어지기 때문에 가장 빠르고 적합한 방식이었다. 아니, 기술 때문에 실내에서만 게임이 이루어졌다.

황제국이 이번에는 화살표 키로 카메라를 이동시켰다. 게임에서는 주인공 캐릭터가 움직이는 것이지만 사실은 카메라가 움직이는 것이다. 지형을 따라 시선이 움직이면서 가까이 다가가는 부분이 실시간으로 더 많은 삼각형으로 쪼개지면서 훨씬 디테일하게 표현되었다.

“우와···!”

그 모습을 지켜보는 황제국은 몸에 전율이 일어날 정도였다. 물론 그가 썼던 20년 후의 게임 엔진과 비교할 퀄리티는 아니었다. 하지만 98년에 대학교 학부생이 만든 수준이라고는 도저히 믿을 수 없었다. 이진수야말로 미래에서 온 게 아닐까 의심이 들 정도였다.

그러나 카메라를 계속 움직이자 렌더링 속도가 눈에 띄게 느려졌다. 황제국이 일부러 이리저리 움직여 보자 곧 화면이 뚝, 뚝 끊기기 시작했다.

“드드드드.”

이진수는 화면이 끊기자 컴퓨터가 연산을 소화하지 못하고, 메모리가 초과되어 시스템이 다운될 까봐 긴장해서 소리를 냈다. 황제국은 테스트는 충분한 것 같아 키보드에서 얼른 손을 뗐다.

“진짜 엄청 난데요, 선배님? 이 정도면 기획 중인 FPS 게임을 충분히 만들 수 있을 거 같아요.”

“예전부터 조, 조금씩 만들던 게 있어서.”

이진수가 대답했다. 그는 황제국이 최소 펜티엄 CPU 기반에 부두 그래픽 가속기를 기준으로 게임 엔진을 만들어 달라는 말에 신이 나서 작업했다.

그는 예전에 렌더링 엔진을 만들어 보았다. 하지만 CPU 성능의 한계 때문에 마음에 드는 렌더링 엔진을 도저히 만들 수 없었다. 그런데 이번 기회에 하드 디스크 속에 잠들어 있던 프로젝트를 되살린 것이다.

그는 펜티엄에 부두2 그래픽 카드를 갖춘 게이머가 얼마나 많은지 알지 못했다. 그렇지만 굳이 황제국에게 묻지 않았다. 그랬다가 개발 스펙을 낮추자고 할까 봐 겁이 났다.

존 카맥은 오직 CPU에 모든 연산을 맡겨야 했던 암흑 시기에 시대의 한계를 넘는 게임을 만들었다. 하지만 이제는 환경이 달라졌다. 이진수는 펜티엄2와 3D 가속기 조합의 컴퓨팅 능력을 한계까지 끌어내고 싶었다. 그래서 최고로 빠르고, 화려한 그래픽을 만들고 싶었다. 존 카맥과 방식은 달라도, 같은 목표를 향해 가고 싶었다.

그의 도전은 성공적이었다. 이진수도, 황제국도 3D 렌더링 속도에 만족했다. 황제국은 렌더링 엔진을 보자 가슴이 두근거렸다. 렌더링 엔진이 느리면 박진감 넘치는 FPS는 절대 불가능하다. 그렇지만 이정도라면 그가 구상하는 FPS를 만들 수 있을 것 같았다.

물론 앞으로도 갈 길이 멀었다. 가시성 결정 알고리즘을 적용해서 렌더링 파이프라인을 구축하고, 조명과 텍스쳐를 통해 사실성을 구현하고, 각종 특수 효과를 만들고, 물체들이 사실적으로 움직이도록 물리 엔진을 설계하고, 부드럽게 움직이도록 애니메이션 엔진을 만들어야 한다.

황제국은 이진수의 렌더링 엔진이 PC 외에도 다양한 플랫폼에서 돌아갈 수 있도록 범용적이고, 안정적이면서 빠르게 움직이는 코어 시스템을 만들어야 한다. 이진수의 렌더링 엔진을 보는 순간, 그가 생각했던 것보다 훨씬 강력한 게임 엔진을 만들 수 있겠다는 확신이 들었다.

황제국은 화이트보드로 가서 여러 알고리즘을 놓고 이진수와 토론을 벌였다. 그가 잠시 다른 일에 신경 쓰는 사이 뉴퀘스트의 게임 엔진에는 이미 시동이 걸려 있었다. 엔진의 회전수는 점점 빨라질 것이다. FPS 프로젝트는 새로운 추진력을 얻었다. 이제 아무도 이 엔진을 멈출 수 없었다.

오류신고

아래 오류에 해당하는 버튼을 클릭해 주시면 빠른 시일내 수정작업이 이루어 집니다.

갓겜의 제국 1998 - 갓겜의 제국-34화
[34 / 총265]

갓겜의 제국 1998 - 갓겜의 제국-34화

연재 총 265화