Claude Code로 1993년 Amiga 어셈블리 게임의 Godot 포팅 및 원본 바이너리 검증 성공
·2026.09.04 22:34
핵심 내용
Claude Code가 7만 줄의 68000 어셈블리 코드를 분석해 Godot 엔진으로 포팅하고 원본 바이너리와 바이트 단위 일치성을 검증했다.
자세히 보기
1993년 이라크에서 제작된 Amiga 게임 'Babylonian Twins'의 72,758줄에 달하는 68000 어셈블리 코드를 Claude Code를 활용해 Godot 엔진으로 성공적으로 포팅한 사례가 공개되었다.
어셈블리 코드 분석 및 바이너리 검증
AI는 문서화되지 않은 레거시 코드를 역추적하여 레벨 맵 인코딩, 오브젝트 테이블, Copper 리스트 등 복잡한 하드웨어 제어 로직을 해석했다. 특히 vasm 어셈블러를 통해 1993년 소스를 재조립하여 출시된 바이너리와 **바이트 단위(byte-identical)**로 동일한지 검증하는 과정을 자동화했다. 이를 통해 30년 전의 메모리 스냅샷 데이터와 초기화되지 않은 변수의 불일치 문제를 해결하고, 하늘 그라데이션과 물 색상 주기 등 Copper 효과를 포함한 5개 전체 레벨을 픽셀 단위로 일치시켰다.
AI 기반 포팅 워크플로우 및 결과
포팅 과정은 다음과 같이 진행되었다:
- Step 1 (C++ 포트): 2010년 작성된 34,000줄의 C++ 코드를 하룻밤 만에 Godot 4로 마이그레이션하여 플레이 가능한 빌드를 생성했다.
- Step 2 (어셈블리 포트): 원본 어셈블리의 동작을 GDScript로 재작성하여 50Hz 타이밍을 유지하며 Steam 버전에 내장했다.
- 검증 자동화:
--probe,--screenshot등 커맨드라인 플래그를 추가해 게임의 물리 법칙과 렌더링 결과를 기계가 읽을 수 있는 데이터로 변환하고, 스크린샷 비교를 통해 시각적 정확도를 확인했다.
이 프로젝트는 AI 코딩 도구가 단순 코드 생성을 넘어, 주석이 거의 없는 저수준 어셈블리 코드의 구조를 이해하고 현대 엔진으로 마이그레이션하는 복잡한 리버스 엔지니어링 작업에도 효과적임을 입증했다. 최종 결과물은 iOS/Android에서 라이브 중이며, Steam에서는 무료 데모로 제공된다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.