뭔가 오래되었거나 고전 게임 느낌이 나기 위해 쓰는 게임 엔진을 사용하거나 영미권 국가의 개발자가 직접 엔진을 개발한 게임은 흔히 알려진 방법으로 한글 패치를 시행할 수 없다. 게임 엔진이 텍스트를 출력할 때 아스키 코드 (모두 1 바이트에 해당함)만 허용한다면 글자 하나가 2 바이트를 차지하는 한글을 출력할 수 없다. 하지만 이렇더라도 한글판을 낼 수 없는 건 아니다.
그런 구닥다리 게임 엔진이라도 언어 설정 기능이 있을 것이다. 하나의 소스코드 안에 데이터를 담아 하드코딩을 한 게 아니라면 출력할 내용을 담은 텍스트 파일에서 불러 올 것이다. 각 언어마다 텍스트 파일이 하나씩 있을 것이다. 출력을 담당하는 소스코드에서 텍스트 파일의 몇 번째 줄의 내용을 출력한다는 명령어가 있을 때 영어로 설정되어 있다면 eng.txt에서, 독일어로 설정되어 있다면 ger.txt에서, 프랑스어로 설정되어 있다면 fre.txt에서 불러 올 것이다.
하지만 이 방법만으로는 부족하다. 한글화를 위해서는 아스키 코드 밖에 있는 글자를 써야만 할 것이다. 하지만 아스키 코드만 쓸 수 있다는 전재 하에 써야 하는 다른 방법이 있다. 바로 글꼴을 수정하는 것이다. 이런 게임들은 글꼴을 하나의 이미지 파일에서 일정 크기 만큼을 불러와 출력할 텐데 글꼴을 영문자와 상관 없이 만든다면 아스키 코드 이외의 문자를 출력할 수 있을 것이다.
예로 들어서 "한국"를 출력하고 싶다면
kor.txt에서 임의의 줄에 "gksrnr"를 써놓고 kor.bmp에서 'g'에 해당하는 부분에 'ㅎ'을 그려놓고... 일일히 하면 된다.
하지만 "gksrnr"로 해놓으면 안되는데 왜 그러하는지는 설명이 어려우므로 이 방법에 관심이 생긴 사람들이 있다면 나중에 써보도록 하겠다.
그러나 이 정도는 알 필요가 있다.
256개의 글자를 쓸 수 있는데 한글의 모든 조합은 11172자이므로 적용할 수 있게 음절을 분리해야 하는데 대표적으로 'ㄱ', 'ㄴ', 'ㄷ', ... 이렇게 자음 모음별로 분리하는 방법이 있다.
사용해야 하는 아스키 코드 이외 글자가 128개를 넘는다면 아스키 코드의 일부 글자는 번역본에서 포기하고 남아 있는 아스키 코드의 글자로 어떻게든 대체해야 한다.
가변폭 글꼴을 지원하지 않는 게임 엔진이라면 자음 모음으로 분리하면 안된다. "ㅎㅏㄴㄱㅜㄱ"이 된다.
