남코에서 만드는 게임 중에 테일즈 시리즈가 있다.
거의 1년에 한 작품을 낼 만큼 다작하는 게임 제작사인데 세계화에 대한 필요를 못 느끼는지, 다국어화에 그리 적극적이지 않다.
얼마전에 관심을 가지는 작품으로 테일즈 오브 리버스가 있다.
이 게임이 한국에 정발되었음에도 자막조차 한글화 되어 있지 않다.
초,중,고 기초 교육을 받아서 알파벳은 어느정도 읽고 쓸 줄 아나, 일본어는 거의 젬병인지라 접근하기가 쉽지는 않은 게임이다.
혹시나 싶어 인터넷을 뒤져 봤더니 영어로 번역작업은 진행중인데 진행 속도가 달팽이가 풀 뜯어 먹는 속도보다도 느린 듯 하다. 이 영상(https://www.youtube.com/watch?v=8k3rn9PD9GU&t=963s) 이 2년전껀데, 아직도 정식 배포를 하고 있지 않다.
요즘 시대가 A.I. 시대이기도 하고 그쪽 분야에 새끼발가락 발톱만큼 걸치고 있기도 해서 재미있는 아이디어가 떠올랐다.
- 에뮬레이터를 켜서 스크린샷을 찍는다.
- 스크린샷에서 OCR로 텍스트를 추출한다.
- 텍스트를 번역한다.
물론 이 작업을 수작업으로 일일이 하면 게임을 도저히 즐길 수 없기 때문에 자동화 하는 프로그램 개발에 착수했더랬다.
1. 일단 에뮬레이터 스크린샷 찍는것 부터 난관이었는데, 에뮬레이터가 화면 출력을 할 때 그래픽 가속을 하는경우, 일반적인 방법으로는 스크린샷이 안 찍힌다. 그냥 시커먼 화면만 나올 뿐이다. 좀 전문적으로 표현하자면 그래픽 가속을 하는 경우 프레임 버퍼를 사용하지 않고 바로 비디오 드라이버로 데이터를 전송하기 때문에 프레임버퍼를 복사 해 봤자 까만 화면이다.
때문에 팔자에도 없는 DirectX 코딩 방법을 익혀서 스크린샷을 획득하는데 성공했다.
여기까지 성공해서 빛이 보이나 했는데...
2. 이미지에서 글자를 뽑아내는 OCR에서 좌절감을 맛봤다. 일본어는 한자를 많이 쓰는데다가 글자가 비슷비슷하여 OCR로 글자를 읽어봐도 생각보다 정확도가 떨어진다.
처음 사용했던 A.I. 엔진은 Tesseract였는데, 무료로 얻을 수 있는 일본어 모델로는 거의 텍스트를 추출하지 못한다.
어느정도 글자를 뽑아내는 Tesseract 모델로는 IronOCR에서 제공하는 좋은게 있었는데 이건 너무 비싸서 엄두가 안 났다.
두 번째로 시도한 방법은 Microsoft에서 제공하는 OCR이 있었는데 일단 일본어 언어팩을 전부 다운로드 해야 했으며 (오래 걸렸다) OCR API를 UWP (윈도우 통합 프로그래밍 환경)으로만 제공하고 있어서 이걸 사용하는데 정말 애 먹었다. (마이크로소프트 이놈들은 개발 환경을 계절 옷 바꾸듯 너무 쉽게 갈아치운다. Win32API -> MFC -> .NetFramework -> .NetCore -> UWP)
어쨌든 이놈을 써서 약 80%의 정확도로 텍스트를 추출하는데 성공. (그나마 다행인가...)
3. 번역기는 마이크로소프트의 Azure를 이용해 봤다.
하지만.
번역이 개판이다.
직접 번역해 보면
베이그 : 누구냐...... 내가 누군지 알고는 있는거냐......
OCR + 번역의 결과물은
何 者 だ ・ ・ ・ ・ ・ ・ な ぜ オ し の ′ /名 前 を 知 っ て い る ・ ・
마이크로소프트: 누구시죠?
으음...
웹 브라우저를 열어서 번역 사이트에 저 문장을 번역시켜봤다.
파파고 : 누구냐 · ・ ・ ・ · ·나 미오시 의′/명 앞을 알고 있다 · ·
구글 : 누구야 · · · · · · · 왜 오시의 '/ 이름을 알고있다 ...
음으으음... 아마 OCR의 오타 + 히라가나를 가타가나로 쓴 부분 때문에 대부분의 번역기에서 번역을 제대로 못하지만 그래도 마이크로소프트는 너무 심하다.
이것도 직접 번역하면
마오 : 염려하지 않아도 돼. 우린 한 편이니까. 이리 와서 얘기좀 하지 않겠어?
OCR (이정도 결과물을 뽑아내는데 10여번의 재시도가 필요했다.) 의 결과물과 번역은
\ 心 配 し な く い い よ 。、 ボ ワ た ち は 仲 間 さ 。っ ち へ 来 て 話 を= , 聞 い て く れ な い ガ な ?
마이크로소프트 : 조심하지 마십시오. , 보와 등은 중간에 있습니다. っ ち へ 来 て 話 を = , 듣다 て て く れ い ガ な ?
음... 조심하지 말라니... 보와 등은 또 뭔지...
일본어를 웹페이에서 번역하면.
파파고 : 걱정해라 좋다 요, 보와타 우리는 친구 자. 치 에 와서 이야기를 = , 문 가다 나는 할 수 없다 가나?
구글 : 걱정하지 마세요. 하지만 보와 는 동료 이다 . 어서 와서 이야기 를 = , 듣지 않겠 니 ?
하아...
결론 : 3일간 밤잠 줄여가며 진행했던 프로젝트는 실패. 아직은 이른 방법인 것 같다.