Alien Pinball 포스트모템 — AI 도구로 물리 기반 핀볼 게임을 만든 방법
Alien Pinball Postmortem - How I made a full physics pinball game with AI tools
핵심 요약
AI 도구를 활용해 물리 기반 핀볼 게임을 개발한 과정과 노하우를 공유한 포스트.
- AI 개발 워크플로우 — Claude와 ChatGPT를 활용해 코드 작성, 이미지 생성, 음악 작곡까지 전 과정 수행함.
- 물리 엔진 활용 — LittleJS와 Box2D를 사용하여 복잡한 핀볼 물리 효과와 게임 로직을 구현함.
- 아트 생성 기법 — 충돌 지점 실루엣을 프롬프트로 활용해 물리 엔진과 완벽히 일치하는 아트워크를 제작함.
- 인간의 역할 — AI가 시스템을 구축하더라도 세밀한 물리값 조정과 게임의 재미를 위한 폴리싱은 직접 수행함.
Postmortem: Alien Pinball — Claude + ChatGPT + Suno + LittleJS로 제작
방금 브라우저 핀볼 게임을 출시했습니다. 혹시 도움이 될까 싶어 AI 워크플로우에 대한 짧은 기록을 남깁니다.
게임 — 완전한 물리 기반 핀볼: 멀티볼, A-L-I-E-N 롤오버 멀티플라이어(최대 5배), 스킬 샷, 콤보 강화, 아웃레인 거터 세이브, 그리고 공 3개를 저글링하며 싸우는 위저드 모드 센티피드 보스전이 포함되어 있습니다. 브라우저 기반이며 모바일 친화적이고, 별도의 설치가 필요 없습니다.
플레이하기: https://focaccai.itch.io/alien-pinball
설정. Claude Code Max, Opus 모델을 사용하여 무거운 작업을 처리했습니다. 입력의 절반 정도는 음성-텍스트 변환을 통해 이루어졌는데, 타이핑보다는 코드베이스에 대고 말하는 방식이었고, 나머지 절반은 타이핑과 많은 수동 코드 편집이었습니다. 단순히 코드가 생성되는 것이 아니라 진정으로 공동 개발하는 느낌이었습니다. 원하는 것을 설명하고, Claude와 의견을 주고받으며, 직접 코드를 수정하거나 정리하는 식으로 진행했습니다.
도구 스택
- 코드: Claude. 모든 게임 로직, 커스텀 Box2D 부품(슬링샷, 드롭 타겟, 스피너, 램프, 볼 락, 브레이크 타겟), 그리고 제가 시각적으로 모든 부품을 드래그하고 배치하며 조정할 수 있도록 만든 게임 내 테이블 에디터까지 포함했습니다. 향후 핀볼 게임 제작 시 재사용 가능합니다.
- 아트: ChatGPT 이미지 생성. Claude가 이미지 프롬프트도 작성하게 했습니다.
- 음악: Suno 5.5 — 세 개의 트랙을 만들었고, 적절한 분위기를 찾기 위해 많은 반복 작업을 거쳤습니다. Claude가 음악 프롬프트를 작성했습니다.
- 사운드: ZzFX — 모든 사운드는 게임 시작 시 절차적으로 생성되며, 오디오 파일은 없습니다. Claude가 귀로 들으며 반복적으로 파라미터를 조정했습니다. 이 조합은 AI와 함께 작업하기에 정말 즐거웠습니다.
- 엔진: LittleJS + Box2D WASM. 작고 빠르며 AI가 다루기에 완벽합니다. 최소한의 API 표면적을 가지고 있어 복잡한 프레임워크를 다룰 필요가 없습니다.
실제로 효과가 있었던 아트 트릭. 충돌 지점의 실루엣(벽, 램프, 범퍼, 드롭 타겟 등 정확한 위치)을 내보낸 뒤 이미지 생성기에 다음과 같이 입력했습니다: "이 실루엣과 정확히 일치하는 외계인 테마의 핀볼 플레이필드를 생성해줘." 여러 번의 생성과 수동 합성을 거쳐야 했지만(다른 결과물에서 가장 좋은 부분을 이어 붙임), 개념적으로는 첫 시도에 의도를 정확히 파악했습니다. 물리가 프롬프트 그 자체였기 때문에 아트가 물리와 정확히 일치합니다.


