[게임 한글화 강좌]제 3장 - 게임 분석하기 2편[게임 한글화 강좌]제 3장 - 게임 분석하기 2편

Posted at 2011.04.01 14:30 | Posted in 이전 카테고리/한글화 강좌 시즌 1


본 강좌의 무단 스크랩을 금지합니다.
문의사항은 댓글 또는 mingi2007@gmail.com 으로 메일 주십시오.


3장은 드디어 실전 강좌입니다.

우선 필요한 준비물은 아래와 같습니다.

한글화 프로그램 CrystalTile 2
테스트를 위한 게임기 또는 에뮬레이터
한글화 하려는 게임의 롬 파일
가장 중요한 끈기와 열정

이외에도 필요한 것은 많지만 분석시에는 기본적으로 위에 4가지가 필요합니다.

준비물을 준비하셨다면 일단 크리스탈 타일 2를 실행해봅시다.
 

크리스탈 타일 2 실행 화면


크리스탈 타일은 중국에서 중문화를 위해 만들어진 프로그램으로 롬 파일의 분석에 아주 유용합니다.
크리스탈 타일 2에서는 여러가지 표준 파일 타입 자동읽기, 에뮬레이터와의 연동기능 , ASM 뷰어, LZ77압축 등의 다양한 기능을 지원하고 있습니다.

우선 데이터를 여러가지 모드로 볼 수 있는데 헥스 모드와 그래픽 모드가 있습니다.

크리스탈 타일 2의 헥스 모드


헥스 모드는 주로 데이터를 분석할때 사용되며 게임 데이터를 16진수(헥스)와 인코딩으로 변환해서 보여줍니다. 인코딩은 기본 인코딩사용자 정의 테이블 파일(tbl)를 지원하기 때문에 고유번호만 알면 헥스 코드를 일일히 수정하지 않아도 텍스트를 입력하면서 수정할 수 있습니다.

크리스탈 타일 2의 그래픽 모드


그래픽 모드는 롬 파일 내에 저장된 폰트나 그래픽을 찾을때 사용하며 크리스탈 타일 이전에는 yy-chr이라는 프로그램도 사용되었지만 최근에는 크리스탈 타일로 쉽게 볼 수 있고 추출/수정도 간편합니다.
또한 팔레트는 pal 파일 형식을 지원하며 롬 파일내의 팔레트 데이터를 읽는 기능도 지원합니다.
또한 폰트 삽입 기능도 지원합니다.

그럼 이제 파일 -> 열기로 닌텐도 DS 게임의 롬파일을 열어봅시다.
이 강좌에서는 폰트와 대사를 바로 찾을 수 있는 보쿠관DS(항공관제관DS)를 열어보았습니다.

NDS 파일시스템 정보 창


크리스탈 타일2는 닌텐도 DS의 파일시스템을 인식하여 자동으로 정보를 보여줍니다.
위 이미지처럼 파일시스템 정보 창이 뜨면 어떤 파일이 들어있는지를 알 수 있습니다
게임에 따라 파일 하나에 뭉쳐있는 경우도 있고, 가상 DS롬이 하나 더 들어가있는 경우도 있습니다.
 
만약 파일시스템 정보 창이 뜨지 않는다면 CTRL+N을 누르거나 도구 -> NDS 파일시스템 정보로 띄울 수 있습니다. 도구 - > NDS 파일시스템 정보가 비활성화 되어 있다면 정상적인 닌텐도 DS롬이 아니므로 롬 파일이 올바른지 확인해보시기 바랍니다.

파일 시스템 정보 창이 떴다면 목록보기에서 디렉토리를 눌러봅시다.


파일시스템 정보 - 디렉토리 보기 모드



디렉토리를 누르면 위처럼 보기 모드가 트리 형식으로 바뀝니다.

FSI.CT안에는 게임 실행코드와 오버레이, 게임 정보, 게임 이름, 아이콘 등이 들어있습니다.
arm9.bin,arm7.bin은 게임의 실행파일이며 banner.bin에는 게임 이름과 아이콘이, fnt.bin에는 서브 파일 이름, fat.bin에는 서프 파일의 오프셋값이 저장되어 있습니다.
이 파일들은 잘못 건드리면 게임이 구동되지 않을 수도 있지만 보쿠관 DS의 대사는 arm9.bin 파일 안에 들어있으므로 대사 수정시 설명해드리겠습니다.
때때로 arm9.bin에 폰트가 들어있는 경우도 있으나 자세한 내용은 생략합니다.

