[Hacker News 요약] LLM을 활용한 1993년 Amiga 게임의 Godot 엔진 이식 및 재현
166
설명
1993년 이라크 바그다드에서 개발된 고전 Amiga 게임 'Babylonian Twins'가 최신 게임 엔진 Godot로 성공적으로 이식되었습니다.
이 과정에서 LLM(거대 언어 모델)은 68000 어셈블리 코드를 분석하고 현대적인 게임 환경에 맞게 변환하는 데 핵심적인 역할을 수행했습니다.
이 프로젝트는 레거시 코드의 현대화와 AI 기반 개발 도구의 가능성을 보여주는 사례입니다.
### 배경 설명
1993년, 이라크의 엔지니어링 학생이었던 Rabah Shihab는 당시 Amiga 500의 제한된 하드웨어 환경(512KB RAM, 하드 드라이브 없음)에서 'Babylonian Twins'라는 게임을 순수 68000 어셈블리로 개발했습니다. 당시 이라크는 국제 제재 하에 있었기에 인터넷이나 게임 개발 자료 접근이 극히 제한적이었으며, 개발 과정에서 잦은 플로피 디스크 교체와 높은 여름철 온도 등으로 인해 하드웨어적인 어려움도 겪었습니다. 이 게임은 이라크에서 제작된 최초의 상업용 게임으로 기록되었으나, Commodore의 몰락과 제재로 인해 출시가 지연되고 많은 사람들이 플레이하기 어려운 상황에 놓였습니다. 2008년, Amiga 포럼을 통해 게임 디스크가 발견되면서 재조명되기 시작했고, 마침내 2026년 9월 1일, 이 게임의 재현 버전인 'Definitive Edition'이 iOS와 Android에 출시되었으며 올가을 Steam에도 출시될 예정입니다. 이는 30년 이상 된 레거시 코드가 현대 기술과 결합하여 새로운 생명을 얻게 된 사례입니다.
### 과거의 유산: 1993년 Amiga 게임 'Babylonian Twins'
1993년 바그다드에서 개발된 'Babylonian Twins'는 당시 Amiga 500의 512KB RAM 환경에서 68000 어셈블리 언어로 제작되었습니다. 개발자 Rabah Shihab는 운영체제에 의존하지 않고 하드웨어 레지스터를 직접 조작하며 게임을 구현했습니다. 스프라이트, 스캔라인, 블리터, 카퍼 리스트 등 하드웨어 기능을 직접 제어하는 방식으로 개발되었으며, 이는 당시로서는 매우 진보된 기술이었습니다. 게임은 이라크 최초의 상업용 게임으로 기록되었으나, 출시 당시의 정치적 상황으로 인해 널리 보급되지 못했습니다. 2008년이 되어서야 게임 디스크가 발견되어 재조명되기 시작했습니다.
### LLM을 활용한 현대화 시도: Godot 엔진 이식
이전에도 2010년에 C++로 재구축되어 2백만 다운로드를 기록한 바 있는 'Babylonian Twins'는, 이번에는 LLM의 도움을 받아 Godot 엔진으로 이식되었습니다. 개발자는 Claude Fable 5 모델을 사용하여 72,758줄에 달하는 68000 어셈블리 코드를 Godot 4 환경으로 옮기는 작업을 시도했습니다. LLM은 원본 어셈블리 코드를 분석하고, 주석이 거의 없는 코드와 단축된 파일명을 가진 레거시 소스에서 게임의 로직, 레벨 데이터, 오브젝트 테이블 등을 파악했습니다. 특히, LLM은 vasm 어셈블러를 사용하여 원본 바이너리와 바이트 단위로 동일한 결과물을 생성하는 데 성공했으며, 이는 30년 전의 코드를 현대적인 도구로 정확하게 재현했음을 의미합니다.
### LLM의 분석 능력: 레벨 데이터 및 게임 메커니즘 복원
LLM은 'Babylonian Twins'의 복잡한 데이터 형식과 게임 메커니즘을 놀라운 정확도로 복원했습니다. 예를 들어, 레벨 데이터는 헤더나 차원 정보 없이 압축된 형태로 저장되어 있었지만, LLM은 그림 루틴을 분석하여 그리드 워킹 방식, 상수값 등을 파악해 5개 레벨의 맵을 정확하게 생성했습니다. 또한, 각 맵 셀의 16비트 속성 정보(물리적 속성, 타일 뱅크, 타일 번호)는 문서화되지 않았음에도 불구하고, LLM은 두 개의 다른 루틴이 동일한 워드를 읽는 방식을 통해 속성 정보를 추출했습니다. 이는 개발자가 33년간 알지 못했던 게임의 내부 작동 방식을 LLM이 밝혀낸 사례입니다. 심지어 게임 에디터인 MEDITOR.S의 1993년 소스 코드까지 현대 어셈블러로 재구축하고 에뮬레이터에서 실행하여 레벨 2 데이터를 편집하는 데 성공했습니다.
### 오류 발견 및 수정: LLM과 인간의 협업
LLM은 원본 게임의 복잡한 로직을 현대 엔진으로 옮기는 과정에서 몇 가지 오류를 발견하고 수정하는 데 기여했습니다. 예를 들어, 특정 레벨에서 플레이어가 예상치 못한 피해를 입는 '가드 버그'는 LLM이 원본 코드의 경계 조건을 잘못 해석한 결과였습니다. 또한, 문이 열려도 레벨이 끝나지 않는 문제, 트램폴린의 높이 문제 등은 LLM이 원본 코드의 미묘한 동작 방식을 정확히 파악하지 못했거나, 현대 엔진의 기본 동작 방식과의 차이에서 발생했습니다. 개발자는 이러한 LLM의 분석 결과를 바탕으로 직접 코드를 수정하고, 때로는 LLM에게 추가적인 지시를 내려 문제를 해결했습니다. 특히, 33년 동안 개발자 본인조차 인지하지 못했던 '문' 관련 버그는 한 사용자의 1점짜리 리뷰를 통해 발견되어 수정되었습니다.
### 과거와 현재의 융합: 'Definitive Edition' 출시
이 프로젝트의 최종 결과물인 'Babylonian Twins: Definitive Edition'은 iOS와 Android에 출시되었으며, 올가을 Steam에도 출시될 예정입니다. Steam 버전에는 1993년 원본 게임이 두 번째 실행 옵션으로 포함됩니다. 원본 게임의 데이터(그래픽, 음악)는 Python 스크립트를 통해 PNG, WAV, JSON 등의 현대적인 형식으로 변환되었으며, 게임의 행동 로직은 Godot의 GDScript로 재작성되었습니다. LLM은 이식 과정뿐만 아니라, 스크린샷 생성, 다국어 캡션 처리, 스토어 메타데이터 업데이트 등 출시 관련 작업에도 활용되었습니다. 이는 LLM이 단순한 코드 변환을 넘어, 게임 개발 및 출시 전반에 걸쳐 실질적인 도움을 줄 수 있음을 보여줍니다.
### 가치와 인사이트
이 프로젝트는 LLM이 레거시 코드 분석 및 현대화에 얼마나 강력한 도구가 될 수 있는지를 명확히 보여줍니다. 특히, 주석이 거의 없고 문서화되지 않은 어셈블리 코드를 이해하고, 이를 현대적인 게임 엔진으로 성공적으로 이식하는 과정은 AI의 코드 해석 및 변환 능력을 입증합니다. 또한, 개발자가 30년 이상 인지하지 못했던 게임 내 버그를 LLM이 발견하고, 인간 개발자와의 협업을 통해 수정하는 과정은 AI와 인간의 시너지를 보여줍니다. 이는 오래된 게임뿐만 아니라, 다양한 레거시 시스템의 현대화 및 유지보수 작업에 LLM을 적용할 수 있는 가능성을 제시합니다.
### 기술·메타
- Godot Engine (v4)
- Claude Fable 5 (LLM)
- 68000 Assembly
- GDScript
- Python
- vasm (assembler)
- FS-UAE (emulator)
### 향후 전망
LLM 기반의 코드 분석 및 변환 기술은 앞으로 더욱 발전하여, 복잡하고 오래된 소프트웨어 시스템의 유지보수 및 마이그레이션에 핵심적인 역할을 할 것으로 예상됩니다. 'Babylonian Twins' 프로젝트는 이러한 기술의 초기 가능성을 보여주었으며, 향후에는 더 많은 레거시 시스템이 LLM의 도움으로 현대화될 것입니다. 경쟁 측면에서는 다양한 LLM 모델들이 코드 분석 및 생성 능력을 향상시키며 경쟁할 것이며, 이는 개발 생산성 향상으로 이어질 것입니다. 또한, 게임 개발 커뮤니티에서는 LLM을 활용한 새로운 개발 워크플로우와 도구들이 등장할 것으로 기대됩니다.
📝 원문 및 참고
- Source: Hacker News
- 토론(HN): [news.ycombinator.com](https://news.ycombinator.com/item?id=49550375)
- 원문: [링크 열기](https://babyloniantwins.com/blog/porting-a-1993-amiga-game-to-godot/)
---
출처: Hacker News · [원문 링크](https://babyloniantwins.com/blog/porting-a-1993-amiga-game-to-godot/)
이 글에 대한 한 줄 의견
신고 · 불법·유해·아동 안전(CSAE) 관련 콘텐츠

댓글 0
아직 댓글이 없습니다. 로그인하면 바로 의견을 남길 수 있습니다.