작품에 대하여

‘ろくでなし BLUES’는 동명 만화를 원작으로 한 액션 게임이다. 액션 게임 치고는 대사가 꽤 많은데, ‘스토리 모드’가 있어서다. 만화 원작이다보니 단순한 액션게임 치고는 이야기도 꽤 볼만하다.

롬 구조가 단순해서 한글화 도전 겸 프로그래밍 연습 겸 겸사겸사해서 해봤다.

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

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

한글화의 추억

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

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

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

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

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

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

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

패치

패치는 ips라는, 당시 가장 유행했던 형태로 만들었다.

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

그랬던것이, 공개베타 #5 이후로 마땅한 버그 리포팅이 없어 그대로 멈추게 됐는데, 이 정도면 뭐 나름 나쁘지않게 마무리된 게 아닌가 싶다.5

다만, 아쉬운점은 그래픽 한글화를 하지 못했다는 거다. 이름을 “변변치않은 블루스”라고 한 것도 일부러 “로쿠데나시 블루스”라는 글자수에 맞춘 거였는데, 결국 쓸 일이 없었다. 희망사항일 뿐이긴 하나, 후에라도 누군가 ‘그래픽 보완 패치’를 내주면 기쁘겠다.

뭐, 즐기시라!

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

  2. 이 중, 캠퍼스 블루스와 오렌지 블루스가, 그 중에서도 특히 캠퍼스 블루스가 가장 유명한 듯하다. 

  3. 이런 게임은 대게 메모리 제한이 있기 때문에, 가능한 적은 메모리를 사용하기 위해서 필요한 폰트만 비트맵으로 저장해놓고 사용하기도 한다. 이를 소위 ‘자체 폰트’라고 한다. 자체 폰트를 사용하는 게임을 한글화를 할 때는 자체 폰트를 한글 그림으로 바꾸고, 그에 맞게 대사 데이타를 수정한다. 때문에, 대사에 쓰이는 글자셋이 달라지면 폰트도 그에맞게 바꿔줘야 하는데, 그걸 자동으로 처리하면 글자셋이나 자체 폰트 구성을 신경쓰지 않아도 되서 업데이트 작업이 편하다. 

  4. 그러나, 당연하게도, 그대로는 못 써먹는다. 게임마다 데이타를 저장하는 방식이 다르기 때문이다. 다른 게임에 써먹으려면 그에 맞게 좀 변형해줘야 한다. 

  5. 참고로, 지금은 HDD가 날라가며 자료도 같이 없어져 추가 패치는 어렵게 됐다. 하드를 복구해볼까도 생각해봤지만, 가격이 상당히 비싸서 그냥 말았었지. 정확하진 않으나, 적게는 수십만원에서, 많으면 백수십만원대까지 했던 걸로 기억한다.