7월 052004
 
지난 주말에 알고 지내는 모 누님께 GBA용 슈로대 OG의 돈을 올려줄 수 없냐는 부탁을 들었다. 귀차니스트인 나에게 있어 그 일은 무척 실행에 옮기기 힘든 일이었지만 그래도 평소에 신세를 많이 진 분의 부탁이라 거절할 수 없기에 결국 착수했다.

정말 오랫만에 해보는 에디트였지만 어쨌든 이치는 거의 비슷하기에 별로 부담감은 없었다. 헥스에디터를 설치하고 우선 에뮬 자체에서 게임 상태를 중간 저장한 파일을 조작하는 방법을 시도해봤다. 안 된다. 돈의 액수를 16진수로 변환한 후 1바이트씩 끊어서 역순으로 검색하는 게 일반적인 방식인데 이걸로 안 나오면 조금 머리를 싸매야 하는 경우가 대부분이다. 그래서 게임스탯은 보류하고 S램세이브 데이타를 검색해봤다.

이번에는 나온다. 낙승이라고 안도하면서 데이터를 변환 후 게임에서 로딩해봤다.

로딩이 안 된다. OTL  S램으로 저장하는 게임은 체크섬을 반드시 확인해준다는 사실을 깜박 했다. 그 상황에서 게임 세이브데이터의 체크섬이 어느 부분에 저장되는지를 알아내는 일은 불가능에 가깝다. 그래서 할 수 없이 다시 에뮬 자체의 중간저장 데이터를 직접 고치는 방법밖에 없다는 결론에 도달했다.

그러나 여전히 나오지 않는다. 어떻게 할까 고민하던 찰나 왠지 S램세이브파일은 용량이 일정한데 에뮬 자체 세이브파일은 용량이 일정치 않은 편이고 사이즈도 작다는 사실에 주목했다. 혹시 저건 확장자만 바꾼 ZIP압축파일이 아닐까. 에뮬 자체적으로 롬의 ZIP파일을 읽을 수 있다는 사실을 상기해보자 심증은 굳어졌고 즉시 그 세이브파일의 확장자를 ZIP으로 바꾼 뒤 압축툴에서 열어봤다.

아니나 다를까 역시 압축파일이었고 속에 사이즈가 꽤 큰 다른 파일이 들어있었다. 그 파일의 압축을 풀고 내부의 데이터를 직접 조작한 결과 가볍게 돈을 뻥튀기하는데 성공했다. 이걸로 미션 클리어.

그렇게 정말로 간만에 게임 세이브데이터 에디트를 하고 나자 옛날 생각이 났다. 올드게이머의 상당수가 비슷한 경험을 지녔으리라 생각하는데 나는 어릴 때부터 꽤나 다양한 게임의 에디트 경력을 지녔다. 경험치나 돈 조작은 기본이고 각 캐릭터의 능력치나 아이템 등등. 요즘은 인터넷을 뒤져보면 각종 게임의 트레이너나 치팅툴 같은 건 쉽게 발견할 수 있지만(내가 프로그래머였다면 그런 걸 직접 만들고있었을지도 모른다.) 옛날에는 그런 건 거의 불가능에 가까웠고 모든 걸 직접 할 수밖에 없었다.

처음으로 손댄 게임은 내 인생의 게임 울티마 4였다. 이 게임은 특이하게도 데이터가 10진수 그대로 저장돼있어서 고치기가 그리 어렵지 않았다. 앞에서도 말한 바와 같이 수치 데이터는 보통 16진수로 변환 후 역순으로 들어가기 마련인데 예를 들면 10000이라는 10진수 수치는 16진수로 2710이고 이를 역순으로 검색하면 10 27이 된다. 이를 FF FF로 고쳐주면 65535라는 수치가 되는 식이다. 그런데 울티마의 경우는 경험치가 1000이다 하면 이 수치가 그대로 10 00으로 들어가있던 걸로 기억한다. 아무튼 이는 매우 초보적인 경우에 해당해서 쉽게 고칠 수 있었지만 가끔 그게 이상하게 꼬여있어서 좀 고생해서 찾아내거나 결국 에디트에 실패하는 경우도 종종 있었다.

이후로 많은 게임을 수치조작을 통해 쉽게 클리어하곤 했다. 당시 손댄 게임들의 예를 들자면 멀리는 Might & Magic, Bard’s Tale, A.D 2400, Legacy of the Ancients, Phantasie III 등이 있었고 이후로 영웅전설, YS와 같은 MSX게임이나 프린세스메이커, 삼국지 등의 게임도 돈과 능력치 올리기 같은 짓을 했다. 생각해보면 그때부터 레벨노가다를 꽤나 귀찮아 했던 것 같긴 하다.

그렇게 에디트질을 하곤 했지만 정작 그렇게 게임을 하고 나면 재미가 훨씬 떨어지게 된다는 사실을 점차 느끼게 됐다. 역시 어렵게 고생해서 성취해야 보람이 큰 것은 당연한 일이다. 그래서 이후로 에디트라는 행위는 봉인해두고 거의 모든 게임을 직접 자력 클리어하게 됐다. 앞서 예로 든 Ultima 4 등의 몇몇 게임들도 다시 정상 플레이했다.. 그렇다고 에디트란 게 나쁜 행위라고 생각하진 않는다. 앞서도 말했듯 나는 게임에서 플레이어에게 레벨노가다를 강요하는(노가다 없이는 앞으로 나아갈 수 없게 하는) 구조를 싫어한다. 그럼에도 불구하고 레벨노가다가 필요한 게임이 있는데 일단 진행을 하고싶다면 에디트를 해서 나쁠 것은 없지 않은가.

그리고 그런다고 현실에서 게임의 디지털 데이터처럼 에디트가 가능하거나 하진 않다. 어쨌든 세상에 쉬운 길이란 없는 법이다. 그렇다면 게임 속의 가상세계에서라도 조금 더 편한 길을 찾아서 대리만족을 느껴도 이상하지는 않을 것이다. 그리고 결국 편한 길이란 재미없는 길이라는 교훈까지 얻게 되지 않았는가. 게임이란 즐기기 위한 것이고 그런 게임 속에서 재미없는 편한 길을 선택한다는 건 결국 재미라는 대가를 지불하고 편함을 얻는 행위이다.

종종 당시 에디트를 안 하고 그냥 플레이했다면 보다 충실하게 할 수 있는 게임들이 있지 않았을까 생각하기도 했지만 그렇게 에디트를 통해 게임의 데이터 구조를 분석해나가는 것도 나름대로의 즐거움이었고 결국 에디트 또한 내 유년기의 게임생활에서 빼놓을 수 없는 키워드가 된 것이다.

  3 Responses to “게임 세이브데이터 에디트에 관한 추억”

  1. 에디트의 세계는 넓어. 너도 오라구~

  2. 한 번 마도에 빠진 게이머는 에디팅을 안 하면 노가다에 질리고, 에디팅을 하면 재미가 떨어져서 질리는 더블게임무감각증후군에 걸리게 되지요. 저도 재활까지 긴 시간이 걸렸습니다.(…)

    64=100 C8=200 FF=255 FFFF=65535 …….OTL

  3. [+레온] KIN(…)

    [+siva] …그 계산을 일일이 수작업으로 했었다죠.. OTL

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)