(장문TMI주의)슬로우 대미지 한국어패치 제작 후기(+게임 리뷰 조금)



 쓴 이유

너무 힘들어서 썼다. 한패 작업이 어떤지 관심이 있으면 한 번 읽어보길.




개시 즈음 이야기


21년도 연말연시쯤 DLsite의 게임 랭킹 100위를 봤는데 슬뎀이 9위에 올라와 있어서 나름 기대했다.(주목도나 게임 자체 양쪽으로)

그런고로 어느정도 욕심이 있었기 때문에 의욕 가득 시작했다. 상상이상의 지옥이 펼칠 줄도 모르고.




작업 당시 내 상황


매 번 힘들다고 생각했지만 이번 슬로우 대미지는 유독 큰일이었다.

이전 작들은 남는 게 시간이어서 작업에 올인할 수 있었지만

올해는 취업활동으로 하루종일 학원에 처박혀있는데다 자격증 시험 준비까지 현실쪽 신경쓰기도 바빴다.

보통이라면 내 취업이 더 중요하지 한패 작업 같은 건 때려쳐야 함. 일단 맡았으니까 끝까지 했을 뿐이지. 최근에는 아침에도 시간 냈음.

안 그래도 밖에서 “넌 왜 그렇게 바쁘게 사느냐”는 얘기를 듣는데 한패작업까지 한다는 사실을 알면 기겁할 것이다.


라이너 노트는 내가 담당할 예정이었는데 위에 쓴 상황 때문에 호라님께 맡겼다. 

원래 시나리오 외에는 다 내가 할 생각이었는데, 지금 생각해보면 나머지 CG도 사람 모집할 걸 그랬나?




게임 작업 분량


시나리오 분량은 이전에 작업한 토가이누의 1.5배~1.8배쯤 되는 것 같았고

(정확하게 측정하진 않았음. 라멘토보다 텍스트량이 적은 건 확실함)

작업할 이미지는 답이 없다. 반올림해서 1000장이다. 

원본 아니다. 거를 거 다 걸러서 1000장이다.

그 중에서 작업했던 배경&이벤트 CG가 255개 되는데, 예전에 힘들게 작업한 카오스 헤드의 2배였다.

오프닝 무비는 보면 알 거고. 라이너노트의 그 무비도 다 수정했음.



작업의 어려움


1)텍스트 누락

테스트 때마다 자주 듣는 말이 “이 텍스트 누락됐습니다!”

이유는 두가지다.


이유1

시나리오는 보통 문장의 맨 앞과 끝에 개행문자가 있기 때문에(\r\n)

개행문자를 검색 조건에 걸면 번역할 문장만 뽑을 수 있다.

즉 개행문자가 없으면 추출이 누락되는데 슬뎀은 그런 문장이 많았다.(노란칠)


이유2

번역할 텍스트가 시나리오 폴더에만 있지 않고 시스템 폴더, 함수 폴더에도 있었다.

자잘하게 악곡명, TIP페이지부터 해서

맵 설명, 맵 이동 직후 시나리오 등 무시하고 넘길 내용이 아니었다.

(프로그래밍을 조금이라도 안다면 어떤 구조인지는 보면 알 것임.)


2)번역 문제

이건 역자가 가장 잘 안다. 그 중 기억나는 거 하나.

「大丈夫」(괜찮아)  해 본 사람은 안다.

平気、いい 등 보통 같으면 ‘괜찮아’라고 번역할 말을 다른 표현으로 대체하느라 역자가 고생하셨다.

덧붙여서 괜찮아의 효과는 함수명이 AreYouOk인 모양임.


AreYouOK



3)검수&테스트 문제

VNDB에 써있는 플탐이 60시간쯤인데 실제로 플레이 하면 그정도 걸림. 더 걸릴 수도 있고.

이곳저곳 탐색하고 단서를 얻어야 해서 다른 노벨게임보다 번거롭고 시간이 오래 걸림.

아래에 자세히 쓰겠지만 에러도 많이 터져서 거의 모든 사람이 매우 지침.


번역 시나리오를 스프레드 시트에서 보는 것뿐만 아니라 게임을 직접 실행해서 검수하기도 했음.

(나는 게임 수정때문에 검수는 다 맡김)

그렇게 역자가 검수를 마친 한패 적용 세이브 파일을 받았는데

플탐(=추가 검수시간) 70시간대가 떠서 경악함.

이 시간은 일부에 불과하고 그 외의 테스트도 상당히 했다. 보이지 않는 시간이 많음.


4)기술적인 문제

이 게임은 뭐 좀만 건드리면 터진다.

인스피레이션을 수정하면 게임 세이브를 날리고 처음부터 다시 시작해야만 문제없이 탐색 스킵이 된다.