data 에는 게임 이미지,폰트,대사,사운드 등의 데이터가 들어있습니다.
그럼 data를 더블 클릭해서 열어봅시다. 


data폴더를 더블클릭해서 열면 여러가지 파일이 나타납니다.
그런데 어라? 중간에 보시면 SH_LC_XX.NFTR이라고 써진 파일들이 보입니다.
NFTR은 Nitro FonT Resource 의 약자이며 닌텐도 SDK에서 제공하는 표준 폰트입니다.
NFTR 계열 폰트를 쓰지 않는 게임들도 상당수이지만 만약 롬 파일내에 NFTR이 보인다면 크리스탈 타일 2에서 자동으로 분석해주기때문에 쉽게 한글화가 가능합니다.

폰트를 쉽게 찾는 방법은
파일 이름에 FONT나 10,12등의 게임 폰트의 크기, 확장자에 fnt 등이 있는 경우 폰트로 의심해볼 필요가 있습니다.
그럼 이제 실제 폰트를 봐봅시다.

SH_LC_12.NFTR에서 오른쪽을 누르고 NFTR 폰트 정보 불러오기를 누릅시다.


폰트가 보인다!


정보 불러오기를 누르면 드디어 폰트가 짜잔!하고 나타납니다.
스크롤을 해서 아래로 내려보면 한자 폰트가 보입니다.

한자 폰트를 보면 亜唖娃阿 이런 식으로 되있는걸 보실 수 있습니다.
이 배열은 이론 편에서 설명드렸지만 S-JIS라는 일본 표준 인코딩입니다.

한자 폰트의 갯수를 보면 대략 2500개가 넘는 걸 아실 수 있습니다.(주로 사용하는 한글 완성형 폰트는 2350자입니다.)

그럼 바로 한글 폰트를 넣어봅시다.


첨부파일인 한글 매치 테이블을 받으시고 亜가 있는 곳에 포커스를 맞춰둡시다.


그 다음 편집 - > 폰트 설정으로 들어가서 글꼴을 돋움으로 맞추고 크기는 9로 정합시다.

폰트 설정하기, 다른 폰트도 사용할 수 있지만 이번에는 가독성을 위해 돋움을 사용한다.


확인을 누르고 편집에서 폰트 삽입을 누르고 위에서 받은 kor.tbl을 선택합니다.

한글 폰트가 입력되었다!


드디어 한글 폰트가 입력되었습니다!
CTRL + S나 파일->저장을 누르고 에뮬레이터로 게임을 실행해봅시다.
 


한자 폰트가 한글로 바뀐걸 보실 수 있습니다
씫 자가 짤린 것은 NFTR에는 폰트의 폭 데이터가 있기 때문에 이를 수정해야줘야 완벽하게 폰트가 출력됩니다.
자세한 것은 추후에 NFTR 폰트 구조에 관한 게시물에서 더 자세히 소개하겠습니다.

이번 실전 1편에서는 폰트를 찾고 한글로 바꾸는 과정을 알아보았습니다.
위에서 설명한것처럼 게임중에는 표준 폰트인 NFTR을 사용하지 않는 게임이 더 많으며 다양한 방식의 게임이 존재합니다.
간단한것부터 시도하다보면 점차 게임 분석을 빠르게 할 수 있고 노하우도 생기게 됩니다.

다음 실전 2편에서는 대사를 수정하는 것에 대해 알아보겠습니다.
읽어주셔서 감사합니다.

