2026년 8월 30일 일요일

[게임] 어 쇼트 하이크, A Short Hike, 2019

 

[레트로게임] 어 쇼트 하이크, A Short Hike, 2019

오랜만에 스팀 게임 했는데 옛날에 다운받아놓고 샀는지 안샀는지도 모르는 아기자기해보이는 게임

'A Short Hike' 를 했다. 스팀 페이지 보니까 한국어 지원이 없길래 한패 찾을려다가 AI 토큰 남아서 한번 만들어봤다.(https://aboutmadlife.blogspot.com/2026/08/short-hike-v100.html)

한글패치하고 플레이 해봤는데 번역도 깔끔하고 게임도 플레이타임 약 2시간으로 짧은 편이라 할만했다. 엔딩 이후에도 남은 컨텐츠들을 더 소비할 수 있는 것 같기는 한데 그냥 종료했다.

옵션에서 그래픽을 최소화로 선택하면 그래픽이 엄청 좋아진다.

소소한 스토리와 정상을 오르는 단순한하고 빠른 전개가 게임을 집중하게 만든다.

아기자기함이 돋보이는 게임 :)

[한글패치] 어 쇼트 하이크, A Short Hike, v1.0.0



[한글패치] 어 쇼트 하이크, A Short Hike (v1.0.0)

요약

  • 대상: Steam Windows build 20289045
  • 번역 커버리지: 3,918 / 3,918 (100%)
  • 번역: 게임 설치본 원문에서 전체 직접 번역
  • 다운로드: A-Short-Hike-Korean-Patch-v1.0.0.zip

왜 새로 만들었나

A Short Hike에는 공식 한국어가 없다. 예전에 공개된 커뮤니티 한글패치도 찾아봤지만 확인할 수 있던 다운로드 링크가 404였고, 번역문을 입수하거나 재배포할 수 없었다. 그래서 현재 Steam Windows 설치본이 제공하는 커스텀 언어 템플릿 3,918개를 기준으로 처음부터 다시 번역했다.

번역한 범위

대사만 바꾼 패치가 아니다.

  • 본편과 추가 콘텐츠의 모든 대화
  • 선택지와 표지판
  • 설정·조작·저장 메뉴
  • 아이템 이름과 설명
  • 물고기 이름과 낚시 일지
  • 도전 과제와 제작진
  • 보트·파쿠르·비치스틱볼 관련 추가 대사

3,918개 중 3,918개를 채웠다. 이름과 지명은 대화 전체에서 같은 표기를 사용했고, 클레어가 어른에게 말할 때와 또래에게 말할 때의 말투도 화자와 StoryNode 문맥을 보고 구분했다.

적용 방식

이 게임은 AShortHike_Data 폴더에서 LANG_*.yarn_lines.csv를 읽는 커스텀 언어 기능을 제공한다. 패치는 이 기능을 그대로 쓴다.

A Short Hike/
└─ AShortHike_Data/
   └─ LANG_Korean.yarn_lines.csv

실행 파일이나 게임 에셋을 수정하지 않는다. 원본 _LANG_Custom.yarn_lines.csv도 건드리지 않으며 삭제할 때는 위 파일 하나만 지우면 된다. 한국어 글꼴은 게임에 내장된 Korean:16:2 설정을 사용한다.

설치

  1. ZIP을 풀고 install.bat을 실행한다.
  2. Steam 기본 경로가 아니면 AShortHike_Data 폴더를 install.bat 위로 끌어다 놓는다.
  3. 게임을 다시 시작한다.
  4. options → languages → Korean을 선택한다.

직접 설치하려면 ZIP 안의 LANG_Korean.yarn_lines.csvA Short Hike\AShortHike_Data\에 복사하면 된다.

제거

uninstall.bat을 실행하거나 AShortHike_Data\LANG_Korean.yarn_lines.csv 하나만 삭제한다. 세이브 파일에는 손대지 않는다.

검수 결과

검사 결과
번역 키 3,918 / 3,918
생성 파일 행 원문 3,918 + 글꼴 1
한글 포함 행 3,824
원본 메타데이터 전부 일치
색상·스프라이트·버튼 변수·줄바꿈 전부 보존
인코딩 UTF-8 BOM
설치본과 배포본 SHA-256 77b58f734d5ea65bbe16fa12b25afb54f9d78a8c4008b7b63df4ecb2a3228604

문자열이 영어 원문과 똑같이 남은 항목도 따로 검사했다. 남은 23개는 {{Transition}}, {{JumpButton}}처럼 번역하면 안 되는 내부 변수뿐이었다.

알려진 사항

