지난 24일 디스이즈게임 자유게시판에 ‘실시간 게임 번역기를 만들어봤습니다’는 글이 올라왔다. 이 글에는 MORT(Monkeyhead’s OCR Realtime Translate)라는 실시간 번역기의 짧은 시연영상과 함께 간단한 소개 문구와 블로그 주소가 담겨 있었다.
시연영상에 나온 MORT는 후킹 프로그램과 비슷했다. 하지만 소개글에 남겨진, ‘하는 것이 아니라 화면에 출력되는 글자를 그대로 읽어 들인다’는 설명이 호기심을 자극했다.
실제로 알아보니, MORT는 단순히 화면의 글자를 읽어 실시간 번역만 하는 게 아니었다. 마치 영화 자막처럼 게임 전용 자막을 지원한다. 이를 통해 상대적으로 손쉽게 번역작업을 할 수 있으며 번역기보다 정확한 완성도의 결과물을 얻을 수 있다.
디스이즈게임은 MORT를 개발한 프로그래머 김무영(안양대학교 4학년)과 디자인과 UI를 담당한 디자이너 임재옥(프리랜서)을 만나 MORT에 대해 이야기를 들어 봤다. /디스이즈게임 남혁우 기자
* MORT는 김무영 씨의 블로그(//killkimno.blog.me/)에서 관련 정보와 함께 공개되고 있습니다.
왼쪽부터 디자인 및 UI를 담당한 프리랜서 디자이너 임재옥과 메인 프로그래머 김무영.
실시간 번역 프로그램 MORT를 만들게 된 계기는 무엇인가?
김무영: 말하기 조금 부끄러운 부분이다. 게임 개발 공부를 하고 있어서인지 어느 날 주변 친구가 게임 매크로를 만들어달라고 부탁했다. 그래서 매크로를 만들다 보니 점점 기능을 추가하는 것에 재미를 붙였다. 나중에는 화면에 표시되는 문자를 읽어 들이는 OCR 기능을 이용해 누군가 나에게 말을 걸면 이를 인지해서 휴대폰으로 알람이 오게 만드는 기능도 넣었다.
매크로를 만든 것까진 좋았지만 이것을 당당하게 포트폴리오나 졸업 작품으로 내놓을 수 없는 없었다. 그래서 앞으로 무엇을 만들지 고민하고 있던 와중에 매크로를 만들 때 사용했던 OCR의 기능이 괜찮은 만큼 이를 활용한 실시간 번역기를 만들어보면 좋겠다고 생각했다.
하지만 혼자서는 개발하기 힘들 것 같았기 때문에 주변 사람들을 끌어모아 4명이 개발하던 중 임재옥 씨가 참가하면서 총 5명이 개발하게 됐다.
MORT 시연영상
이미지 형태의 글자를 읽어 번역하는 방식이 독특하다. 공개 후 유저들의 반응은 어떤가?
김무영: 이런 방식의 번역 프로그램이 지금까지 국내에 거의 없었다는 것이 더 의외였다. MORT를 공개했을 때 일본어도 번역이 되냐는 문의가 제일 많았다. 그래서 가끔 처음부터 일본어로 시작하는 것이 좋지 않았을까 하는 생각을 하기도 한다.
임재옥: 사실 언어에 맞춰 폰트를 추가하면 되기 때문에 일본어 지원은 큰 문제는 아니었고, 실제로 1.02 버전에서 추가했다. 다만 일본어 인식률이 높진 않아서 완벽하게
구현된 상황은 아니다. 그리고 시간이 걸리긴 하지만 필기체 등 파악하기 어려운 문체도 이미지를 추출해 학습시키는 것도 가능하다.
1.02 버전으로 업데이트 되면서 영어 외에 일본어 번역도 지원한다.
두 사람은 처음부터 알고 지낸 사이가 아니라 개발 도중에 만난 것인가?
김무영: 처음 서로를 알게 된 곳은 군대였다. 둘 다 공군으로 인트라넷에 있었던 VGF(비디오게임포럼)에 글을 올리면서 친해졌다. 거기에서 주로 게임 리뷰를 올리거나 서브컬처에 대한 이야기를 나누곤 했다. 아쉽게도 VGF는 기무사령부에 알려지면서 지금은 사라졌다.
실제로 군대 안에서 만난 적은 없었다. 얼굴이라고 해봐야 인트라넷에 올린 사진으로만 봤는데 군대인 만큼 다들 짧은 머리에 비슷하게 생겨서 구분은 잘 안 됐다.
임재옥: 개인적으로는 VGF에서 엑셀로 TRPG를 만드는 팀이 있어서 참가하기도 했다. 하지만 개발 시작하는 첫날 걸리는 바람에 수포로 돌아갔다. 밖으로 갖고 나왔으면 좋았을 텐데 데이터를 담을 장치가 없었다.
VGF 외에도 계급이 낮을 때는 몰래 그림을 그리기도 했고, 계급이 올라서는 당직근무를 서면서 게임 관련 공부를 하거나 그림을 그리기도 했다. 오히려 군대 안이라 공부할 맛이 난 것 같기도 하다. 하루는 간부의 명령으로 컴퓨터를 정리하던 중에 누군가 만든, 0과 1로만 그래픽을 구성한 RPG를 발견했다. 한국에도 알게 모르게 게임 개발을 공부하는 사람이 많은 것 같다.
실제로 서로 만나게 된 계기는 김무영 씨가 운영하는 블로그 포스팅이었다. 어느 날 그가 게임을 만든다고 글을 올리길래 함께하자고 연락했다.
MORT와 비슷한 번역 프로그램으로 후킹 프로그램이 있다. 차이점은 무엇인가?
김무영: MORT는 OCR로 화면에 출력되는 글자의 이미지를 읽을 뿐 전혀 프로그램을 건드리지 않는다. 그래서 게임이 윈도우 화면에 텍스트를 뿌리려는 요청을 빼내는 후킹 프로그램이나 게임 속 데이터를 변조해 한글을 집어넣는 패치 작업과 달리 저작권 등 법적인 부분에서 문제가 없는 것이 장점이라고 생각한다.
MORT는 실시간 번역기인 동시에 많은 사람들이 쉽게 번역을 할 수 있는 툴이라고도 할 수 있을 것 같다. 인터넷 번역기로는 양질의 번역을 기대하기 어려운 만큼 마치 영화의 자막처럼 유저가 직접 번역한 데이터를 읽어들이는 기능도 추가했다.
더 자세히 설명하자면, MORT는 빙이나 구글 등 웹 번역기를 통한 실시간 번역 외에도 게임을 플레이하면서 읽어들인 단어을 텍스트 파일로 저장하는 DB 모드를 지원한다. 저장된 단어에 맞춰 번역된 내용을 텍스트 파일에 넣어주기만 하면 MORT는 자동으로 번역된 단어를 게임에서 출력한다. 즉, 텍스트 파일이 바로 영화 자막이라고 할 수 있다.
원본 게임의 소스파일이 필요하거나 프로그래밍 기술이 없어도 되기 때문에 접근성이 높다. 유저는 그저 맞는 해석한 내용만 텍스트 파일에 입력하면 된다. 영화 자막처럼 싱크를 맞출 필요도 없다.
MORT는 유저가 손쉽게 직접 게임용 자막을 만들 수 있는 DB 모드를 지원한다. 이를 통해 보다 정확한 번역이 가능해지고 많은 유저가 번역 활동에 참여할 수 있는 계기를 만들었다.
임재옥: 후킹 프로그램이 많이 쓰이고 있는 만큼 디자인 측면에서는 참고하기도 했다. 하지만 내부구조나 특징은 다르다. 그리고 개발할 때는 생각하지 못했던 부분인데 별도의 기기에서 구동하기 때문에 내부 소스를 건드리거나 후킹이 불가능한 콘솔게임도 번역할 수 있다는 장점이 있다. 실제로 한 유저가 캡처보드로 PC에서 콘솔게임 화면을 띄운 후 MORT로 글을 읽어 들여 번역하는 모습을 보고 놀라기도 했다.
유튜브 영상이나 그림, 만화책 등 화면에 뿌려지는 모든 글자 이미지를 번역할 수 있기 때문에 게임이 아닌 다양한 곳에서 활용할 수 있다는 것도 장점이다. 게다가 우리만으로는 모든 게임을 번역할 수 없는 만큼 많은 사람들이 쉽게 번역작업에 참가할 수 있다는 점도 여러모로 유리한 것 같다.
MORT는 DB 모드 덕분에 코딩이나 프로그래밍 지식이 없어도 영화 자막을 만들 듯이 번역할 수 있는 것이 특징이다. 이 기능을 추가하게 된 계기가 궁금하다.
김무영: 실시간 번역기는 졸업 작품으로 만들려는 목적이 있었다. 그래서 일단 6월에 학교의 중간검수를 한 번 받아야 했다. 하지만 당시 MORT는 OCR을 활용해 화면에 표시되는 문자를 읽어 들이는 기능은 구현됐지만 번역기와의 연동은 아직 제대로 만들어지지 않은 상황이었다. 게다가 아시다시피 빙 번역기의 성능이 그다지 만족스럽지 않기 때문에 번역이 되더라도 완성도가 아쉬웠다.
그래서 당시에는 번역기라고 만들었는데 정작 번역이 제대로 되지 않았다. 그래서 이를 보조하기 위해 화면의 문자을 읽어 들인 후 이에 해당하는 정확한 번역을 찾아 화면에 뿌려주는 DB 모드를 임시로 만들게 됐다.
MORT를 만들면서 어려웠던 부분이 있다면?
김무영: 검색 알고리즘, OCR, 기계학습 등 관련 자료를 찾기가 힘들었던 게 가장 어려웠다. 특히 OCR은 한국에 관련자료가 거의 없었다. 그래서 영문을 비롯해 독일어 사이트 등을 번역하며 관련 기술을 찾아봤다.
OCR의 문자 인식률을 개선하고 DB 시스템을 만들고 알고리즘을 어떻게 짜야 할지 고민도 많았다. 가장 중요한 것은 실시간 번역인 만큼 처리속도를 향상시키는 것이었다. 이러한 문제점을 모두 해결할 만한 방법이 없냐고 친구에게 물으니 무슨 국책 프로젝트 하냐고 반문하더라.
현재 1.02 버전까지 나왔다. 목표치의 얼마나 달성한 것인가?
김무영: 일단 초기 목표는 이뤘다고 생각한다. 다만 중요한 목표 중 하나가 게임 화면의 대사창 위에 번역창을 입히는 것이었는데 아직 이 부분은 완성하지 못했다. 이 밖에도 글자가 아닌 부분을 잘못 가져오거나 배경과 글자를 잘 인식하지 못하는 등의 문제도 있기 때문에 앞으로도 디자인 측면이나 기술적인 측면에서 손봐야 할 부분이 많이 남아 있다.
임재옥: 나중에 전체화면을 지원하거나, 자막에 색을 넣거나 움직이게 만드는 스타일리시 자막기능을 추가할 수도 있을 것이다. 다만 시간이 필요한 만큼 정확히 언제 공개할 수 있을지는 모르겠다.
MORT를 상업적으로 판매할 계획도 있나?
김무영: 그건 잘 모르겠다. 일단은 완성하는 것이 최우선 목표다. 판매는 나중에 생각해도 될 것 같다. 이런 번역 프로그램의 시장성이 얼마나 되는지도 모르겠다. 그저 지금은 만들고 싶어 만드는 것 뿐이고 결과물도 딱 졸업 작품 수준이라고 생각한다.
MORT의 개발이 끝난 이후의 계획은 무엇인가?
김무영: 예전에 만들다가 잠시 중단한 게임 개발 프로젝트를 다시 시작할 계획이다. <엑스컴>과 비슷한 방식으로 연구를 통해 외계인을 물리칠 방법을 찾는 게임인데, 전투는 보드게임 방식을 만들 계획이다.
이 게임을 만들어서 판매가 잘되면 그것도 좋겠지만 취업을 위한 공부와 포트폴리오를 갖추기 위한 부분으로도 생각하고 있다. 각 부분을 나눠서 공부하는 것보다 직접 게임을 만들어 봐야 전체적인 프로세스 등을 이해할 수 있어 더 공부가 된다고 생각한다.