AI 도구와 함께 혼자 게임을 만드는 방식
기획과 결정은 내가, 코드·이미지·문서 초안은 AI가. 저장소 네 개의 커밋과 결정 문서로 확인한 1인 개발 작업 흐름과, 그 방식의 한계를 정리했다.

혼자서 게임 네 개를 만든다고 하면 가장 먼저 듣는 질문이 “그게 혼자 가능해?“다. 솔직한 답은 “AI 도구 없이는 불가능했다”이다. 이 글은 그 도구를 실제로 어떻게 쓰는지, 저장소에 남은 기록으로 확인한 만큼만 적는다.
커밋 기록에 남은 비율
AI 코딩 도구가 작성에 참여한 커밋에는 공동 작성자 표기가 자동으로 붙는다. 8월 28일부터 9월 27일 낮까지의 커밋을 저장소별로 세어 보면 이렇다.
| 게임 | 전체 커밋 | AI 공동 작성 표기 |
|---|---|---|
| Salmonholic | 54 | 54 |
| AvoidNow | 36 | 30 |
| 랜선포차 | 66 | 58 |
| PallMark | 1,905 | 1,492 |
합치면 2,061개 중 1,634개, 약 79%다. 나머지는 저장소 초기 설정, 의존성 자동 업데이트 봇의 커밋, 그리고 표기 없이 남은 커밋이다. 숫자만 보면 AI가 거의 다 만든 것처럼 보인다. 코드를 타이핑한 쪽으로 따지면 틀린 말도 아니다. 하지만 이 표에 드러나지 않는 일이 있다. 무엇을 만들지, 어느 쪽이 더 재미있는지, 언제 멈출지를 정하는 일이다.
역할 나누기: 결정은 사람이 한다
PallMark 저장소의 작업 규칙 문서에는 이런 문장이 있다. “원본은 출발점이고 사용자 결정이 진실이다.” Godot 원본을 Unity로 옮기는 작업이라 AI는 원본과 똑같이 만들려는 쪽으로 기운다. 그런데 게임을 어떻게 바꿀지는 내가 정한다. 예를 들어 8월 30일 커밋(900e423)에서 시점을 어깨 뒤 3인칭에서 탑뷰로 확정했다. 원본에 없는 새 규칙도 여럿 넣었는데, 그때마다 커밋 제목에 “(사용자 결정)“을 붙였다. PallMark의 커밋 제목에만 이 표현이 59번 나온다.
AvoidNow에서는 이 방식을 더 노골적으로 썼다. 밤새 AI에게 작업을 맡겨 두고, 아침에 문서 하나를 받았다. 제목은 “결정 대기 목록 (2026-09-26 밤샘 작업 후)“이다. 항목마다 현재 값과 후보 두세 개가 있고, 문서 첫머리에 “답은 1-B, 2-A처럼 번호로 주셔도 됩니다”라고 적혀 있었다. 나는 목록을 읽고 인터뷰하듯 하나씩 답했다. 그 답이 표로 정리되어 커밋 7160508로 들어갔다.
| 항목 | 내가 정한 것 |
|---|---|
| 아트 방향 | C 인디 게임 카툰 |
| 랭킹 | UTC 자정 초기화, 닉네임 중복 허용, 비속어 필터 |
| 난이도 | 초반이 루즈해서 곡선을 앞당김 (봇 평균 생존 65초 → 41초) |
| 배포 | 싱글과 멀티 모두 바로 배포, 한국 서버는 전용 VM |
마지막 줄의 난이도 조정은 커밋 6de0cdb에 수치로 남아 있다. 패턴 간격을 150초에 걸쳐 1.3초에서 0.6초로 줄이고, 두 번째 공룡을 35초에 등장시켰다. 숫자를 계산한 건 AI지만, “초반이 지루하다”고 느낀 건 직접 플레이한 나였다.
이미지: 후보를 뽑고 사람이 고른다
아트도 같은 구조다. AvoidNow의 원시인과 공룡은 이미지 생성 모델로 그렸다. 처음부터 한 장을 뽑은 게 아니라, 같은 캐릭터를 네 가지 스타일로 뽑아 비교했다.
AvoidNow 아트 방향 후보 A~D. 나는 C(인디 게임 카툰)를 골랐다. 굵은 외곽선, 단순하고 강한 실루엣, 큰 눈의 코믹한 표정이 기준이 됐다.
고른 뒤에는 도구가 나머지를 처리한다. 단색 배경으로 캐릭터 시트를 뽑고, 배경을 투명하게 지우고, 프레임을 잘라 아틀라스로 합친다. 랜선포차의 캐릭터 56종(커밋 dcbc6cc)도 같은 흐름으로 만들었고, 캐릭터 하나를 다시 뽑는 명령과 투명 처리·검수 이미지까지 만드는 명령이 따로 있다. 다만 뽑힌 그림을 보고 쓸지 다시 뽑을지 정하는 건 여전히 내 몫이다.
검증: 빨리 만든 만큼 확인 장치가 필요하다
AI는 코드를 빨리 쓰지만 틀린 코드도 빨리 쓴다. 그래서 게임마다 사람 없이 돌아가는 확인 장치를 먼저 만들었다.
- AvoidNow: 봇이 20판을 플레이하는 시뮬레이션 테스트가 있고, 모든 스크립트 컴파일 확인과 실제 서버에 붙는 E2E 테스트는 CI에서 돌린다(73c05a1).
- 랜선포차: 개발 중 자동 시뮬레이션으로 200판을 돌려 한 판 길이와 라운드 분포를 보고, 휴대폰 화면 크기로 E2E 테스트를 돌린다.
- PallMark: 원본 게임에서 뽑은 적합성 벡터 154개가 관문이다. 첫 포팅 커밋(1e3f6b2)은 0/154에서 시작했고, 원본과 같은 결과가 나오는지 이 벡터로 판정한다.
그래도 테스트가 재미를 판정해 주지는 않는다. Salmonholic은 게임 포털 CrazyGames에 냈다가 반려를 받았다. 9월 24일 0.12.0 커밋(e233905)의 제목이 “CrazyGames 반려 후 첫 90초 품질 개선”이다. 첫 90초가 지루하다는 건 사람이 해 봐야 알 수 있는 문제였다.
이 방식의 한계
- 결정이 병목이 된다. AI가 밤새 만든 결과물은 아침에 내 결정을 기다린다. AvoidNow의 결정 문서에는 조작감, 판정 크기, 점수 방식이 아직 “플레이해 보고 정할 것”으로 남아 있다.
- 플레이 시간이 부족해진다. 만드는 속도가 빨라지면 직접 해 보는 시간이 상대적으로 줄어든다. 랜선포차에서 업다운 게임의 차례 시간을 5초에서 10초로 늘린 커밋(e4fe59a)은 “플레이 피드백”에서 나왔다. 그런 커밋이 더 많아야 한다.
- 기록이 없으면 AI도 헤맨다. 저장소마다 작업 규칙 문서를 두고 결정을 적어 두는 이유다. 기록이 쌓일수록 다음 작업의 품질이 올라간다.
이 사이트의 글도 같은 방식으로 쓴다. AI가 커밋과 문서를 근거로 초안을 쓰고, 나는 사실과 방향을 확인한다. 이 방식으로 한 달을 보낸 결과는 한 달 동안 게임 네 개: 1인 스튜디오 회고에 숫자로 정리했다.
이 글에서 예로 든 게임은 직접 해 볼 수 있다. 아트 후보 C가 실제 게임에서 어떻게 보이는지는 AvoidNow에서, 결정 문서로 규칙을 정한 미니게임은 랜선포차에서 확인할 수 있다.