현재 작업 환경에는 Windows 게임 실행 계층이 없어 실제 게임 폴더 설치와 CSV 로더 구조 검증까지 마쳤고, 화면 출력은 Windows에서 한 번 더 확인할 필요가 있다. 오탈자나 어색한 문장을 발견하면 댓글로 알려 주시면 다음 버전에 반영한다.

게임 업데이트로 커스텀 언어 템플릿에 새 문장이 추가되면 그 문장만 이 버전에 들어 있지 않을 수 있다.

원작과 권리

A Short Hike와 게임 원문은 adamgryu의 저작물이다. 이 패치는 비공식 팬 번역이며, 사용하려면 정식 게임 설치본이 필요하다. 게임 실행 파일과 원본 에셋은 배포하지 않는다.

권리 문제가 있으면 aboutmadlife@gmail.com으로 연락해 주시면 확인 후 수정하거나 내린다.


패치 사용 중 문제가 있으면 아래 댓글로 남겨 주세요.

2026년 8월 19일 수요일

[한글패치] 아비오틱 팩터, Abiotic Factor, 1.4.0

[한글패치] 아비오틱 팩터, Abiotic Factor, 1.4.0



요약

버전 기록

버전 날짜 내용
v3 2026-08-18 SC 폴백 경로 추가로 한글 글리프 미표시 문제 수정 (현재 배포본)
v2 2026-08-18 IoStore → 레거시 pak 재구성, 번역 100%(11,321/11,321) 최초 달성
v1 2026-08-18 안전 구성 분석·배포(_Binary_P 제외). IoStore 잔존으로 여전히 크래시, 이후 폐기

배경 — 멈춰 있던 패치

Abiotic Factor는 공식 한국어를 지원하지 않는다. 대신 Skyblue-Sky 팀이 직접 번역한 한글패치가 GitHub에 공개돼 있고, 완성도도 높다.

문제는 그 패치가 멈춰 있다는 것이다. 가장 최근 릴리스는 1.7.0 (2025-12-26 배포)이고, 대상 게임 버전은 1.2.0.23023이다. 그 뒤로 8개월 가까이 새 릴리스가 없다. 그사이 게임은 계속 업데이트됐다.

그사이 게임 업데이트 날짜
Hotfix 1.3.0.26036 등 1.3.0 계열 2026-05-13 ~
Community Update #4 (1주년 업데이트) 2026-07-14
Hotfix 1.4.0.27939 2026-07-15
Hotfix 1.4.0.28206 (현재 대상) 2026-07-28

이 글은 그 번역을 기반으로 삼아, 지금 게임 버전에서 실제로 동작하도록 다시 빌드하고 그사이 추가된 문장을 새로 번역해 채운 과정을 기록한다.

설치하자마자 죽었다

Skyblue-Sky 패치를 그대로 설치했더니 게임이 켜지자마자 "Fatal error!" 창과 함께 종료됐다. 원인을 추적한 과정은 이렇다.

1차 시도 — 맵 롤백을 피하려다

패치는 pak 4덩어리로 나뉜다. 그중 52MB짜리 _Binary_P게임 맵 파일 39개와 아이템 데이터테이블을 언어 설정과 무관하게 직접 덮어쓰고 있었다. 언리얼에서 언어별 에셋은 보통 Content/L10N/<언어>/ 아래 두는데, 이 파일은 그 경로를 쓰지 않는다. 그래서 이것만 빼고 나머지 셋을 설치했다. 그래도 크래시했다.

진짜 원인 — 엔진 버전 불일치

크래시 로그:

EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffffffffff
FAsyncPackage2::ProcessExportDependencies()  AsyncLoading2.cpp:6419
Crash in runnable thread FAsyncLoadingThread

IoStore 컨테이너의 TOC 헤더를 직접 읽어 비교했다.

컨테이너 TOC 버전
게임 global.utoc 6
게임 pakchunk0-Windows.utoc 6
패치 _Font_P.utoc 3
패치 _Image_P.utoc 3

패치의 IoStore 컨테이너는 옛 엔진(TOC v3)으로 빌드돼 있었다. 게임은 v6. 헤더는 하위호환되어 마운트까지는 되지만, 안에 든 쿡된 패키지의 익스포트 번들 포맷이 엔진 버전 사이에 바뀌어서 실제 로딩에서 죽는다. 게임이 1.2.0 → 1.4.0 사이에 엔진을 올린 것이다. 즉 _Binary_P만의 문제가 아니라 IoStore 구성 요소 전부가 사용 불가능이었다.

살아남은 것 — 레거시 pak