저작자 표시 비영리 변경 금지
신고
  1. 이전 댓글 더보기
  2. nftr
    nftr 파일이 없어서 전체 이리저리 찾아보고 해서 폰트위치를 찾았는데 폰트는 정말 깔끔하게 보이는데 위아래로 점점점점같은것이 있는데 설정을 잘못한건가요? 그리고 nftr 파일이 아닐경우 우선 폰트이미지 불러왔는데 이경우 저장은 어떻게 하나요? 저장활성화가 안되네요.
  3. nftr
    nftr 파일이 있을경우 원래 글자는 그냥두고 한자끝에 한글을 추가해서 한글화하지 않는 부분에 대해서는 일어를 그대로 읽을 수 있게 할수 있나요? ntfr 파일이 없는 경우에도 뒤로 추가할수 있나요?
  4. 비밀댓글입니다
  5. 꽁쮸
    먼말인이모르겠어여 자세히설명점해주시면안되나염?
  6. 꽁쮸
    nftr.폰트부터이해가안가여 ㅜㅜ
    • 2011.05.01 18:39 신고 [Edit/Del]
      어떤 부분이 이해가 안되시는지 알려주시면 보충해서 설명해드리도록 하겠습니다. NFTR은 폰트의 한 타입으로 파일의 구조라고 보시면 됩니다. 다른 게임에서도 NFTR을 사용한다면 강좌와같은 방법으로 한글화가 가능하다는 것이죠 ^^;
  7. 시리우스
    질문입니다 ㅠㅠ
    말씀하신대로 하려는데 NFTR이 亜唖娃阿 순이 아니고 亜阿 .. 순이네요.

    어쨌든 亜부분을 강좌대로 했더니 에뮬에서는 ?????만 나옵니다.. 왜이럴까요 ㅠㅠ
    • 2011.05.02 00:43 신고 [Edit/Del]
      그 형태가 바로 S-JIS에서 일부 폰트가 빠진 형태입니다.
      그런 경우에는 NFTR 파일의 테이블을 바꿔주셔야합니다.
      이에 관한 내용도 추후 올리겠습니다
  8. 시리우스
    흐.. 기다릴게요~ ㅎㅎ
  9. //
    폰트파일은 안보이고..
    대사가 텍스트 파일로 되어있네요
    이거 어떻게해야되요??
    • 2011.05.06 08:17 신고 [Edit/Del]
      어떤 게임인지는 모르겠으나 텍스트 파일의 인코딩을 잘 보시면 S-JIS일 가능성이 높습니다.
      만약 메모장등으로 여시면 글씨가 깨져서 출력될겁니다.
      이를 수정하려면 매칭 테이블이라는걸 만드신 뒤 한글 텍스트 파일로 작성하신뒤 이를 변환하셔야합니다.
      기기에 따라 다르지만 만약 내장 폰트를 사용하는 게임이라면 인코딩을 수정해줘야합니다.
  10. 나루호도
    저 디덱토리가 어디있는지모르고 정보가 안떠요...
  11. 요쉬
    NFTR폰트 정보 불러오기를 눌러도 암것도 안뜨네요...
  12. 요쉬
    LZ77 로 압축되있는것 같은데 어떻게 해야 하죠?
  13. 진박사
    혹시 GBA 4bpp용 한글 tbl파일이 있으신가요..?
    제가 하려는 것은 그거네요;; ㅠ
  14. 좀비
    폰트 테이블은 어떻게 제작하나요 ?

    그리고 강좌에 나온데로 하니 한글이 눕혀서 수정되는데

    이 경우엔 어떻게 하나요?
    • 2011.08.28 09:33 신고 [Edit/Del]
      폰트 테이블은 게임에서 범용 인코딩을 사용할 경우에는 제작할 필요가 없습니다.
      다만 고유번호를 사용할 경우에는 CODE=문자 이런 식으로 제작하면 됩니다.
      눞혀서 수정된다는건 무슨 말인지 모르곘습니다.
  15. 김재현
    게이버님 NDS파일말고 GBA파일은 크리스탈파일로 한글화가 안되나요??
    '포켓몬스터:황'을 한글화 해보고 싶습니다.
  16. 베이블레이드
    제가 찾아본 게임은 폰트파일이 .NCGR 이었네요
    폰트파일은 이밖에도 굉장히 많이있을것 같아요
  17. ??
    폰트가 위.옆으로 한칸씩 짤리는데 어떻게 해야하죠??ㅠ
    그냥 개의치않고한글 폰트 덮어 씌워요?
  18. 이건nds파일만 가능한가요?
    크리스탈타일이 nds한글화 프로그램이라는데
    미연시같은거는 못하는건가요 ?
  19. 한글화
    저장이 안됩니다.
    폰트 변경후 저장할려고 하는데 한되네요ㅠㅠ 어떻게 해야 하나요?
  20. 비밀댓글입니다
  21. 컴퓨터게임을 바꾸고싶습니다
    컴퓨터 게임을 바꾸려고 하는데 폰트파일을 암만 찾아도 찾을수가 없네요..ㅠ

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

티스토리 툴바