[ 안 내 ]

관리자 허락 없이 해당 포스트의 내용을 외부 사이트에 업로드 하거나 배포하는 행위를 절대적으로 금합니다.
 되도록이면 링크 주소를 이용해주시기 바랍니다. 상세 공지 참조  ▷ http://wiinemo.tistory.com/524
그외의 문의 사항이 있으면 wiinemo.kor@gmail.com 메일 또는 블로그 방명록에 글 남겨주시기 바랍니다.

아마추어 한글화 강좌 #2 - 한글화 기본 과정 (이론편 1부)

한글화에서 가장 제일 이해해야 하는 부분이 있다. 바로 한글화의 기본 개념이다. 

다른 부분도 물론 중요하지만 이에 대해선 추후 설명할 예정이며

한글화에 대한 가장 간단한 기본 개념부터 이해하고 넘어가도록 하자.


0. 준비물

한글화를 하기 위해서는 다음과 같은 준비물이 필요하다.


- 필수 도구: 한글화 툴 (CrystalTile2, YY-CHR, 대사장 등), 기타 프로그램 (포토샵, HEX 에디터, 메모장 등)

- 부수적인 것: 그림 수정 (포샵, 일러스트레이터), 번역 능력 (영어/일어), 프로그래밍, 컴퓨터 능력 등

필요 능력: 게임에 대한 열정, 끈기, 많은 여유시간 (부수적인 요소로 줄이는게 가능)


* [필수 도구]는 인터넷에 찾아보면 다 나온다. 일단은, 기본 툴은 이곳에서 제공한다.

추천 한글화 툴: 
추천 HEX 에디터: http://wiinemo.tistory.com/427 글 참조


* [부수적인 것]들은, 필수는 아니지만 알아두면 좋은 것들이다. 
컴퓨터 사용 능력, 번역 능력, 프로그래밍 능력등은, 알고만 있다면, 한글화 작업 시간을 대폭 감소시켜준다.

* [필요 능력]은 한글화를 하기위해 필수적인 요소이다. 조금 웃긴 이야기겠지만, 여기서 제일 중요한건 '게임에 대한 열정'이다. 다른 건 일반인들도 충분히 따라 할 수 있겠지만, 필자가 직접 경험해본바에 의하면, 해당 게임에 대한 강한 애정(?), 열정이 아니면 한글화 하기 어렵다. 비정상적이든, 정상적이든 간에, 해당 게임을 정말 좋아하지 않는다면 힘들다는 이야기다.

만약 그저, 호기심에 의해서 한번 정도 해보고 싶어서 한다면... 솔직히 말해 '지금' 바로 관두는 것이 오히려 더 현명하다고 충고 줄 수 있겠다. 만약 이에 해당 사항이 안된다면 그냥 이 부분은 넘어가고 다음 글을 읽자.


* 참고로 대부분의 게임은 '일본판' 기준으로 한글화 한다. 
영문판으로 해도 상관은 없긴 하지만, 영문판의 경우 한글화가 조금 더 어려운편에 속한다.
뿐만 아니라 일본판이 번역에도 더 깔끔하다. (단, 일본어보다 영어 실력이 나은 경우, 영문 번역을 해도 상관 없다)
다만, 조금 속 편하게 생각하려면 '일본판'을 택하도록 하자.


1. 한글화 툴 사용

먼저 한글화를 하기 위해서는 게임에 대한 분석을 해야한다. 그 게임이 어떤 것이던 간에 먼저 뜯어봐야 하는 것이다. 물론 기종마다, 게임마다 구조가 다 다른 관계로 이에 관한 자세한 설명은 생략하겠다. 다만 한마디로 이야기하자면 '일단 뜯어봐야 죽이되던 밥이되던 알 수 있다. -_-

일단 먼저 한글화 툴인 CrystalTile2 를 열어 자신이 한글화 하려는 롬파일을 열어보자.


