[게임 한글화 특별 강좌]NFTR 폰트에 대해 알아보기! 제 1편[게임 한글화 특별 강좌]NFTR 폰트에 대해 알아보기! 제 1편

Posted at 2011. 5. 18. 01:27 | Posted in 이전 카테고리/한글화 강좌 시즌 1
오랜만에 쓰는 한글화 강좌입니다~

NFTR 폰트에 대해 궁금해 하시는 분들이 많아서 특별 강좌를 작성합니다.


추천은 블로깅에 큰 도움이 됩니다!
손가락 한번 꽉 눌러주세요!


본편에서도 말씀드렸듯이 NFTR 폰트는 Nitro FonT Resource의 약자로 닌텐도 DS SDK(닌텐도 DS 게임 개발 키트)에서 제공하는 표준 폰트 방식입니다.

따라서 개발자가 닌텐도 DS SDK 표준을 따른다면 NFTR 폰트를 사용할 것이고 그렇지 않다면 다른 폰트를 사용하게 됩니다.

그렇다면 NFTR 폰트는 어떻게 이루어져 있는가 알아봅시다.

NFTR은 폰트 헤더, 파일 정보 헤더, 폰트 이미지, 폰트 너비, 폰트 맵(테이블) 총 5가지 영역으로 구성되어 있습니다.
(다만 같은 영역이 여러개 존재합니다.)
폰트 헤더 영역에는 각 영역의 위치 정보와 파일 크기, 헤더 크기, 파일 갯수등의 정보가 들어있습니다.

NFTR 폰트의 헤더 영역입니다.

NFTR 파일임을 알려주는 RTFN 매직스탬프(바이트 플립이므로 거꾸로하면 NFTR)와 코드가 들어있고 파일의 크기와 헤더 크기, 포함된 파일 갯수 등의 정보가 들어있습니다.

NFTR 폰트는 단순 파일이 아니라 여러가지 파일이 패키징 되어있는 형태입니다.
즉 파일 정보 헤더, 폰트 이미지, 폰트 너비, 폰트 테이블등이 모두 별개의 파일이지만 패키징 되어 하나처럼 보이는 것입니다.

또한 모든 값인 바이트 플립(Byte Flip)화 되어있는데 바이트 플립이란 데이터를 거꾸로 배열하는 것을 말합니다.
즉 0x00 0x30 0x25 0x10 이라는 값이 있다면 0x10 0x25 0x30 0x00 이렇게 바이트 단위로 잘라 거꾸로 저장하게 됩니다.
이유는 컴퓨터가 데이터를 읽을 때의 방식 때문이지만 자세히 설명하지는 않겠습니다.

다음은 파일 정보 헤더를 보겠습니다.

정보 파일은 FNIF(바이트 플립이므로 실제로는 FINF, File Information)로 시작하며, 각 데이터 영역의 위치와 기본적인 폰트 정보가 들어있습니다.
(0x1E-0x1F는 출력시 실제 폭과 색상에 관한 데이터 같으나 확실하지는 않습니다.)
폰트 이미지 데이터의 값이 0x34, 0x00 , 0x00, 0x00 이므로 거꾸로하면 0x00000034(0x34)가 됩니다.
단 실제 위치는 각 데이터 값에서 0x08 만큼을 빼주어야합니다.
0x34 - 0x08을 하면 0x2C가 되고 0x2C의 데이터를 보시면 PLGC라는 값이 보이는데 이것이 바로 이미지 데이터의 헤더입니다.

물어보신 분들이 정확히 어느 부분이 궁금하신지 몰라서 우선 1편은 여기에서 끊도록 하겠습니다.
이 부분까지 이해하셨다면 뒤부터는 이해하기 쉬운 편이므로 추가로 궁금하신 사항이 있으신 분들은 댓글 남겨주시기 바랍니다.

뒤 강좌는 이후 남기도록 하겠습니다.

//

[NDS 컬렉션]포켓몬스터 블랙/화이트 - 한글판[NDS 컬렉션]포켓몬스터 블랙/화이트 - 한글판

Posted at 2011. 4. 22. 16:30 | Posted in 이전 카테고리/컬렉션

이번에 소개해드릴 컬렉션은 2011년 4월 21일 한국에서 정식발매된 포켓몬스터 블랙/화이트입니다.
물량확보를 위해서 미리 공급받은 일부 매장에서는 19일부터 구매할 수 있었으며 저도 온라인 구매를 통해19일에 받았지만, 사정상 오늘 개봉을 해보게 되었습니다 ㅎㅎ; 


추천은 블로깅에 큰 도움이 됩니다!
손가락 한번 꽉 눌러주세요!

포켓몬스터 블랙/화이트는 포켓몬스터 하트골드/소울실버와 마찬가지로 2중으로 포장이 되어있습니다.
 

겉박스 뒷면입니다.
게임 소개와 심의 인증서가 표기되어 있습니다.

실제 게임 케이스입니다.
꼬리 부분에 무언가가 그려져 있군요~


게임 케이스 개봉샷입니다.

구성은 게임 설명서, 닌텐도 DS 소프트웨어 소개서, Wi-Fi 커넥션 안내 메뉴얼, Wii 광고지, 비크티니 배포 관련 이벤트지, 1세대 포켓몬 쿠폰입니다.

1세대 포켓몬 쿠폰 아래에는 코드가 적혀있으며 글로벌 링크에 이 코드를 등록해서 이상해씨/파이리/꼬부기를 받을 수 있습니다.
 

