[개선][한글] 언데드라인 Undeadline (アンデッドライン)

Platform
Mega Drive
Developer
T&E Soft
Publisher
PalSoft
Genre
슈팅 (종스크롤)
Status
In progress
Version
1.0.0
Author
네모선장

Screenshots

[개선][한글] 언데드라인 screenshot 1[개선][한글] 언데드라인 screenshot 2[개선][한글] 언데드라인 screenshot 3[개선][한글] 언데드라인 screenshot 4[개선][한글] 언데드라인 screenshot 5[개선][한글] 언데드라인 screenshot 6

About this patch

T&E 소프트가 MSX2, X68000으로도 발매한 종스크롤 슈팅 게임 「언데드 라인」을 1991년 팔 소프트가 메가드라이브로 발매한 게임이다. 전사 레온이 숲, 유적, 묘지 등 여섯 개의 마계 스테이지를 차례 차례 클리어하고 최종 보스를 처치하기 위해 여행을 떠난다. 다른 기종에서는 3명의 플레이어 중 1명을 선택하여 캐릭터 특징 별로 성장시키는 요소가 있었으나, 메가드라이브 버전에서는 플레이어가 1명으로 줄어들면서 1명이 모든 무기를 사용하여 파워업하는 방식으로 변경되었다. 세계관이나 스토리 등은 축소되고, 슈팅 게임 본연의 재미에 중점을 두어서 만든 게임이다.

다른 기종 발매된 게임과 비교

  • MSX2판(1989): 첫 작품이다.
  • 오프닝은 세계관 설명과 캐릭터 설명 및 애니메이션이 나오는 비주얼 데모로 구성.
  • 레온, 디노, 루이카 세 명의 캐릭터 중에서 1명을 골라서 성장시키며 플레이 한다.
  • 중간 데모도 존재하고, 선택한 캐릭터에 따라서 엔딩이 다르다.
  • X68000판(1990, 『환수귀(幻獣鬼)』): 3명의 캐릭터가 모두 존재하고, 전직을 1회 할수 있으며, 전직에 따른 스프라이트와 모션이 따로 준비되어있다.
  • 메가드라이브판(1991, 팔 소프트 이식):
  • 플레이어 선택 부분은 삭제되고 플레이어는 레온 한 명 뿐이다.
  • 오프닝도 이미지 한 컷에 스크롤되는 설명 글만 있고, 엔딩도 마찬가지이다.

메가드라이브판은 게임기 전용으로 가장 나중에 만들어진 만큼, 화면이 깔끔하게 정리되어있고 조작이 편하게 되어있다. 하지만 캐릭터와 연출은 다른 두 기종에 비해 많이 부족하다.

처음 계획은 X68000 버전에 MSX2판의 오프닝·엔딩을 넣는 것이였다. 그러나, 결국 메가드라이브 버전에 X68000의 캐릭터 스프라이트, MSX2판의 오프닝과 엔딩을 집어넣는 프로젝트가 되었다. ㅎ

X68000판을 통째로 옮기는 건 포기했다

X68000판을 한글화 하고 보니, CPU가 68000으로 같은데, 메가드라이브 버전으로 이식할수 있지 않을까 생각하게 되었다. '배트맨 리턴즈'처럼 스프라이트가 늘어나는 것도 아니고, 캐릭터 이미지와 팔레트만 변경하면 가능할 거라는 확신이 들었다. 하지만 같은 건 CPU뿐이었다.

X68000메가드라이브
메모리1~2MB64KB
그래픽비트맵 화면(픽셀 단위, 256색)8×8 타일 방식, 한 화면 최대 61색
사운드YM2151 + ADPCMYM2612 + PSG
실행 환경운영체제(Human68k) 위에서 디스크 파일을 읽음운영체제 없는 롬 카트리지

X68000판은 스테이지 하나에만 수백 KB의 데이터를 메모리에 올리게 되어있다. 그래픽, 사운드, 파일 로드 부분을 전부 새로 만들어야 했다. 사실상 게임을 새로 만드는 일이었다.

그래서 범위를 줄였다. 메가드라이브판은 그대로 두고, X68000판의 캐릭터 세 명만 옮겨 넣는 개조로 변경했다.

X68000 캐릭터를 메가드라이브로 옮기기

크기 걱정은 기우였다

  • X68000 캐릭터 파일을 풀어 보니 프레임 하나가 16×16 조각 6개를 붙인 32×48 틀이었다.
  • 메가드라이브 레온은 24×32라서 줄여야 하나 걱정 했다.
  • 그런데 틀 안에 실제로 그려진 부분은 발밑 그림자를 빼면 높이 약 32픽셀로, 메가드라이브판 레온의 크기와 거의 같았다. 그래서 축소 없이 그대로 잘라 넣을 수 있었다.

