ITCL · Evolution Log · 2026.07.27 – 07.28

프롬프트 하나가
두 개의 게임이 되기까지

영문 858자에서 시작한 AI 게임 프로젝트가, 이후 사용자의 짧은 지시 열여섯 번을 거쳐 어떻게 바뀌어 왔는지의 전 기록입니다. 무엇을 요구했고, 무엇이 문제였고, 어떻게 고쳤는지를 단계별로 남겼습니다.

16회사용자 지시
6단계진화 국면
19개공개 저장소 커밋
10종발견·수정한 버그
1,337줄새로 작성한 모듈
501줄자동 검증 하네스
▶ 원본 BLACKSITE 플레이 ▶ 매불쇼 에디션 플레이 ← 최초 제작 과정 문서

01 · 여섯 단계의 진화

각 단계는 사용자의 요구에서 시작해, 그 요구가 드러낸 문제를 고치면서 끝납니다. 계획해서 이렇게 된 것이 아니라, 요구 → 구현 → 실제 플레이 → 문제 발견의 반복이 만든 궤적입니다.

02 · 화면으로 보는 변화

모두 실제 캡처입니다. 클릭하면 크게 볼 수 있습니다.

03 · 지시 열여섯 번, 그 해석과 실행

대부분 한두 문장이었습니다. 각 항목을 클릭하면 그 지시를 어떻게 읽고, 무엇을 판단해, 어떻게 실행했는지 펼쳐집니다.

04 · 발견해서 고친 것들

앞의 다섯 개는 최초 제작 과정에서, 뒤의 다섯 개는 이번 진화 과정에서 나왔습니다. 대부분 "기능이 없는 것"이 아니라 "있는데 조건이 안 맞아 작동하지 않는 것"이었습니다.

구분증상진짜 원인수정
패턴 하나 — 사용자가 "안 된다"고 말한 것 중 실제로 기능이 없던 건 모바일 사격 버튼 하나뿐이었습니다. 나머지는 전부 작동은 하는데 보이지 않거나, 조건이 안 맞아 실행되지 않던 것이었습니다. 그래서 고친 것의 절반이 '피드백'입니다.

05 · 지킨 설계 원칙

기능을 얹을 때마다 원본을 뜯지 않고 바깥에서 붙이는 쪽을 택했습니다. 그 덕분에 두 게임이 같은 엔진을 공유하면서도 서로를 깨뜨리지 않습니다.

06 · 매번 자동으로 확인한 것들

기능을 추가할 때마다 검증 스크립트를 같이 만들었습니다. 헤드리스 브라우저로 실제 게임을 띄워 끝까지 플레이해 보고, 콘솔 에러가 하나라도 있으면 실패로 칩니다.

하네스줄 수무엇을 확인하나

마지막 실행 결과

스폰 방향   : [0,-1] | 앞쪽(70도 이내) 카드 5 / 5
카드 각도   : 1:21도/4.4m  2:31도/12.2m  3:30도/19.6m  4:17도/24.2m  5:2도/19m
사망 진행   : 목숨2(대사) → 목숨1(대사) → 목숨0(대사)
최종        : {"lives":0,"failed":true,"failVisible":true,"hp":0}
모바일 버튼 : {"fire":true,"ads":true,"reload":true}
모바일 사격 : mag 30 → 28
콘솔 이슈   : 0
헤드리스의 함정 — 이 환경은 소프트웨어 렌더러라 초당 1프레임 수준입니다. 그래서 "이동 거리 0", "체력 안 깎임" 같은 결과가 자주 나오는데 대부분 실기기와 무관한 착시입니다. 실제로 이번에도 테스트가 대사와 경합해 2/5, 4/5 로 들쭉날쭉했고, 원인은 게임이 아니라 테스트 순서였습니다.

07 · 지금까지 나온 것