국가코드로 말이 많았던 닌텐도 DSi중 DSiLL에 한글판 포켓몬스터 화이트 칩을 꽂아보겠습니다

일본판 DSiLL에서 완벽하게 인식이 됩니다.
한글판도 큰 화면으로 즐길 수 있다는 점에 좋네요~
 

포켓몬스터 화이트의 타이틀입니다.
화이트에는 검정색 전설의 포켓몬 제크로무가 그려져 있습니다.

포켓몬스터 블랙도 역시 정상적으로 인식됩니다.

포켓몬스터 블랙의 타이틀입니다.
블랙에는 흰색 전설의 포켓몬 레시라무가 그려져 있습니다.
 

게임팩 사진입니다.

스타팅 포켓몬
 

포켓몬스터 블랙/화이트의 스타팅 포켓몬은 전작과 같이 3마리가 있으며 각각 풀,불,물 타입니다.


스타팅 포켓몬중 풀타입 포켓몬 쥬리비안입니다.

스타팅 포켓몬중 불타입 포켓몬 뚜꾸리입니다.

스타팅 포켓몬중 물타입 포켓몬 수댕이입니다.

저는 가장 어렵다는 쥬리비안을 선택했습니다.
일본판으로는 뚜꾸리로 플레이했지요 ^^;
 
게임 메뉴

포켓몬스터 블랙/화이트의 메뉴는 하트골드/소울실버와 같이 하단에 나타납니다.
다만 아쉬운점은 X버튼을 눌러야 나타난다는 점입니다.
또한 러닝슈즈 토글 기능이 사라졌습니다.

메뉴 화면입니다.
기본적인 메뉴 구성은 역시 전작과 같습니다.

포켓몬 목록 화면입니다.

포켓몬 상세정보 화면입니다.
 

포켓몬 능력정보 화면입니다.

가방 화면입니다.

트레이너 정보 화면입니다.

게임 설정 화면입니다.
이야기의 속도로 메시지 속도를 정하고 배틀 애니메이션을 안본다로 설정하면 애니메이션이 나타나지 않고 빠르게 진행됩니다.
시합 룰은 포켓몬을 쓰러뜨린뒤 바꾸겠냐는 메시지를 띄울지에 대한 여부입니다.
띄우지 않으면 포켓몬을 쓰려트려도 한 턴을 사용해야 포켓몬을 바꿀 수 있습니다.
사운드는 스테레오/모노 중 선택할 수 있습니다.
IR리포트는 블랙/화이트에서 새로 추가된 C기어 사용에 대한 설정입니다.
 

게임 대사 화면입니다.

포켓몬을 잡은 후 도감 설명 화면입니다.
 
닌텐도 3DS에서도 구동해보자!


닌텐도 3DS에도 포켓몬스터 블랙을 넣어봤습니다.
아주 잘 인식합니다.

사실 닌텐도 DSiLL에서 구동이 되기 때문에 3DS에서 구동할 필요는 없을 것 같습니다 ^^;

포켓몬스터 블랙의 타이틀 화면입니다.

이상 포켓몬스터 블랙/화이트 컬렉션 소개를 마칩니다~
 
관련 게시물 링크

[컬렉션 - 포켓몬스터 하트골드/소울실버 - 한글판 - 준비중입니다.]
[컬렉션 - 포켓몬스터 DP 디아루가/펄기아 - 한글판 - 준비중입니다.]
[컬렉션 - 포켓몬스터 Pt 기라티나 - 한글판 - 준비중입니다.]  
//

[NDS]컬드셉트 한글 소개[NDS]컬드셉트 한글 소개

Posted at 2011. 4. 15. 00:00 | Posted in 이전 카테고리/정리중




컬드셉트 DS는 오미야 소프트에서 닌텐도 DS 전용으로 발매한
카드 전략 게임입니다. 


추천은 블로깅에 큰 도움이 됩니다!
손가락 한번 꽉 눌러주세요!

아바타를 결정하는 화면입니다.
이 아바타는 게임 화면에서 사용됩니다. 

셉터는 게임의 플레이어를 의미합니다.
 

셉터의 이름을 결정할 수 있습니다.
 

신규 셉터를 위한 북입니다.
북이란 카드의 조합입니다.
 

메인 메뉴입니다.
스토리 모드, 대전 모드, 여럿이서 대전 등 다양한 메뉴가 있습니다.

하단에는 셉터의 정보가 나타납니다.
 

게임 화면입니다.
브루마블 형식으로 다이스(주사위)를 굴려 캐릭터를 이동합니다.
 

주인이 없는 영토에 크리쳐를 소환해서 자신의 영토로 만들 수 있습니다.
크리쳐를 소환하면 다른 플레이어가 영토에 들어왔을때 전투가 발생하며
전투에서 승리하면 상금을 얻을 수 있습니다.

더 자세한 설명은 게임 메뉴에서 메뉴얼을 참고해 주십시오.
 

컬드셉트 DS 한글패치

컬드셉트 DS는 장기튀김님에 의해 한글화가 되었으며 한글패치 버전 0.99가 공개되어 있습니다.
패치 파일은 장기튀김님의 블로그에서 받으실 수 있고 패치에 필요한
일본어판 롬 파일은 아래에 제공해 드립니다. (롬 파일 용량이 크기 때문에 분할압축하였습니다.)

//