캐릭터가 전직으로 인한 기능은 제거했다

  • 캐릭터마다 이미지 스프라이트가 F, W, N 세 벌씩 존재한다. 처음에는 업그레이드 단계인 줄 알았다.
  • 이미지를 확인해 보니 파이터(갑옷, 방패), 위저드(로브, 투명), 닌자(경장, 점프) 옷차림이었다.
  • 직업을 바꾸는 기능까지 넣으면 일이 너무 커지게 되고, MSX2버전에도 직업에 대한 개념은 없었으니, MSX2판 처럼 고정 직업으로 하고 캐릭터마다 1개의 이미지 스프라이트만 사용하는 것으로 결정했다.
  • 하지만, 1명에 대한 피격 루틴만 존재하기에, 나머지 2명의 캐릭터의 경우에 동작 애니메이션과 피격 루틴, 방어 방법과 처리 방식을 다 설정해야했다.
캐릭터직업이미지방어(C 버튼)
레온파이터메가드라이브판 그대로방패: 앞에서 오는 탄을 막는다
디노위저드X68000판 위저드투명: 적 탄은 통과한다. 하지만 적의 몸통으로 부딪치는건 막지 못한다
루이카닌자X68000판 닌자점프: 뛰어 있는 동안 아무 피해도 받지 않는다

방어 규칙은 X68000판을 플레이하고 프로그램을 분석해서 확인했다.

색이 부족했다

  • 메가드라이브는 16색 팔레트 4개를 화면 전체가 나눠서 사용한다. 레온의 팔레트도 적과 함께 사용한다.
  • 여섯 스테이지를 모두 조사해 보니, 적이 사용하지 않는 칸은 네 칸 뿐이었다.
  • 그래서 디노와 루이카는 레온과 같은 색에 이 네 칸을 포함해 팔레트 색상을 맞췄다.

세세하게 수정한 부분

  • 루이카의 점프: 처음에는 점프 그림만 제자리에서 바뀌어 어색했다. X68000판처럼 곡선을 그리며 솟았다 내려오게 했다. 이미지 위치를 바꾸고 판정 위치는 그대로 뒀다.
  • 물속 이미지: 메가드라이브판 레온은 물에 들어가면 상반신만 보이고 허리에 검은 수면 띠가 존재한다.
  • 디노와 루이카 이미지에도 똑같은 검은 띠를 그려 넣었다.
  • 하지만 루이카가 물속에서 점프하거나, 디노가 투명해지면 전신이 보이게 했다.
  • 죽었을 때 이미지: 죽을 때는 X68000판의 쓰러지는 이미지를 사용했다. X68000판처럼 발밑의 그림자도 추가했다.
  • 능력치: X68000판과 메가드라이브판은 능력치 단위가 달라서 그대로 옮길 수 없었다. 메가드라이브 기준으로 MSX2와 X68000 능력치를 고려하여 조정했다. 그리고 메가드라이브판은 초기 스탯이 모두 동일한데(2/2/2/4), 수정판은 원작처럼 캐릭터 별로 주 무기가 다르기 때문에 주 무기 기준으로 스탯을 조정했다. 초기 수치는 아래와 같다.
캐릭터STMPDXAG
레온3124
디노1423
루이카2135

캐릭터 선택 화면

메가드라이브판에는 캐릭터 선택 화면이 없기 때문에 새로 만들었는데, X68000판의 PLAYER SELECT 화면 배치를 화면에 맞게 조정해서 그렸다.

  • 세 사람의 얼굴 이미지를 나란히 놓으니 겹쳐서, 대각선으로 놓고, 직업·이름·능력치 막대를 옆에 붙였다.
  • 글자는 메가드라이브판 파라미터 설정 화면의 글꼴을 그대로 사용해서 원래 게임 화면처럼 보이게 했다.
  • 배경 음악은 파라미터 설정 화면의 곡과 같은 곡으로 넣었다.
  • 메가드라이브판은 클리어한 스테이지에 어두운 색칠을 하는데, 이게 애매하게 보여서 클리어한 스테이지를 한눈에 구별하기 어려워서, 클리어한 스테이지에 "CLEAR" 글자를 넣었다.

MSX2 오프닝: X68000에 넣으려다 메가드라이브에 이식한 이유