처음 뜨는 화면은 기본 'HEX 에디터' 화면이다. 
참고로 별다른 헥스 에디터를 쓰지 않아도 CrystalTile2에 제공 되어있는 툴을 사용해도 되지만, 
별도의 HEX 에디터를 쓰는 것을 추천한다. (크리스탈 툴의 헥스 에디터 기능은 조금 미묘하게 부족하다)



다음으로 헥스 에디터의 왼쪽 버튼을 누르면 '타일에디터' 화면이 뜬다. 
해당 롬파일에 있는 타일이라 불리는 각종 '이미지' 파일을 검색 할 수 있다. 


사실 CrystalTile2 말고도 다른 한글화 툴이 있지만, 이 툴을 특별히 설명하는 까닭은 
크리스탈 타일이 수정이 가장 쉬운 툴이며, 이 툴만큼 호환성이 높은 툴이 없기 때문이다. 

이 툴에서는 GB, GBA, NDS, NES, SNES, N64, MD, SMS 등 다양한 기종이 지원된다. 
(설명에는 없지만 경우에 따라서 XBOX, Wii, PSP, PS3등의 최신 기종도 가능하다)

이제 Crystal 툴의 간단한 사용방법을 알았으니, 바로 게임에 대한 분석을 해보자.


2. 게임 분석

일단 기본적으로 파일을 열면 제일 먼저 확인해야 할 부분이 2가지 있다. 바로 게임의 '폰트'와 게임의 '대사' 이다. 이 이외의 정보나 기타 다른 기능등도 분석해야 하겠지만, 위 두가지 요소만큼 중요한 부분은 없으므로 일단은 생략하도록 하겠다. 

폰트와 대사는 한글화를 하기위해 찾아야 할 필수적인 요소로, 일부 자체 내장 폰트를 사용하는 게임이 아니라면 이 두가지는 모든 게임의 롬파일에 들어 있다. 기종마다 구성이 다르기 때문에 찾는 방법은 다를 수도 있음에 유의하자.

참고로, 최신 기종의 경우 파일 용량이 큰 편이기에 내용 전체를 분석하기에는 좋지 못하다.
이 경우 '폰트, 대사'라고 판단, 또는 의심되는 파일만 골라 추출한 후 그 파일만 따로 분석한다.



먼저 폰트를 찾는 방법은 다음과 같다.


1. 일 속성을 원하는 기종에 맞춘다. (해당 되는 기종이 없는 경우 능력것 맞추도록)

2. 배율을 100으로 맞춘다. (100으로 맞추어 놓는게 보기 편하다)

3. Shift + 화살표 를 눌러 화면내의 타일창의 크기를 조절한다.

4. 파일을 쭈욱 살펴본다. 운이 좋으면 한번에 발견할 수 있을 것이다. 아니라면....↓

5. 넓이 / 높이 값을 일부 변경하거나 타일 속성을 바꿔본다. 

6. Shift + 화살표 키를 눌러 다시 크기를 조정한후 찾아본다.

7. 그래도 찾지 못했으면, 5번, 6번을 다시 반복한다.


모든 폰트는 타일에서 찾을 수 있다. 한 두번 해서 안되면 계속 시도해서 찾아보자.
물론 한번에 찾을 수 있을지 없을 지 여부는, 약간 운에 달려있다. 나머지는 사용자의 몫이다. 
대부분은 찾을 수 있을것이다. 단, 2가지 문제에 의해 찾지 못하는 경우는 예외이다.

첫번째, 해당 폰트가 게임기 내장 폰트를 사용 하는 경우

이런 경우는 드문 예겠지만, PSP나 최신 일부 게임의 경우 게임기 본체 내에 폰트가 저장되어있어, 
해당 폰트를 사용하고, 게임 롬파일 내에 폰트가 없는 경우이다. 

PSP의 경우 소위 말하는 '몬헌폰트' 같은 것이 개발되어 이런 것을 사용 하면 되지만
게임 폰트가 자체적으로 하드웨어 내부에 심어져있는 경우, 수정이 불가능하기에 
이런 경우는... 포기하는 편이 속 편하다. 

