042. Go, Japan
항상 그렇지만 시대의 발전은 코딩 기술의 변화도 함께 가져왔다.
요구되는 능력의 변화와 함께.
그리고 그것은 하드웨어 사양의 변화가 가장 큰 이유였다.
예를 들어, 전설의 명작 ‘슈퍼뫄리오브라더스’의 게임 용량은 고작 40kb인데, 그것은 현대로 따지면 슈퍼마리오의 스크린샷을 찍은 이미지 파일의 용량보다 작다.
그 당시 하드웨어는 매우 낮은 용량을 가지고 있었기에 아예 프로그램이 그림을 그 자리에서 그려내는 식으로 구현했기 때문이었다.
그러나 시대가 지나고 용량이 커지면서, 굳이 그런 식으로 코딩할 필요가 없어지고 게임의 대부분의 그래픽 리소스는 이미지나 영상의 형태로 게임 안에 파일로 삽입되었다.
당연히 두 기술 사이에는 요구되는 스킬의 종류가 다르다.
그리고 민준의 스킬은 2020년도의 게임 제작 기술에 특화된 것이었다.
당연히 쓰는 코드 스타일이 다를 수밖에 없다.
민준은 머리를 긁적거렸다.
물론 민준은 기본적으로 작업할 때 자신 외에 다른 프로그래머가 작업하기 쉽도록 보통 코드보다 많은 분량의 주석을 줄줄이 친절하게 달아놓는 습관이 있긴 했다.
그러나 문제는 그 주석이 모두 한국어로 되어있었다는 것.
게다가 애당초 PS2 발매 같은건 전혀 고려하지 않고 엔진을 짰기 때문에, 저쪽에서 무엇이 문제가 된 건지 대략적으로 짐작이 갔기 때문이었다.
그리고 그건, 메일 한두 통으로 해결하기엔 꽤나 큰 문제였다.
“너보고 와달라는데, 어쩔래?”
상혁은 민준이 거절하면 PS2 발매를 포기할 의향도 있었다.
사실 이미 신작 개발이 들어간 상황에서 아무리 돈이 되어도 기존작과 관련된 업무에 시간을 투자하는 것이 낭비라고 생각되었기 때문이었다.
그러나 민준은 그런 상혁의 생각과는 다르게, 고개를 저으며 대답했다.
“가지 뭐.”
“뭐?”
“일본. 가자고.”
민준은 이번 기회에 일본 프로그래머에게 PS2 코딩에 대한 부분을 좀 배워볼 생각으로 상혁에게 일본행을 권했고 상혁은 그런 민준을 보며 다시 수화기를 들었다.
“저희 프로그래머가 간답니다.”
“오! 감사합니다! 대신 호텔이나 체류 비용은 그쪽 업체에서 지불한다고 하네요.”
“그래봤자 저희가 주는 외주비에서 나오는거 아닌가요?”
“그래도 외주비 따로 주고 호텔비도 따로 내는 것보다는 낫잖아요?”
“뭐, 그건 그렇지만···.”
“그럼 언제까지 오실 수 있으세요?”
“저희가 미성년자라 여권 발급 받으려면 부모님 동의도 필요하고, 지금 고등학생 신분이라 바로 방문은 좀 어려울 것 같네요. 좀 있으면 방학시즌이니 방학 하자마자 가도 될까요?”
수화기 건너편에서, 나츠는 미소를 지었다.
평소엔 40대 직장인같이 굴면서도 ‘부모님’이나 ‘방학’같은 이야기를 할때면 영락없는 고등학생 같은 느낌이었기 때문이었다.
“좋습니다. 아직 작업 개시된 것도 아니고, 그쪽에서도 체류 기간이 넉넉한 게 좋을 것 같다고 하니 천천히 진행하세요.”
“그럼 그렇게 하고 날짜 잡히면 연락드릴게요.”
“예. 저도 업체 측에 이야기 해 놓겠습니다.”
전화를 끊은 상혁은 한숨을 쉬더니 민준을 향해 몸을 돌렸다.
“가면 최소 1주일은 체류해야할 텐데, 신작 개발에 지장 없을까?”
“뭐 어차피 개발 마감도 없는데 이거 갖고 한두 주 지연된다고 큰 문제 있겠어?”
“그건 그렇네.”
회귀 이후 가장 적응이 안 되는게 이것이었다.
누구도 마감을 재촉하지 않는다는 거.
그래도 사축 짓하다 과로사 했던 시절의 습관이 몸에 배여 있기에 상혁은 항상 오버페이스로 일하는 게 몸에 배여 있었고, 그건 민준도 마찬가지였다.
그래서 이런 식으로 이따금씩 ‘마감이 없다’라고 상기시키지 않으면 자신도 모르게 예전에 일하던 페이스로 일하게 되는 것이다.
‘설렁설렁 개발하자고 자꾸 생각하는데도 습관 때문에 안 되네.’
상혁은 속으로 쓴웃음을 지으며 다시 기획서로 눈을 돌렸다.
그리고는 아까보다는 조금 느려진 속도로, 기획서를 작성하기 시작했다.
***
아타리 붕괴 이후 세계 게임 콘솔 시장을 지배하기 시작한 일본에서 콘솔 개발자를 찾는 것은 그리 어려운 일이 아니었다.
꽤 많은 기업들이 콘솔 게임을 개발하고 있었으니까.
그러나 단지 사람이 많다 뿐이지 그것이 콘솔 개발이 쉽다는 이야기는 절대 아니었다.
2020년에야 메이저 게임엔진인 유니티와 언리얼 모두 콘솔 개발을 지원하기 때문에 콘솔 게임을 PC로 내거나 PC게임을 콘솔로 내는 것이 그리 부담스럽지 않은 시대라고 할 수 있었지만, 1999년엔 그런건 없었기 때문이었다.
게다가 민준이 익숙하다는 이유로 api를 윈도 전용인 DirectX로 쓰는 바람에 당시 OpenGL을 주로 사용해야했던 PS2로 포팅하려면 거의 다시 개발해야하는 수준이었다.
게다가 마리의 눈물을 제작할 당시, 민준은 딱히 쓸만한 상용 엔진도 없고, 2d게임을 만들기 위해서 당시 몇 억씩 하는 언리얼 엔진을 갖다 쓰는 것도 이상하다고 생각하기에, 마리의 눈물의 모든 부분을 자신이 직접 만든 자체 엔진으로 구현하고 있었다.
당연하게도 그 엔진은 말 그대로 마리의 눈물 전용이었고 PS2로의 이식 같은 건 전혀 고려하지 않은 상태의 구조로 작업되어 있었다.
거기에 안 그래도 PS2는 4MB밖에 되지 않는 낮은 비디오 메모리 때문에 텍스쳐 퀄리티를 올리기 매우 불리한 구조의 머신이었다.
오히려 8MB의 드림 캐스트보다 텍스쳐 부분에서는 성능이 더 떨어질 정도.
오죽하면 성능이 더 좋음에도 불구하고 당시 인기 있던 2d게임들이 대부분 드림캐스트를 메인으로 삼을 정도였다.
물론 그 괴랄한 개발 난이도가 PS3때 더 악화되면서 2는 선녀취급받게 되긴 했지만, 그것을 감안하더라도 4MB의 비디오 메모리는 좀 선을 넘는 사양이긴 했다.
서로 돌아가는 구조가 완전히 다르고 메모리를 관리하는 방식도 다르기 때문에 일본의 프로그래머 기무라 요헤이는 처음엔 시간이 조금 걸리더라도 아예 PS2에 맞춰서 새로 만드는 수준의 작업을 각오 하고 있었다.
어차피 한국의 고등학생이 만들었다는 코드 수준이야 뻔할 테고 대충 보고 비슷하게 굴러가게 다시 짜면 된다고 생각한 것이다.
그러나 소나 담당자인 나츠를 통해 전달받은 소스코드를 뜯어본 기무라는 굴러가는 것은 확인 되는데 이게 대체 어떻게 굴러가는지 도저히 파악이 안되는 코드들을 보며 이건 자신이 건드릴 수 있는 영역의 코드가 아니라는 생각을 했다.
물론 매 코드마다 엄청난 양의 상세한 주석들이 달려있기는 한걸로 봐서, 이 코드를 작성한 당사자는 이 괴랄한 코드가 어떻게 돌아가는지에 대해 완벽하게 이해하고 있다는 걸 알 수 있었다.
문제는 그 주석이 전부 한국어라는 것.
당시엔 파파고나 구글번역기도 당연히 없던 시절이기에, 기무라는 한글 사이로 어렴풋이 보이는 함수명이나 명령어를 통해 이 괴상한 프로그래머가 어떤 스타일을 가지고 코딩을 진행했다는 사실을 파악했다.
그러나 그것도 도움이 전혀 되지 않는게, 단순히 그냥 ‘스타일 있게 작업했다’라는 사실만 알게 된거지 그게 어떤 스타일인지는 이해가 가지 않았기 때문에 결국 나츠에게 도움을 청한 것이었다.
사실 코드라는 게 억지로 어렵게 쓰지 않는 이상은 시간 들여 파악하면 파악이 가능하기는 하지만, 얼마가 걸릴지 모르기 때문에 파견을 요청한 것이었다.
당연히 이 이야기를 꺼냈을 때 사장은 기무라를 보며 굉장히 놀라는 반응을 보였다.
“PS1때는 더 쓰레기 같은 것도 작업했었잖아? 근데 이건 어렵다고? PS2가 그렇게 어렵나?”
처음에 사장은 이게 PS2의 개발 난이도 때문인 줄 알았다.
그러나 기무라는 사장의 이야기에 고개를 저었다.
“차라리 딱 보기에 쓰레기면 아예 기획서 받아서 일부만 새로 작업하는 식으로 할 텐데, 이거는 코드가 얼마나 빡빡한지 한군데 건드리면 여덞군데가 터져요. 저보다 실력 있는 프로그래머가 짠 코드같아서 함부로 손도 못 대겠고요.”
“불러오면 해결은 되고?”
“그 정도 실력 있는 사람이 와서 도우면 해결이야 되겠죠. 거의 괴물급이던데.”
“좋아. 그럼 담당자 통해서 연락 해볼게.”
그렇게 대화 한지 얼마 되지 않았는데, 사장은 오케이가 떨어졌다며 이 신비의 고등학생이 회사로 방문할 것이라고 알려주었다.
“좋았어. 그 녀석.”
자리에 앉아 ‘우드득’하고 손가락을 꺾으며 기무라가 말했다.
“그럼 그 괴물이 올 때까지 난 이 코드를 최대한 뜯어봐야겠군. 분명 이정도 코드를 짜는 인간들이니 지금도 열심히 개발을 하고 있겠지? 나도 질 수 없지!”
기무라도 프로그래밍 자체는 중학생때 시작했지만 고교생 시절에 이정도 코드를 짤 능력은 없었다.
대체 어떻게 공부한것인지 꼭 물어봐야겠다고 생각하며, 기무라가 의지를 불태우는 사이 이 코드를 만든 당사자들은 한참 열정적으로 회의에 임하고 있었다.
“아, 저도 데려가요! 어떻게 오빠들만 일본 여행을 간다고 할 수 있어요?”
“아니, 가지 말라는 게 아니라 가려면 부모님 동의가 있어야하니까 그걸 받아 오라는거잖아!”
“우리 부모님은 제가 게임만드는 거 모르신단말이예요!”
“그럼 못 가는거지.”
“으아아 그걸 어떻게든 해주셔야죠! 팀장이시잖아요!”
“뭐? 이 씨 내가 팀장이라고 정부가 못 가게 법으로 막는 걸 어떡하라는 거야!”
“흑흑···. 나도 가고 싶은데···.”
“근데 상혁아, 그렇게 따지면 나도 집에서 매일 야자하는 줄 알어. 게임제작 땜에 해외 출장 간다고 하면 어떻게 될지 모르는데···.”
상혁이 미간을 좁히며 고민에 들어가자 팀원들이 모두 기대에 찬 눈빛으로 상혁을 바라보았다.
보통 상혁이 저 표정을 지을 때는 위기를 타파하는 좋은 아이디어가 나올 때가 많았기 때문이었다.
그리고 상혁은, 이번에도 어떻게든 해결 할 수 있는 방안을 떠올려냈다.
“그냥 부활동의 일환이라고 하고 때우자.”
“뭐?!”
“그 뭐냐 다들 지금 부활동 뭐하고 있다고 거짓말 해 놨어?”
상혁의 질문에 민준이 답했다.
“나는 일단 컴퓨터부···.”
“저는 미술부요.”
“나도 컴퓨터부니까 현주 선생님한테 공문서 날조해가지고 부활동의 일환으로 해외 출국해야한다고 하자.”
“선생님이 해줄까? 아무리 그래도 그건 선 넘는 거같은데?”
“그건 내가 어떻게든 해 볼게.”
그렇게 말한 상혁은 그 길로 교무실에 현주를 찾아갔고 한참의 시간이 흐른 후 현주에게 세장의 프린트를 받아 게임부실로 돌아왔다.
그렇게 상혁이 받아온 프린트를 받아든 팀원들은 잠시 후 감탄사를 흘리며 상혁을 바라보았다.
“이야. 절묘하네.”
장황하게 써진 프린트는 교묘하게도 그 부활동이 어떤 부활동인지에 대한 부분은 쏙 빠진채로 ‘실력 증진을 위해’ ‘세계로 나아가 인생 경험을 쌓고’ 등의 애매모호한 단어로 점철되어 있었다.
거기에 일본 현지에서 체류비를 지원한다는 부분까지 쓰여 있었는데 그게 게임회사라는 부분은 쏙 빠져있어 프린트만 봐서는 마치 일본의 어느 학교와 자매결연으로 방문하는 것처럼 쓰여 있었다.
필요한 내용은 다 있는데 결정적인 부분은 하나도 설명이 되어있지 않아 결과적으로 거짓말은 하나도 안하게 되는 그런 교묘한 문서에 서연과 민준은 고개를 끄덕이며 상혁에게 말했다.
“이정도면 되겠다. 뭐 거절할 명분이 없겠는데?”
“어후, 오빠 요즘 변호사 사무실 다닌다더니 언제 이런 기술을···.”
“사실 나도 면피가 좀 필요한 상황이라 어쩔 수 없었어. 허락 못 받으면 나도 못가거든.”
내면은 40대 아저씨의 영혼을 가지고 있지만 엄연히 법정 미성년자인 상혁과 민준이 해외로 나가려면 반드시 비자를 얻어야했다.
그러나 법정 미성년자는 비자 발급할 때 반드시 부모님의 동의가 필요하기에 어쩔 수 없이 이런 방법을 쓸 수 밖에 없었다.
“문제는 그거 야. 일단 우리가 발급받을 수 있는게 관광비자밖에 안되서 거기서 영리활동을 못하게 되어있어.”
“흠. 거기서 작업하는 건 일단 무보수로 작업하게 된다는 거지?”
“그렇지. 우리가 작업해주는 만큼 나중에 지불하는 외주비에서 할인을 받던가 하는 식으로 이야기를 해봐야겠지만···.”
“난 딱히 상관없어.”
“저도요.”
“서연이 너는 그냥 놀러 가는거잖아.”
“헤헤···.”
사실 노는 것도 개발의 일환이라고 생각하고 있었기에 상혁은 그런 서연을 뭐라 탓할 생각은 없었다.
오히려 안가고 작업하겠다고 하면 억지로 끌고 갈 생각이었으니까.
“그럼 일단 가는 부분은 해결될 거같고 남은 문제는 하나네.”
“어? 뭐 남은 문제가 있어요?”
“어. 우리가 받을 수 있는 비자는 관광비자고 기본적으로 관광비자로 출국하면 영리활동이 불가능하니까.”
“무보수로 작업해주면 된다며?”
민준이 묻자 상혁은 고개를 저었다.
“니 작업을 얘기 하는 게 아니야.”
그리고는 탁자위에 얇은 책자를 한 권 던져 넣었다.
“겨울인데 우리 게임도 여기 나가볼까 생각중이라서 그렇지.”
상혁이 던진 책자.
그것은 바로 얼마 전 여름에 성황리 행사를 마친 일본의 56회 코믹마켓의 카달로그였다.