MSX2판 오프닝은 당시에도 너무 좋아했을 정도로 연출과 음악이 좋다. 원래는 이 오프닝을 X68000판에 넣을 생각이었다. 하지만 메가드라이브판도 후보로 같이 놓고 비교해 보니, 메가드라이브 쪽이 훨씬 수월해서 이쪽으로 정하게 되었다.

  • 색이 동일하다. MSX2와 메가드라이브는 두 기종 모두 색 하나를 9비트(빨강·초록·파랑 각 8단계)로 표현한다. 그래서 MSX2 그림의 색을 그대로 옮길 수 있다.
  • 3캐릭터 추가 개선 패치가 이미 메가드라이브에서 진행 중이었다. 같은 롬에 넣으면 세 버전의 장점을 한 롬에 모을 수 있다.

그래서 MSX2 오프닝도 메가드라이브판에 넣기로 했다.

오프닝을 옮긴 방법

  • MSX2 디스크에는 영상이 통째로 들어 있지 않다. 게임 코드가 압축된 이미지를 풀어서 화면을 만든다.
  • 그래서 MSX 에뮬레이터(openMSX)에서 오프닝을 실제로 돌리며 매 순간의 화면과 팔레트를 기록했다.
  • 기록을 장면 별로 나눴다. 메가드라이브 롬에는 앞 화면과 달라진 타일만 다시 그리는 재생기를 넣었다.
  • MSX2판 언데드라인 한글 패치가 이미 존재하지만, 그걸 사용하지 않고, 원문을 새로 번역해서 한글로 다시 그렸다.

음악을 애니메이션에 맞추는 작업이 가장 오래 걸렸다

의외로 가장 많은 시간이 들어간 부분인데, 두 버전은 음악이 나오는 방식부터 다르다.

  • MSX2판은 도입부에 조용한 곡이 흘러나오다가, 레온이 등장할 때 메인 테마로 바뀐다. 그리고 타이틀 화면이 뜨기 전에 세 사람이 함께 나오는 애니메이션이 나오며 곡의 최고조로 빨라지는 부분이 나온다.
  • 하지만 메가드라이브판은 처음부터 메인 테마가 나온다.

그래서 이렇게 맞췄다.

  • 도입부에서는 MSX2의 PSG 음악을 메가드라이브의 PSG 칩으로 그대로 연주하게 했다. 두 기종의 PSG는 음 높이 값을 같은 방식으로 사용한다. 그래서 MSX의 PSG 음을 거의 그대로 출력할 수 있었다.
  • 레온이 등장하는 순간 부터 메가드라이브 메인 테마가 시작된다. 세 사람 장면이 곡의 절정에 오도록 장면 길이를 조정했다.
  • 장면마다 테마를 앞뒤로 당기고 늦춰가면서, 0.2초 단위로 맞춰 가며 여러 번 시도했다. 하지만 어색해서 아쉽지만 음악을 끊지 않고 이어서 트는 방향으로 복귀했다.
  • MSX2의 FM 음원(MSX-MUSIC)을 그대로 옮겨 보기도 했다. 하지만 이상해서 PSG만 출력되도록 했다.

엔딩과 중간 데모도 MSX2판으로

  • 캐릭터별 엔딩 3종: MSX2판은 고른 캐릭터에 따라 마지막 엔딩 장면이 다르다.
  • MSX2 디스크의 치트 기능으로 요새를 클리어하면서 세 가지 엔딩을 모두 기록했다.
  • 음악은 다행히 메가드라이브 엔딩 음악과 동일하여 동일하게 사용하고, 선택한 캐릭터의 MSX2 엔딩 장면이 나오고, 이어서 메가드라이브 스태프롤이 나온다.
  • 중간 데모: 여섯 스테이지를 모두 깨면 MSX2판의 중간 데모(마물과 구슬 장면)가 나온다.
  • 역시 기존 MSX2판 한글 패치를 사용하지 않고, 새로 번역해서 넣었다.
  • 롬 확장: 이미지가 늘면서 롬은 원래 1MB에서 4MB가 됐다. 엔딩 이미지만 1MB 가까이 된다.

