작품에 대하여

ろくでなし BLUES는 동명 만화를 원작으로 한 액션 게임이다. 액션 게임 치고는 대사가 꽤 많았는데, 만화를 기준으로 만든 ‘스토리 모드’가 있기 때문이다. (나는 주로 스토리 모드만 했다.) 만화 원작이다보니, 단순한 액션게임 치고는 이야기도 꽤 볼만 했는데, 롬 구조로 단순해서 한글화 도전 겸 프로그래밍 연습 겸 겸사겸사해서 해본 거였다.

변변치않은 블루스(ろくでなし BLUES) 한국어 패치 적용 스크린샷

만화 제목은 굳이 해석하자면 ‘변변치않은 블루스’정도일 듯하다. 정발판에서는 ‘비바 블루스(VIVA! BLUES)’란 이름을 사용했는데1, 전에 해적판도 많이 돌았기 때문에 로쿠데나시 블루스, 못말리는 블루스, 별볼일없는 블루스, 오렌지 블루스, 캠퍼스 블루스와 같은 이름으로 많이 알려져 있다. 2

한글화의 추억

한글화는 롬 파일을 분석하고, 대사를 확인하고, 번역하고, 번역된 것에 맞게 원본 롬 파일을 변형하는, 아주 힘겨운 작업이다. 때문에 이를 조금이나 쉽게 하기 위해, 보통은 대사를 추출하고 번역된걸 자동으로 넣어주는 툴을 만들어 사용한다.

나 역시 이를 위해 다음과 같은 2개의 프로그램을 만들었었다. (이름은 잘 기억 안나, 임의로 붙였다.)

exp는 폰트 테이블을 이용해 데이타를 읽고 문자로 변환해 저장하는거라 단순했는데, imp는 고려할게 많았기 때문에 좀 복잡했다.

imp는 지금 생각해도 (기능적으로는) 꽤 잘 만든 놈이었다. 단순히 대사만 넣어주는게 아니라 대사 길이에 때라 대사 포인터도 자동으로 바꿔주었고, 약어 처리도 가능했기 때문이다. 게다가 폰트도 자동으로 넣어줄 수 있었는데, 덕분에 한글 스크립트에 사용한 문자셋이 바뀌더라도 별도 작업이 필요 없었다.3

작업 데이타는 Unicode 텍스트로 된 스크립트를 읽어 처리하는 방식을 택했었다. 이는 Unicode(정확히는 UTF-16)가 1 문자가 모두 2 Byte라 파싱하기 편했기 때문이다. 텍스트로 한것은 그래야 데이타를 주고 받거나 수정, 비교, 분석하기 좋으니까다. 스크립트는 작업의 편의를 위해 여러개로 나눌 수 있게 했으며, 중간 중간에 옵션을 바꿀 수 있도록 간단한 명령어도 몇개 지원했다. 예를들어, 여기서 부터는 약어를 쓰지 말라던가 하는 식으로 말이다.

이게 완성된 후에는 거의 번역만 하면 됐기 때문에, ‘다음에 한글화 할 때도 계속 써먹을 수 있겠구나~♪’ 하면서 속으로 좋아했던 기억이 난다. (수줍)4

아무튼, 처음엔 사전과 번역기로 어떻게 해보다가, 한국어 패치 소식을 접해오던 한식구에서 『遊び』님, 『BlueR』님, 『™조로』님, 『한글화마스터』님, 『한식구』님, 『Rolan』님, 『P』님, 『장기튀김』님의 도움을 받아서 패치를 완성했다. 특히 遊び님과 장기튀김님께 가장 많은 도움을 받았다. 다만, 장기튀김님이 후반 번역을 도맡아 해주셨기 때문에, 이 패치의 제작자를 “reznoa x 장기튀김”으로 하였다.5

패치

패치는 ips라는, 당시 가장 유행했던 형태로 만들었다. 빨리 공개하고 싶었기 때문에 중간정도 작업을 했을 때 처음 패치를 공개했으며, 완성 후에도 오타나 버그가 발견되면 후속 패치를 냈다. 나 스스로 패치를 완전히 검증한게 아니었기 때문에 공개할 때는 ‘공개 beta’란 이름을 달아 뒀었다.

그랬던것이, 공개베타 #5 이후로 마땅한 버그 리포팅이 없어 멈춰버렸는데, 뭐, 이 정도면 나름 괜찮게 마무리되지 않았나 싶다.6

아쉬운점은 그래픽 한글화를 하지 못했다는 거다. 일부러 이름도 “로쿠데나시 블루스”라는 글자수에 맞춰서 “변변치않은 블루스”라고 결정했었는데.. 쓸 일이 없었던거지; 뭐, 나중에라도 실력자가 나타나 ‘그래픽 추가 패치’를 내주면 좋겠다는 생각은 여전하다. ㅋ7

뭐, 즐기시라!

  1. 꽤 된 작품인데도 인기가 있었기 때문인지 서울문화사에서 정식으로 들여왔었다. 제목이 원 제목과는 좀 다른데, ‘ろくでなし’를 그대로 해석하기가 좀 껄끄러워서 그런게 아닌가 싶다. 

  2. 이 중, 캠퍼스 블루스와 오렌지 블루스가 가장 유명한 듯. 특히 캠퍼스 블루스. 

  3. 이런 게임은 대게 메모리 제한이 있기 때문에, 가능한 적은 메모리를 사용하기 위해서 필요한 폰트만 저장해놓고 사용한다. 이를 흔히 ‘자체 폰트’라고 한다. 한글화를 할 때는 이 자체 폰트를 한글로 바꾸고, 그를 이용하도록 대사 데이타를 수정한다. 때문에, 대사에 쓰이는 글자셋이 달라지면 폰트도 달라져야 한다. 나는 이걸 자동으로 처리되게 했다는 말이다. ㅋ 

  4. 물론, 그대로는 못 써먹는다. 게임마다 데이타를 저장하는 방식이 다르기 때문이다. 다른 게임에 써먹으려면 그에 맞게 조금 변형하긴 해야한다. 

  5. 게임 타이틀의 일부를 고쳐서 이를 표시했는데, 만약 더 긴 문장도 가능했다면 遊び님의 이름도 같이 넣었을 것이다. 

  6. 참고로, 지금은 하드가 날라가는 바람에 자료도 같이 날아가서 추가 패치는 어렵다. 하드를 복구해볼까도 생각해봤지만, 가격이 장난아니게 비싸더라고. 내가 그것갖고 돈버는것도 아닌데.. 그 가격은 좀 아니잖아; 그래서 걍 말았지. 복구비용이 대체 얼마였냐고? ..수십만원 대였어; 

  7. 그러나, 물론, 희망사항일 뿐이다;