게임 한글화는 어떻게 이루어지나요?

어릴적부터 게임 한글화를 관심있게 지켜봤습니다.

따로 프로그래밍을 배워보기위해 C언어나 어셈블리어를 공부를 해볼까 생각했었는데 현실의 벽이 높아 포기를했는데요. 한글화를 위해 파일에 어떻게 접근해서 쪼개고 수정하는지 궁금합니다.

    3개의 답변이 있어요!

    • 컴파일된 게임을 수정하는거라면?

      일일이 파일을 바이너리 형태로 열어서 "open" => "열기" , "close"=>"닫 기 "

      이런식으로 직접 수정하는 방식을 택했구요

      소스가 있다면?

      당연히 해당 부분에 있는 영어 문자열을 한글 문자열로 교체해주고 나서

      컴파일 하면 됩니다

      그리고 다국어 신경쓰는 프로그램들은 설정파일등이 있어서

      en:hi

      kr:안녕하세요

      이런식으로 나타내야 할 모든 문장을 설정파일에 문구로 넣어서 번역하여 사용하게 하는것도 있습니다.

    • 게임에 들어가는 텍스트 정보는 따로 파일화 해놓습니다. 번역된 파일은 게임에서 로드해서 사용할 수 있습니다. 한국어 음성도 마찬가지로 파일 이름과 어떤 룰로 읽어와서 실행될 수 있게 기본적으로 구성됐습니다.

      굳이 C언어나 어셈블리어까지의 논리는 필요하지 않고, 영어를 잘하시면 게임에서 다양한 언어를 위해 제공하는 툴을 이용해서 가능합니다.

      하지만 다양한 언어를 제공하지 않은 경우에는 한글화는 쉽지 않습니다.

    • 게임을 만드는 프로그램이나 방법에 따라서 파일을 접근하는 방법은 달라집니다.

      게임을 만든 제작사에서 다국어를 지원하기 위한 목적으로 언어 파일을 따로 잘 빼놓지 않는다면 생각보다 어려울 수 있습니다.

      어셈블리어를 공부하기 보다는 리버스 엔지니어링을 공부해보는 것을 추천합니다.

      결과물로 나온 파일을 다시 소스코드로 변환하는 것을 리버스 엔지니어링이라고 합니다.

      다시 소스코드로 변환한다고해서 원본 소스가 되는 것은 아니지만 언어에 따라서는 원본 소스 비슷하게 나오게 됩니다.

      그러면 그것을 가지고 분석해서 수정하고 다시 컴파일해서 배포할 수가 있습니다.

      아래는 한글패치에 대한 위키입니다.

      https://namu.wiki/w/%ED%95%9C%EA%B8%80%ED%8C%A8%EC%B9%98