작업 중 만난 문제

  • 스테이지 이름이 "FORE"에서 끊김: 선택 화면을 넣은 뒤 스테이지 선택 화면에 FOREST가 "FORE"까지만 나왔다. 선택 화면에서 스프라이트를 숨기면서 스프라이트끼리의 연결 정보까지 지운 이유 때문이었다.
  • 묘지 스테이지에서 최종 보스가 안나타남: 처음에는 패치하며 발생한 문제인 줄 알았다. 알고 보니 테스트용 치트 코드 하나가 보스 등장을 막고 있었다. 그 치트를 빼서 해결했다.
  • 루이카 스프라이트 깨짐 현상: X68000판에서 위저드 루이카의 발 밑이 검게 깜빡였다.
  • 디스크 이미지를 조사해 보니 덤프할 때 손상된 섹터가 있었다.
  • 손상 없는 디스크 이미지로 변경해서, 메가드라이브에 넣은 이미지도 다시 적용했다.

배포하기 어려운 이유

공개 방법을 찾기 전까지는 이 패치는 공개가 어려울 것 같다. 패치 파일을 올리지 않는 이유는 아래와 같다.

다른 기종의 이미지와 음악이 들어 있다

  • 디노와 루이카의 이미지, 선택 화면의 얼굴 이미지는 X68000판에서 가져왔다.
  • 오프닝·엔딩·중간 데모의 그림과 도입부 음악은 MSX2판을 사용하여 만든 것이다.
  • 패치는 원래 롬에서 변경된 부분을 넣는 작업이다. 그런데 이 패치를 올리면 메가드라이브판에 없는 X68000판과 MSX2판의 이미지와 음악을 그대로 공개해버리게 된다.
  • 이 이미지와 음악의 저작권은 원저작권자(T&E 소프트)에게 있고, 내게는 그걸 공개할 권리가 없다.

한글 패치와 성격이 다르다

  • 한글 패치는 원래 게임에 있는 글자만 한글로 바꾼다. 롬은 각자 소유한 것을 사용한다.
  • 이 개조판은 그 게임에 없는 다른 기종의 데이터를 새로 넣는 작업이다.

찾아낸 방법

사용자가 직접 가진 X68000 디스크, MSX2 디스크, 메가드라이브 롬 세 개를 넣으면 그 자리에서 개조판을 만들어 주는 웹 페이지라면, 원작 데이터를 공개하지 않아도 되지 않을까 한다.

  • X68000 이미지는 디스크에서 바로 풀 수 있어서 어렵지 않다.
  • 어려운건 MSX2 오프닝은 지금은 에뮬레이터로 돌려서 기록하는 방식이다. 디스크에서 직접 풀기 위해서는 MSX2판의 이미지 압축과 장면 진행 방식을 전부 분석해야 한다. 그래서 일단 보류했다.

소감 및 계획

MSX2, X68000, 메가드라이브 버전으로 발매가 되었는데, 세 기종 다 아쉬운 부분이 있어서, 이를 보완하면 좋지 않을까 생각하는 마음에 시작되었다. MSX2의 경우 오프닝이 상당히 멋지게 만들어졌는데, 이후에 발매된 X68000과 메가드라이브는 스펙이 충분함에도 이미지 몇장으로만 만들어진게 아쉬웠었고, 메가드라이브판은 캐릭터가 1명 뿐이라 언데드라인 게임의 세계관과 정체성을 잃은 느낌이여서, 평범한 슈팅 게임이 되어버린게 아쉬웠다.

원래는 X68000 버전에 MSX2의 오프닝을 넣는 패치 정도로 끝낼 생각이였으나, X68000이 메가드라이브와 공교롭게도 CPU가 같고, MSX2와 메가드라이브가 색 표현이 같다는 이유 때문에 점점 프로젝트가 커져버린거 같다 ㅋ

'베어너클 2', '배트맨 리턴즈' 보다 이미 한참 전부터 진행 중인 작업이였다. 기술적인 문제는 3개의 프로젝트 중에서 가장 덜했고, 엔딩 까지 문제 없이 플레이가 가능한 수준이였다. 하지만 저작권에 대한 문제가 확실하지 않아서 해당 이슈를 해결할 방법을 찾을 때까지는 잠시 유보해야할 것으로 보인다.

적용하는 법

패치 파일과 원본을 ROM 패치 도구에 함께 끌어다 놓으면 됩니다. 확장자로 자동 구분하므로 순서는 상관없고, 처리는 브라우저 안에서만 이뤄집니다. 자세한 절차는 한글 패치 적용하는 법에 있습니다.

적용이 안 될 때

"체크섬이 맞지 않는다"는 오류는 대부분 원본 롬의 버전이 다른 것입니다. 위 표의 대상 버전과 MD5를 확인하고, 파일이 맞는지 모르겠으면 파일 검사 도구로 원본과 패치를 먼저 들여다보세요.

게임 롬은 제공하지 않습니다. 본인이 소유한 게임의 백업본에 적용해 주세요.