4개 중 pakchunk0-Windows_P.pak 하나만 레거시 pak이다. 레거시 pak은 쿡된 패키지가 아니라 느슨한 파일을 경로로 공급할 뿐이라 엔진 버전에 묶이지 않는다. 그리고 번역과 글꼴이 전부 여기 들어 있었다.

Localization/Game/Game.locmeta
Localization/Game/ko/Game.locres          1.3MB
Fonts/Fallback/NotoSansJP-*.ufont         (× 3, 3.4MB)
Fonts/Fallback/NotoSansSC-*.ufont         (× 3, 3.4MB)

재밌는 건 저 글꼴이다. 이름은 NotoSansJP/NotoSansSC인데 실제로는 LINE Seed Sans KR(한글 12,307자)이다. 게임에 한국어 글꼴이 없어서 일본어·중국어 폴백 자리에 한글 글꼴을 끼워 넣은 것이다. 다만 현재 빌드의 한국어 UI가 실제로 로드하는 경로는 SC(중국어 간체) 쪽이라, SC 파일이 없으면 번역은 적용돼도 글자가 네모로 깨진다. (아래 v2의 문제였고, v3에서 고쳤다.)

이번 버전에서 한 일

레거시 pak 하나로 재구성. IoStore를 버리고 pakchunk0-Windows_P.pak 하나로 묶었다. pak 빌더와 locres 코덱을 직접 짜서, 원본을 파싱했다가 다시 써서 바이트 단위로 완전히 일치하는지로 정확성을 검증했다.

번역 100% 채우기. 게임 1.4.0.28206의 전체 문장을 뽑아 기존 번역과 대조했다.

개수
게임 1.4.0.28206 전체 문장 11,321
기존 번역(Skyblue-Sky 팀)으로 커버 10,110 (89.3%)
미번역 (1.2.0 이후 추가분) 1,211

빠진 1,211개는 신규 제작법 160개, 버프/디버프 129개, 음식 132개, 백과사전 95개, 애완동물·하드코어 모드 관련 문구 등이었다. 기존 번역에서 영-한 대응 4,571쌍을 용어집으로 추출해 표기를 맞추고 새로 번역해, 11,321개 중 11,321개, 100%를 채웠다.

SC 폴백 글꼴 경로 추가(v3). 위에서 설명한 이유로 한글이 안 보이던 문제를 고쳤다.

최종 결과물

파일 하나다.

AbioticFactor/Content/Paks/pakchunk0-Windows_P.pak   21.9MB
  • 게임 원본 파일을 하나도 덮어쓰지 않는다. 추가만 한다.
  • 제거는 이 파일 하나 지우면 끝. Steam 무결성 검사도 필요 없다.
  • IoStore를 안 쓰므로 게임이 업데이트돼도 크래시하지 않는다. 새로 추가된 문장만 영어로 나올 뿐이다.
  • 멀티플레이 영향 없다.

설치

  1. 압축을 푼다.
  2. Steam → Abiotic Factor 우클릭 → 관리 → 로컬 파일 탐색.
  3. AbioticFactor 폴더를 게임 폴더에 붙여 넣는다.
  4. 게임 실행. Windows 언어가 한국어면 자동 적용된다.

알려진 제한

  • 벽에 붙은 간판·표지판 글씨는 영어로 남는다. 문자열이 아니라 레벨 에셋에 박힌 그림이라, 번역하려면 맵을 2025년 12월 시점으로 되돌려야 한다. 그 대가가 너무 커서 뺐다.
  • 게임이 다시 업데이트되면 새로 추가된 문장만 영어로 나온다. 크래시하지 않는다.

원작자와 권리

번역 10,110개는 Skyblue-Sky 팀이 만들었다. 이 프로젝트는 그것을 현재 게임에서 동작하게 다시 빌드하고, 빠진 1,211개를 채웠을 뿐이다.

원 저장소에 라이선스 표기가 없어 정식으로 허락받은 재배포는 아니다. 원작자, 게임 개발사·배급사, 그 밖에 권리 문제를 발견한 분은 aboutmadlife@gmail.com 으로 연락해 달라. 확인 후 바로 수정하거나 내린다.

정리

  • 오래된 패치를 최신 게임에 그대로 얹으면 안 된다. 이번엔 엔진 버전이 올라가 컨테이너 포맷 자체가 안 맞았다.
  • "어떤 파일을 덮어쓰는가"만 봐서는 부족하다. 컨테이너가 이 엔진에서 로드되는가까지 봐야 한다. TOC 헤더의 버전 바이트 하나면 미리 걸러낼 수 있었다.
  • 그리고 결국, 실행해봐야 안다.

이 패치를 쓰다가 문제가 있으면 아래 댓글로 남겨 주세요. 확인되는 대로 다음 버전에 반영합니다.