메인테마가 상당히 인상적이었던 게임인 디비니티 2의 한글화 가능성을 테스트해봤습니다.
최신 게임이니 폰트는 공개하지 않고 물고기 잡는 법을 알려드리겠습니다.
copyleft 정신에 따라 정보는 공개되어야 발전이 있는 법이니까요ㅎㅎ

일단 폰트가 Scaleform GFx로 되어 있습니다. 최신 게임들의 경향을 보면 ttf 파일을
그대로 사용하거나 DDS나 GFx를 폰트로 쓰는 경우가 상당히 많습니다. 고전 게임과는 달리
대부분은 멀티 바이트 출력 문제로 고민할 필요가 없으니 작업의 절반은 끝난 셈입니다.
ttf야 무료 폰트 중마음에 드는 거 하나 골라서 그대로 교체하면 끝이고 DDS는 문명 5 등에서사용되었는데 Nvidia에서 제공하는 포토샵 플러그인 파일도 있고 찾아보면 관련 정보나
툴이 제법 있으니 크게 어렵지 않습니다. 안 그래도 문명 5 같은 경우는 한글 폰트가
쏟아지고 있는 상황이죠.  문제가 되는 건 바로 GFx인데 앞으로도 상당한 대세가 될 것으로
보입니다만 홈페이지를 보면 최하 $25,000이나 하는 제품이라 비공식 게임 한글화하겠다고
이걸 구입할 수는 없는 노릇이고 평가판이라도 다운 받으려 했는데 그것도 업계 관계자가
아니면 받기가 어렵더군요. 뭐 방법이 없으니 그냥 포기하죠.

... 는 아니고 정보를 찾아보면 기본적으로 Flash의 swf가 압축된 포맷임을 알 수 있습니다.
그렇다면 Adobe의 플래시 프로그램으로 수정이 가능할까요? 불행히도 제가 플래시 
프로그램이 없어서 이 부분은 테스트해보지 못했습니다. 플래시 프로그램이 있으신 분들은
한번 확인해 주시면 감사하겠습니다.

플래시 프로그램이 없으니 다른 방법을 모색하도록 하죠. 좀 더 정보를 찾아보면 swfmill이라는 프로그램이 있다는 것을 알 수 있습니다. swf를 xml로 상호변환하는 프로그램입니다.
사용법은 readme.txt를 참고해 직접 터득하시고, simple 옵션을 사용해 ttf를 xml로 변환할
수 있으니 변환 후 원본 gfx를 xml로 변환한 것과 비교해 Glyph 부분을 수정한 후 다시
swf로 변환해서 해더를 고치면 한글이 추가된 gfx가 됩니다! (해더를 고치지 않아도 인식은
되며 xml로 보면 UnknownTag 부분이 있는데 게임마다 고유값이 들어가는 것 같습니다.)

간단하게 요약해보겠습니다.


플래시가 있을 경우 (미확인)
1) Flash로 폰트를 작성하거나 수정해 압축 swf로 저장
2) 저장한 swf를 xml로 변환해 원본 gfx를 xml로 변환한 것과 비교,
   필요한 데이터를 수정/추가
3) 수정한 xml을 swf로 변환
4) 변환한 swf의 해더를 gfx의 것으로 수정 및 확장자를 gfx로 변경


플래시가 없을 경우
1) swfmill로 ttf 폰트를 xml로 작성
2) 작성한 xml을 원본 gfx를 xml로 변환한 것과 비교,
  필요한 데이터를 수정/추가
3) 수정한 xml을 swf로 변환
4) 변환한 swf의 해더를 gfx의 것으로 수정 및 확장자를 gfx로 변경



** 2)의 경우 UnknownTag 부분이 있는데 게임마다 고유값이 들어가는 것 같습니다.
** 4)의 경우 해더를 굳이 고치지 않아도 인식은 됩니다.



자, 이렇게 작성해서 실제 게임에 적용 후, 대사 파일을 수정하면 한글이 출력됩니다.
저도 GFx는 처음 건드려 본 거라 Scaleform GFx SDK 없이 좀 더 간편하고 직관적인
방법이 있는지는 아직 잘 모르겠습니다. Scaleform GFx SDK를 다룰 수 있는 업계
관계자면 손쉽게 할 수도 있을 것도 같은데 과연 그러실 분이..ㅎㅎ
앞서 말한 것처럼 GFx는 언리얼 엔진과 함께 앞으로의 대세가 될 것으로 보이니
좀 더 많은 분석이 있어야겠습니다.


------------------------------------------------------------


상기의 방법들은 다소 복잡하지만 프리웨어를 이용하여 할 수 있는 방법입니다.
플래시와 swf decompiler 같은 상용 소프트웨어를 구매하면 gfx를 손쉽게 수정할 수
있습니다.





어때요, 참 쉽죠?
Posted by NSM53 Project