LiveMaker 추출 도전기
- -
※ 게임제작 및 한글화와 관련된 내용입니다.
한글화
LiveMaker
추출 도전기
도전 이유
LiveMaker는 일본의 무료 비주얼 노벨 제작 툴입니다. 아마 과거 포스트(http://etude87.tistory.com/72)에서 한 번 소개한적이 있는 제작툴로 Wolf RPG Editor(이하 울프툴)와 마찬가지의 방법으로 한글출력(http://etude87.tistory.com/115)을 성공했습니다. 한글 출력에 성공했으니 한글화 작품이 나왔으면 좋았으련만, 애석하게도 이후 아무 작품도 한글화 되지 못했습니다.
사실 이번 한글출력시도는 고봉도봉님(http://blog.naver.com/phillips33)께서 아방스 묻고 답하기 게시판에 문의하신 것이 그 시작이었습니다. 고봉도봉님께서는 리:킨더(Re:Kinder)를 비롯한 파룽(ぱるん)님의 유작을 번역하신 분으로 이번에는 '고테와 핸더'를 번역하고자 하는데 LiveMaker1로 제작되어 한글화가 가능한지 여쭙는 내용이었습니다. 그래서 어찌어찌 해본 결과 한글 출력까지는 성공했습니다만, 정작 중요한 문제는 다른 곳에 있었습니다. 게임의 배포전 프로젝트 파일을 얻을 수 없다는 것이었습니다.
파룽님은 4년전 투신으로 세상을 떠나신 분이시기에 그간 한글화의 허락은 파룽의 부친께 받으셨고, 작업은 배포이전 프로젝트 파일을 입수할 수 없기에 부득불 배포된 작품을 암호화 해체하는 방식으로 진행하셨습니다. RPG Maker 시리즈의 경우 암호화 해체를 통해 암호화 이전의 프로젝트 파일을 온전히 획득 가능하기에 특별히 별도의 암호화툴을 사용하지 않는 이상 손쉽게 수정이 가능했습니다.
그런데 이번에는 LiveMaker1로 제작된 작품이다 보니, 전에 없던 문제가 생기게 되었습니다. 제작자로부터 프로젝트 파일을 받지 못하는 상황에서의 한글화 시도이다 보니 한글출력을 성공한다 하더라도 수정이 불가능 한 것입니다.
그래서 결국 '고테와 핸더'는 대사집으로만 나오게 되었습니다. 한글화 되지 못한채로 대사집 형태로만 나오는 것은 상당히 안타까운 일이라 생각했고, 그간 사실 LiveMaker 작품에서 프로젝트 파일을 추출할 수 있는지 알아보았습니다.
arc_conv
우선 시도해 본 것은 arc_conv라는 프로그램입니다. w8m라는 러시아인에 의해서 개발된 프로그램으로 비주얼 노벨 제작툴인 LiveMaker 특성상 미소녀 연애 시뮬레이션(이하 미연시) 등을 제작하는데 용이하다보니 그 쪽 커뮤니티에서는 상당히 유명하다고 합니다. 사실상 정보를 얻은 것도 일본 2ch에서 미소녀 연애 시뮬레이션 게임에서 그래픽 소재 추출하는 방법을 논하는 게시물이었지요.
시도해본 결과 find_common.exe과 find_anime.exe로 LiveMaker 내부의 이미지 파일이나 영상 파일의 추출은 쉽게 되었습니다만, 정작 필요한 프로젝트 파일들을 arc_conv.exe로 꺼내는 것에는 실패했습니다. 생각해보자면 해당 커뮤니티의 목적은 충실히 달성해냈다고 볼 수 있겠습니다만, 이쪽은 추출 목적이 프로젝트의 수정이었기 때문에 완벽한 실패였습니다.
* arc_conv : http://honyaku-subs.ru/forums/viewtopic.php?f=17&t=470
exvff, exe2vff
두번째로 시도해 본 것은 exvff와 exe2vff를 사용한 LiveMaker 작품의 해체입니다. exe2vff를 사용해서 game.exe파일에서 game.dat을 추출해 내고, exvff를 사용해서 game.dat을 풀어내는 방식입니다. 시도는 성공했고, 내부 파일은 모두 드러났습니다만, 문제가 생겼습니다. novel.prj 파일을 비롯한 프로젝트 파일이 존재하지 않은 것은 물론이고, 내부 파일마저, 확장자가 *.lsc가 아닌 *.lsb로 되어 에디터에서 해당 해체된 파일들을 읽어올 수단이 없었습니다. RPG Maker 시리즈와는 달리 배포 과정에서 xml 형식으로 작성되었다는 프로젝트 파일에 맞게 파일이 변환되어버리기 때문에 게임을 해체한다 한들 수정이 불가능 한 것이었습니다.
혹시나 하는 마음에 새로이 프로젝트 작성 후 위에 해체된 파일을 확장자를 수정해 부어보긴 했습니다만, 역시나 핵심되는 프로젝트 파일이 없기에 아무런 의미 없는 시도였습니다. 다시 생각해보자면 이번 역시 해당 커뮤니티의 목적은 충실히 달성해냈다고 볼 수 있겠습니다만, 이쪽은 뼈아픈 2연패의 기록이었습니다.
* exvff : http://asmodean.reverse.net/pages/exvff.html
* exe2vff : http://www16.atpages.jp/rayna/exe2vff/
irl - LiveMaker3 Game Translation Toolkit
LiveMaker의 작품 번역에 대해서 관심이 있던 것은 비단 저만은 아니었고, 검색을 하다보니 2013년에 LiveMaker3로 제작된 게임의 번역 도구와 관련해서 Kickstarter 모금이 성공한 것을 찾을 수 있었습니다. 진행중인 작업물과 관련해서는 Bitbucket로 링크를 걸어두기도 했더군요. '고테와 핸더'는 LiveMaker1로 제작된 작품이기에 해당사항은 아니었습니다만, 혹여나 과거 버전에 대해서 지원을 해줄지도 모르므로 한번 살펴보았습니다만, 역시 아직은 아직은 작업 중이라 이걸로 뭘 할 수 있는 상태는 아니었습니다.
* LiveMaker3 Game Translation Toolkit Kickstarter Page : https://www.kickstarter.com/projects/1954411621/livemaker3-game-translation-toolkit
* irl Source Page : https://bitbucket.org/tinfoil/irl
추가 : 2014년 3월 11자 제작자의 블로그 포스트(https://tindabox.net/blog/2014/03/11/a-whole-new-world/)에 따르면 프로젝트는 취소되었고 기부받은 돈은 환불한다고 합니다. 생각해보니 이 포스트 작성하기 10여일 전에 발표된 내용인데다가 실질적으로 시도하기 시작한 시기보단 뒤에 나온 발표네요. 참, 타이밍도….
crass (2014.08.11. 추가)
LiveMaker를 crass라는 이름의 범용 추출툴로 가능하다는 이야기(http://www.hongfire.com/forum/archive/index.php/t-8143-p-6.html)에 한번 찾아보게 되었습니다. 조금 찾아보니 해외의 비주얼 노벨 번역 위키(http://tlwiki.org/index.php?title=Tools)에도 소개되어 있는 녀석으로 제작자의 블로그(http://galcrass.blog124.fc2blog.us/)는 찾았는데 툴 자체의 배포 링크는 모두 잘린 상태이더군요. 0.4.14.0 버전이 가장 최신 버전인데 다행히도 국내의 추출 관련 내용을 포스트하는 블로그(http://luciel04.tistory.com/10)에서 해당 툴을 찾을 수 있었습니다.
기쁜 마음에 당장 테스트 하려고 보니 추출이 불가능 하다는 소리에 이게 뭔가 싶어 최초의 쓰레드를 다시 읽어보니 LiveMaker.cui를 cui 폴더에 넣어야 한다는 이야기가 뙇! 명탐정 구글에 문의하니 LiveMaker.cui파일(http://www.sendspace.com/file/0103l3)도 손쉽게 구할 수 있었습니다.
CrageGUI로 언팩을 해본 결과 exvff와 exe2vff로 추출을 했을 때와 마찬가지로 *.lsb 파일들만 빵끗하는 터라 일단 실패. JCrage의 Extract Original 기능을 사용하고자 시도해 보았으나, 이쪽은 정상 작동이 되지 않아 마찬가지로 실패했습니다. '이번글은 이렇게 마칩니다.'라고 쓴뒤 5개월만의 재도전인데 역시나 실패로 돌아가네요. 소재 추출이 문제가 아니라 디컴파일을 통해 원본 프로젝트 파일의 복원이 중요하다보니 어렵네요.
* crass official blog : http://galcrass.blog124.fc2blog.us/
* 범용 분해툴, Crass 사용법. : http://luciel04.tistory.com/10
* LiveMaker.cui file : http://www.sendspace.com/file/0103l3
roxfan's python script (2014.08.18. 추가)
novelnews라는 포럼에서 roxfan이라는 유저가 Anyone familiar with Live Maker engine?라는 질문 게시물(http://forums.novelnews.net/showthread.php?t=23272)에 올린 python 스크립트를 사용해 보았습니다. 무리 없이 프로젝트 자체이 언팩이 되었으나 풀려나온 *.lsb 파일을 *.lsc 파일로 변환하는 것은 성공하는 듯 하였으나 일괄 22kb의 똥으로 변하는 것이 실패한 것 같습니다. *.txt 파일로 변환하는 것은 상당히 흥미로운데 이렇게 변환하면 일단 해당 파일을 통해서 이벤트를 읽어볼 수 있습니다. 여기서 읽는 다는 것은 프로젝트를 LiveMaker로 읽어 들인다는 것이 아니라 문자 그대로 텍스트를 눈으로 읽는 다는 뜻입니다. 풀어해친 그래픽 및 사운드 소재가 엔진에서 무리없이 등록된다면 그걸 보고 어떻게든 따라 제작할 수도 있지 않을까 하는 생각이 들기도 했습니다만, 게임 하나 한글화 하려고 게임을 하나 카피해서 제작하는 것은 다소 무리수가 아닌가 싶어 보류했습니다.
* Anyone familiar with Live Maker engine? : http://forums.novelnews.net/showthread.php?t=23272
Tools for unpacking Livemaker 3 games
본 포스팅에 Au님께서 제보해주신 LiveMaker3 언패킹 툴입니다.(그런데 '고테와 핸더'는 LiveMaker1이잖아? 안될꺼야 아마….) Princess Sacrifice라는 미소녀 게임의 영문화 작업 페이지에 툴의 링크가 걸려있다고 합니다. 저는 차후에 다른 버전에도 무리없이 적용되는지 테스트 해보도록 하겠습니다. 관심있으신 분은 아래 링크를 참고하세요.
* SDT-Guru : http://pastebin.com/fVtKQ2K1
마치며
결과적으로 이번 추출 도전기는 실패입니다. 사실 실패이기에 이렇게 공개해 이야기 할 수도 있는 것이긴 합니다. 권장할 것은 아닙니다만, 이번에는 공식 허가된 번역 과정에서 필요했던 것이라 부득불 한 번 알아보았습니다만, 지식과 능력이 짧아 이 이상의 진행은 하지 못했습니다. 혹시 해당 부분에 관련해서 해결책을 아시는 분이라면 고봉도봉님께 도움을 주시면 좋겠네요. 이번글은 이렇게 마칩니다.
소중한 공감 감사합니다