(물론 역어셈블리를 통해 강제적으로 롬 내부에서 읽도록 하게 한다던가 하는등 가능성이 없잖아 있지만, 
일반인 기준으로는 해결 한다는 것은 '거의 무리에 가깝다')

두번째, 해당 폰트가 '압축' 이 되어있는 경우

일부 게임에서는 '압축 알고리즘'을 사용하여 폰트를 압축하는 경우가 있다.
폰트가 압축되어있으면, 정상적으로 보이지 않고 '깨져' 보일 수 있다. 
(깨져 보인다는게 어떤건지는 게임마다 다르기에, 사용자가 직접 직감으로 알아차리는 수밖에 없다.)
이에 관해서는 추후 '압축 알고리즘' 에 대해 다룰때 소개할 것이다. 일단은 넘어가자.


대사를 찾는 방법은 다음과 같다.

일단은 헥스 에디터 (혹은 크리스탈타일의 내장 헥스에디터)를 열어 롬파일 전체를 뒤져본다.
그리고 아래와 같은 형태가 보이면 해당 위치를 의심해 본다.


한글화를 처음 해보는 이들은 어리둥절 하겠지만, 이미 경험이 있는 사람들은 잘 알것이다. 
위와 같은 구조를 보이는 경우 99% 이상 '대사' 일 가능성이 높다. 일단 위 모양을 잘 기억해두도록 하자. 

참고로 각각의 코드는 유니코드(Big-Endian) 일본어(Shift-JIS)를 대표하는 글자이다.
대사가 맞는 지를 확인하려면, 크리스탈 타일의 상단에 '기본코드' 를 눌러 
다른 코드로 바꿔서 '일본어'가 정상적으로 출력되는지 확인한다.

* HEX와 언어코드, 고유코드에 관해서는 3편에서 자세하게 설명하겠다. 일단, 이 글에서는 패스하기로 함

위 코드를 확인하려면 '한국어 [굴림체]' 부분을 눌러 바꾸면된다.
참고로 윈도우 7에서는, 해당 글자가 모두 mlang.dll 등의 이상한 코드로 나오는데
출력되는 것과는 전혀 상관 없으니, 위 그림을 참고하여 바꿔서 확인하도록 하자


이와같은 일본어가 나오는 것을 확인했다면, 대사를 정상 확인한 것이다.


대부분 이와 같은 과정을 통해 대사를 확인할 수 있다.
하지만 폰트와 마찬가지로 2가지 이유로 대사를 확인하지 못하는 경우가 있을 수도 있다.

첫번째, 대사가 '압축' 이 되어있는 경우

일부 게임에서는 '압축'을 해서 대사가 잘 보이지 않을 수 있다.
경우에 따라서, 대사의 일부를 확인 할 수 있긴하나, 정상적으로 보이지 않는다. (이 경우 '압축'을 의심해야한다)
폰트와 마찬가지로 이 부분은 추후 '압축 알고리즘' 파트 부분에서 설명하도록 하겠다.

두번쨰, 대사가 고유코드나 다른 코드를 사용하는 경우

고유코드는 요새와서 잘 쓰이지는 않지만, 이전 레트로 게임기에서 많이 쓰이던 방식이다.
이에 간단히 설명하자면, S-JIS나 유니코드 같은 언어 코드는 이미 '정형화'가 되어 체계가 갖춰져있는 코드이지만
'고유코드'는 해당 게임에서밖에 사용하지 않는 '사용자 정의 코드'이다.
따라서 이런 고유 코드를 사용하는 경우, 해당 코드를 직접 찾는 수 밖에 없다.
이에 관해서도 마찬가지로 3편에서 자세한 설명할 예정이다.

아무튼 대사, 폰트를 둘다 모두 찾았으면 한글화의 시작은 절반 이상 마친 셈이다.

3편에서 계속

p.s 게임 개별 한글화 질문은 받지 않습니다. 양해 바랍니다.