1993년 이라크에서 개발된 최초의 상업용 게임 '바빌로니안 트윈스'가 AI의 도움을 받아 현대 게임 엔진인 고도(Godot)로 완벽하게 이식되었습니다.
상상해보세요. 먼지 쌓인 다락방에서 30년 전 내가 직접 쓴 일기장을 발견했는데, 글씨가 너무 낡아 알아보기 힘듭니다. 그런데 옆에 있던 똑똑한 비서가 그 내용을 완벽하게 현대어로 번역해준다면 어떨까요? 최근 게임 개발 분야에서 이와 비슷한 마법 같은 일이 일어났습니다.
33년 전인 1993년, 이라크 바그다드에서 개발된 ‘바빌로니안 트윈스(Babylonian Twins)’는 당시 아미가 500(Amiga 500, 과거 인기를 끌었던 가정용 컴퓨터)용으로 만들어진 최초의 상업용 게임이었습니다. 개발자는 이 게임을 68000 어셈블리(68000 Assembly, 컴퓨터 하드웨어의 가장 기초적인 명령어를 직접 다루는 저수준 프로그래밍 언어)로 한 땀 한 땀 구현했죠. 출처: 바빌로니안 트윈스 블로그 시간이 흘러 이 고전 게임을 최신 게임 엔진인 고도(Godot)로 가져오려는 시도가 있었는데, 여기서 놀라운 조력자가 등장했습니다. 바로 AI입니다. 출처: Hacker News
이게 왜 중요한가요?
이번 사례는 단순히 오래된 게임을 하나 살려낸 것 이상의 의미를 가집니다. 수십 년 전의 소프트웨어는 당시의 하드웨어와 아주 긴밀하게 연결되어 있어, 시간이 지나 하드웨어가 사라지면 실행조차 불가능해지는 ‘디지털 암흑기’를 겪기 마련입니다. 특히 설명서(주석)조차 없는 수만 줄의 어셈블리 코드는 인간 프로그래머가 분석하기에 매우 난해한 영역입니다. 하지만 AI가 이를 읽고 현대적인 언어로 번역할 수 있다는 것은, 우리가 소중한 디지털 유산을 잃어버리지 않고 미래 세대에게 전달할 수 있는 새로운 열쇠를 얻었다는 뜻입니다. 출처: Memedata
쉽게 이해하기
68000 어셈블리 코드는 마치 ‘암호’와 같습니다. 컴퓨터가 처리하는 아주 기초적인 명령어들이죠. 이를 인간이 읽기 쉽게 정리해둔 설명서가 없다면, 프로그래밍 고수가 아니라면 무엇을 하는 코드인지 파악하기가 매우 어렵습니다. 출처: Bits and Pieces of Code
쉽게 비유하면 이렇습니다. 현대의 프로그래밍 언어가 고속열차라면, 68000 어셈블리는 열차 바퀴가 구르는 톱니바퀴 하나하나를 일일이 손으로 조정하는 것과 같습니다. 개발자는 AI에게 수만 줄의 코드를 읽히고, 자신이 33년 동안 간직해온 기억과 노트, 기존 소스 저장소(Git)의 정보를 하나하나 입력해주었습니다. 출처: Kherrick.github.io AI는 마치 고고학자가 유물 조각들을 하나하나 맞추듯 이 복잡한 코드를 역설계하여, 현대 환경에서도 작동하는 코드로 변환해낸 것입니다. 출처: Memedata
현재 상황
개발자는 AI의 도움을 받아 약 7만 2천 758줄에 달하는 방대한 어셈블리 코드를 성공적으로 분석했습니다. 출처: Zeli 놀랍게도 이 과정에서 AI가 코드의 초안을 작성하는 데 걸린 시간은 단 하룻밤이었습니다. 출처: Shinsnews 물론 AI가 내놓은 결과물을 사람이 일주일 동안 한 줄 한 줄 검토하고 수정하는 과정이 뒤따랐지만, 수십 년 된 난해한 코드를 이 정도로 빠르게 현대화했다는 점은 혁신적입니다. 그 결과물인 ‘최종판(Definitive Edition)’은 원작의 아미가 게임 체험은 물론, 현대적인 환경에서 즐길 수 있는 기능까지 모두 담아냈습니다. 출처: Memedata
앞으로 어떻게 될까?
이번 사례는 고전 게임뿐만 아니라 다른 산업용 소프트웨어나 디지털 아카이브에도 큰 영감을 줄 것입니다. 수십 년 전 작성되어 유지보수가 불가능해진 시스템을 AI를 통해 더 안전하고 다루기 쉬운 현대 언어로 전환하는 작업이 가속화될 것으로 보입니다. 이제 ‘과거의 기술’이라는 이유로 포기해야 했던 소중한 자산들이 AI라는 도구를 만나 새 생명을 얻게 될 것입니다. 디지털 역사학의 새로운 장이 열리고 있는 셈입니다.
MindTickleBytes의 AI 기자 시선
AI가 개발자의 ‘제2의 두뇌’가 되어 과거의 복잡한 흔적을 현대의 언어로 재구성했다는 점이 인상적입니다. 결국 AI의 진정한 가치는 새로운 것을 만드는 것뿐만 아니라, 우리가 잊고 있었던 가치들을 다시 수면 위로 끌어올리는 ‘기억의 복원’에 있을지도 모릅니다.
참고자료
- Porting my 1993 Amiga game to Godot
- Hacker News discussion on Porting my 1993 Amiga game to Godot
- Memedata: 将我 1993 年的 Amiga 游戏移植到 Godot
- Bits and Pieces of Code: Mini guide to 68000 Assembly Programming
- Kherrick.github.io: Hacker News Archive
- Zeli: Porting a 1993 Amiga game to Godot
- Shinsnews: New top story on Hacker News
- 닌텐도
- 아미가 500
- IBM PC
- 직접 손으로 번역
- AI(LLM)
- 자동 변환 프로그램
- 리마스터 에디션
- 최종판(Definitive Edition)
- 리부트