LLM이 구조화된 'smart senses'를 사용해 8-bit Commander X16 게임을 플레이한다

발행: (2026년 4월 8일 PM 09:56 GMT+9)
8 분 소요

Source: Hacker News

Source:

Creating the Game

PvP‑AI는 1990년에 제가 만든 8‑bit 게임을 재현한 것입니다. 원본에 남아 있는 흔적은 몇 장의 그림과 손글씨 메모뿐입니다. 당시 8‑bit 플랫폼용으로 개발하면서 가장 단순한 애니메이션과 배경으로도 초당 4 프레임을 끌어내기 위해 메모리와 CPU를 모두 썼습니다. 안타깝게도 개발을 마쳤을 무렵 1990년 경기 침체가 시작돼 개인용 컴퓨터를 포함한 여러 산업에 영향을 미쳤고, 결국 이 게임은 세상에 나오지 못했습니다.

몇 년 전, David Murray의 유튜브 채널 **The8BitGuy**에서 그의 Commander X16 레트로 컴퓨터를 보게 되었습니다. 사양을 살펴보니 PvP‑AI의 최신 버전을 구동할 수 있을 것 같았습니다.

실제로 에뮬레이터에서는 매우 원활하게 동작했으며, 초당 8.6 프레임에 가까운 속도와 더 많은 디테일, 향상된 AI를 보여줍니다! 실행 모습을 담은 영상도 있습니다. 하지만 실제 하드웨어에서는 라인 드로잉 이슈가 있어(링크) 특정 종류의 선이 제대로 렌더링되지 않아 느린 방식으로 대체됩니다. 그 결과 하드웨어에서는 초당 4 프레임에 머물게 됩니다.

게임을 직접 체험해보고 싶다면 제 **Google Drive**에서 파일을 다운로드하세요. x16‑emulator, 특히 R49 버전을 사용해 실행하는 것을 권장합니다. 자세한 내용은 제 GitHub EXPLORE 저장소의 CX16 v2 – AI Demo (a.k.a. PvP‑AI) 페이지를 참고하세요.

Gameplay Peculiarities

  • 경기장 레이아웃은 어느 플레이어든 가장 높은 레벨에 도달했을 때마다 변경됩니다.
  • 미사일은 제한된 지능을 가지고 있어 벽을 돌아다니거나 위를 통과할 수 있습니다.
  • 한 플레이어가 다른 플레이어의 체력을 0으로 만들면 두 명 모두 레벨이 상승합니다.
  • 최종 레벨(레벨 6)에서만 체력이 모두 소진되면 플레이어가 게임에서 탈락합니다.
  • 플레이어의 체력이 0이 되면 점수가 감소합니다.
  • 다른 플레이어의 체력을 0으로 만들거나 탈락시키면 점수가 증가합니다.
  • 승자는 점수와 관계없이 마지막으로 남은 플레이어가 됩니다.
  • 2위는 탈락한 플레이어 중 가장 높은 점수를 가진 사람에게 돌아갑니다.

이 게임은 AI와 통합할 때 마주칠 수 있는 “대체 전략”을 실험하기에 매우 적합합니다 — 이것이 바로 다음 주제로 이어집니다.

Source:

AI와 통합

다른 시도들—특히 가장 유명한 ChatGPT vs Atari 2600 Video Chess—에 영감을 받아, 나는 LLM이 간단한 게임과 성공적으로 상호작용하기 위해 무엇이 필요한지 탐구하고 싶었다.

시각이나 오디오 출력을 직접 해석하도록 LLM에 요구하는 접근 방식과 달리, 내 방법은 “스마트 센스” 라고 부르는 구조화된 텍스트 기반 표현을 사용한다. 이는 게임 세계를 추상화하여 무거운 인식 작업을 없애준다. 이렇게 하면 LLM은 원시 데이터를 해독하는 데 드는 시간을 줄이고, 상태를 추론하고 행동을 계획하는 데 강점을 발휘할 수 있다.

LLM‑친화적인 게임플레이를 위한 조정

  • 턴제 플레이 – 실시간 게임은 LLM에게 너무 빠르다; 턴제로 변환하면 모델이 필요한 시간을 확보할 수 있다.
  • 지속적인 메모 – LLM에게 플레이 중 및 게임 종료 후 메모를 유지하도록 지시해, 전략을 여러 게임에 걸쳐 이어갈 수 있게 한다.
  • 스마트 감각 입력 (8‑bit AI가 사용하는 것과 동등):
    • 터치 – 미사일, 벽, 경기장 경계와의 접촉 인식.
    • EMF 감지 – 다른 플레이어의 위치와 상태 인식.

기술 스택

나는 gpt‑4o 모델을 사용하는 ChatGPT API를 사용한다. 이 모델은 강력한 추론 능력, 안정적인 구조화 출력, 그리고 호출당 저렴한 비용을 제공한다. PHP가 인터페이스 계층으로서 LLM을 에뮬레이터에 연결한다. 부족했던 부분은 PHP와 에뮬레이터 간의 양방향 통신을 가능하게 하는 것이었다:

┌───────┐     ┌───────────┐     ┌───┐     ┌───────────┐     ┌────────────┐     ┌──────┐
│ Cloud │ → │ ChatGPT   │ → │PHP│ ××× │   ???    │ ××× │ x16‑emulator│ → │PvP‑AI│
└───────┘     └───────────┘     └───┘     └───────────┘     └────────────┘     └──────┘

에뮬레이터의 기존 기능을 조사한 뒤, 현재 검토 중인 pull request를 통해 새로운 기능을 추가했고, 이로써 체인이 완성되었다:

┌───────┐     ┌───────────┐     ┌───┐     ┌─────────────┐     ┌────────────┐     ┌──────┐
│ Cloud │ → │ ChatGPT   │ → │PHP│ → │ VIA2‑socket │ → │ x16‑emulator│ → │PvP‑AI│
└───────┘     └───────────┘     └───┘     └─────────────┘     └────────────┘     └──────┘

온‑디맨드 화면 캡처를 활성화하고 사운드 및 기타 비핵심 요소를 제거함으로써 연구용 작동 플랫폼을 확보했다. 예산을 절감하기 위해 매 프레임이 아니라 매 교대 프레임마다 API 호출을 수행하도록 했다.

시연 영상

나는 ChatGPT vs PvP‑AI 라는 이름으로 세 번의 연속 게임을 녹화했으며, 메모는 각 게임 사이에 지속적으로 전달된다. 이 시리즈는 초기 실험 단계부터 LLM이 승리 전략을 수립하는 과정까지를 보여준다:

LLM 인터페이스와 기술 설정에 대한 자세한 내용은 내 GitHub EXPLORE 저장소의 CX16 v3 – LLM vs PvP‑AI 섹션을 참고한다.

향후 작업

고무적인 결과를 바탕으로, 시각, 청각, 균형 등 보다 고도화된 “스마트 센스”를 탐구할 계획이다.

© 2026 Russell Harper

0 조회
Back to Blog

관련 글

더 보기 »

그들은 고기로 만들어졌다 (1991)

Copyright, Terry Bisson, 1991 원래 1991년 OMNI에 처음 게재되었으며, 이후 Harper’s와 다양한 온라인 컬렉션에 실렸습니다. 이 이야기는 또한 …에 등장했습니다.

Mario와 Earendil

오늘 저는 마리오 제흔처가 Earendil(https://earendil.com/)에 합류한다는 소식을 전하게 되어 매우 기쁩니다. 먼저, 마리오의 게시물을 읽어보시길 권합니다. 이것은 그의…