그래서 초반부터 게임을 함부로 건드리지 못했다. 게다가 인스피 번역이 수정되면 세이브를 날려야 하니까.

실제로 작업 후반부에 단서, 인스피 등을 수정했지만 세이브를 여러번 초기화했다.

기술적인 문제는 JAST/스팀판이 해결해주리라 믿고 모든 걸 맡겼는데 나올 기미가 안 보여 마지못해 작업한 감도 있음.

연초->연내 출시한댔는데 예약 언제…? 



게임을 수정하면 터지는 이유

프로그래밍을 전혀 모르면 하나도 이해가 안 가니 관심없으면 패스.

디컴파일한 슬뎀 스크립트 중 하나

게임 스크립트가 이렇게 돼있으면 게임이 터지고 그러는 버그가 없을텐데


파일을 열어보면 이렇고, 이 상태로는 제대로 된 수정을 못함.

게임의 빠른 실행을 위해 스크립트가 컴파일이 돼있기 때문에 수정 못함.
니트로의 예전 엔진인 N2System(npa인 그거)은 스크립트가 원본 그대로 있는데,
이러면 게임이 느리고 무거움.



그래서 도움요청 글을 올렸는데 전공자가 도와주셨다. 

이 게임에서 쓰는 언어의 디컴파일러를 기반으로 역어셈블러, 리어셈블러를 제작해주셨다.

코드를 새로 작성하는 건 못하지만 현재의 큰 문제인 탐색/심리파트 문제를 해결할 수 있다.



디컴파일한 스크립트.(맵설명 파일)
문자열이 16진수로 깨지는 바람에 임의로 주석(녹색) 달았음.


name에 있는 “무라세 클리닉”만 수정해야 하는데

위에 있는 [“무라세 클리닉”]까지 같이 수정되기 때문에 게임이 터진다.

컴파일을 하면 최적화 때문에 중복되는 단어나 문장은 하나로 합쳐지기 때문이다.

역어셈블러는 원하는 값만 골라서 수정할 수 있다.


이 언어의 디컴파일러는 존재하지만 게임에 써먹을 수 없음. 문제 파악할 때 쓰는 용도임.

(디컴파일러는 기계어로 컴파일한 스크립트를 원본으로 돌린다고 보면 됨)




공식 버그&오타

패치 작업 도중에 뜨는 바람에 내 탓인줄 알고 머리를 싸맸음.

배포글에도 써있다시피 레이 루트의 사카키 심리파트는 2회차 때 스킵하면 행복/광기가 뜬다.

행복/광기를 누르면 에러메시지와 함께 강제종료된다.

이건 행복/광기 엔딩이 있는 심리에만 나타나야 하는데 사카키는 게임오버로 끝이므로 버그가 맞음.



게임 리뷰 조금

기대 이상으로 재밌게 했음. 게임패드에다 키 할당해서 플레이해보는 것도 좋음.(진짜로 그렇게 함)

그리고 장르가 비엘인데 여성 캐릭터가 비중있게 나와서 인상깊었음.(트루 루트)


루트별 시나리오 복붙 문제는 해결돼서 다행인데 진엔딩 해금구조는 역시 아쉬움.

기존 공략 캐릭터를 전부 클리어하면 트루 루트가 개방되는 방식인데

(진루트를) 공통루트 시간대에서 다시 시작하는 건 부자연스러움. 

이전에 했던 토가이누, DMMd도 1회차만 진루트 진입불가 혹은 처음부터 전부 개방이 맞다고 생각함.

3챕터 이후의 시간대에서 시나리오를 전개하는 식이면 좋을텐데, 이 게임은 공통 엔딩이 없지?



이후의 계획

당분간 쉰다. 건강도 전보다 나빠져서 운동도 해야겠고.

노아가 좀 걸리는데 작업을 해도 무리하지는 않을 생각.


댓글

  1. How did you decompile the script?
    스크립트를 어떻게 디컴파일했습니까?

    답글삭제
    답글
    1. In order to decompile scripts, you first need to remove these first values through the hex editor: https://user-images.githubusercontent.com/47920105/83356400-992fd400-a36e-11ea-80ec-cd939e60cfde.png

      And then use NutCracker to decompile them.(https://github.com/marcussacana/MwareStuff/files/4707909/NutCracker.zip)

      https://github.com/marcussacana/MwareStuff/issues/5

      삭제
  2. 작성자가 댓글을 삭제했습니다.

    답글삭제

댓글 쓰기

이 블로그의 인기 게시물

어제 읽은 책 이야기(도둑맞은 집중력)

럭키독1 한국어패치 될 가능성(+스팀판 가능성)