1993년 아미가 게임을 LLM이 68000 어셈블리를 읽으며 Godot으로 포팅하다

Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly

1993년 아미가 게임을 LLM이 68000 어셈블리를 읽으며 Godot으로 포팅하다

바빌로니아 트윈스의 개발자가 1993년 아미가 500용으로 만든 68000 어셈블리 게임을 LLM(Claude Fable 5)을 이용해 Godot 4로 포팅한 경험을 공유한다. 72,758줄의 어셈블리 코드를 바이트 단위로 재현하고, 34,000줄의 C++ 엔진을 이식했으며, 원작을 부팅 가능한 형태로 복원했다. LLM이 파일 형식과 어셈블리를 해석하고, 개발자는 게임의 느낌을 조율했다. 포팅 과정에서 발견된 오류와 30년 된 코드를 옮기는 데 AI가 어떻게 도움을 줬는지 보여준다.

LLM이 제 1993년 바이너리를 재구축하고 검증했다고 말할 때, 그것은 vasm을 실행하고 출력을 diff하여 실제로 그렇게 했다는 뜻입니다.
  1. btbuildem

    btbuildem:

    > 아미가 하드웨어 참조 매뉴얼 한 권

    일명 '그 책'... 이런, 먼지 쌓인 기억이 떠오르네요.

    Babylonian Twins는 'Gods: Into the Wonderful' 분위기가 물씬 나는데, 혹시 그 게임에서 영감을 받으셨나요?

    https://www.lemonamiga.com/game/gods-into-the-wonderful

    https://www.youtube.com/watch?v=1kAXGjUwHyA

  2. robviren

    robviren:

    몇 군데에서 헤매는 모습을 보니 오히려 반갑네요. 그래도 얼마나 많이 맞히는지 보면 항상 놀랍습니다. 컴퓨터 역사와 게임의 다소 난해한 부분들이 에이전트가 파고들기 엄청 어려운 영역이었으면 했거든요.

    과거에 뭔가를 구현하려면 표준적이지 않고, 임시방편적이고, 난해한 방법을 써야 했던 것들이 오늘날에는 손대기조차 어려울 정도로 복잡하게 느껴집니다. 많은 사람들이 그때그때 즉흥적으로 만들면서 아무도 예상치 못한 방식으로 하드웨어를 사용했죠. Tim Follin이 SNES용 Plock의 오디오를 작업했을 때, Miyamoto가 그 오디오가 실제라는 사실에 충격을 받았다는 이야기가 떠오르네요. 에이전트가 코드가 어떻게 구성되었는지에 대한 통찰을 통해 과거의 개발 과정에서 무엇을 배울 수 있을지 보는 건 정말 흥미로울 것 같아요. 저는 이런 걸 좋아하고, 이렇게 깊이 있는 글에 감사드립니다.

  3. Sharlin

    Sharlin:

    제가 관심 있는 건 성능과 메모리 사용량입니다. 2010년 포팅이 원본에 비해 몇 배나 비효율적인가요? 이번 새 버전은 어떤가요?

  4. ericd

    ericd:

    와, 512k에서 돌아가는 어셈블리로 작성된 것 치고 정말 아름답네요. 수고하셨어요!

  5. coder-pm

    coder-pm:

    흠, 게임 포팅을 UAE에서 원본과 비교해 보셨나요? 같은 입력으로? 아니면 그냥 "제가 플레이했을 때 잘 돌아간다"는 식인가요? 그 108바이트 차이는 이해가 안 되는데...

이 날의 다른 글

2026-09-03