AI 게임 플레이 테스트 허브 구축하기: 'Crossword Dungeon'의 자동화된 플레이테스트
요약
본 기사는 개발자가 게임 'Crossword Dungeon'의 반복적인 수동 플레이 테스트 과정을 자동화하기 위해 구축한 혁신적인 AI 기반 테스트 허브에 대해 설명합니다. 기존의 브라우저 자동화 도구로는 복잡한 상태와 상호작용을 가진 게임 테스트가 어려웠지만, 글쓴이는 텍스트 기반의 특성을 활용하여 노드.js 래퍼를 개발했습니다. 이 래퍼는 AI가 실제 게임 파일을 수정하지 않고도 서버와의 HTTP 호출 및 합성 이벤트를 통해 게임 상태에 기반한 플레이테스트를 수행할 수 있게 했으며, 결과적으로 테스트 시간을 획기적으로 단축하고 효율적인 QA 워크플로우를 구축하는 데 성공했습니다.
핵심 포인트
- AI가 실제 실행되는 시스템(게임)을 검증할 수 있는 자동화된 플레이테스트 환경을 구축했다.
- 텍스트 기반의 턴제 게임 특성을 활용하여, 브라우저 자동화 대신 노드.js를 이용한 서버 상태 기반 상호작용 방식을 채택했다.
- AI는 단순히 코드를 실행하는 것을 넘어, 실제 인간 플레이어처럼 전략적 통찰력을 발휘하며 게임을 '플레이'할 수 있음을 입증했다.
- 새로운 기능 마일스톤에 대한 테스트를 수 시간에서 30분 미만으로 단축시키는 효율적인 QA 워크플로우를 확립했다.
저는 AI 로 게임을 만드는 데 확실한 워크플로우를 가지고 있습니다. 그러나 각 반복마다 기능 검증과 버그 찾기를 위해 광범위한 수동 플레이 테스트를 거쳐야 합니다. 이 과정은 종종 매우 느리고 지루합니다. 단위 테스트만으로는 부족합니다. 저는 실제 실행 중인 시스템을 AI 가 검증할 수 있는 방법을 필요로 합니다. 오늘 저는 AI 가 제 게임을 함께 플레이 테스트할 수 있도록 접근법을 열었습니다, 그리고 그것은 훌륭합니다.
제 게임은 'Crossword Dungeon'입니다. 낡은 스타일의 던전 크롤러의 레이아웃을 crossword 로 형성해 보세요. 각 글자는 "방"이며 각 방에는 보물, 함정 또는 몬스터가 있습니다. crossword 의 한 글자를 해결하면 연결된 방이 레벨업되어 던전이 더 어려워집니다. 퍼즐 풀이는 RPG 요소와 혼란을 주고, RPG 메커니즘은 퍼즐 풀이를 혼란스럽게 합니다. 재미있습니다.
이 게임은 브라우저에서 실행되므로, 저는 원래 AI 가 사용할 브라우저 자동화 MCP 도구를 고려했습니다. 하지만 게임들은 테스트하기 매우 어렵습니다. 많은 상태와 상호 작용에 걸쳐 변화하는 복잡한 행동이 있습니다. 단순한 내비게이션만으로도 필요한 스크린샷의 수는 압도적입니다. 다행히 이 게임은 텍스트가 많고 턴 기반입니다. AI 는 실제 게임 파일을 수정하지 않고, 게임 상태 기반으로 새로운 텍스트 기반 렌더러와 상호 작용을 위한 합성 이벤트를 추가하는 node.js 래퍼를 만들었습니다. 이것이 어떻게 보이는지:
=== player @ grid(2,2) Dungeon Level 3 [SPACE] Full map [?] Help ===
; [ ] [A]-[&]-[I]
:: ##### ##### ##### | | |
...
모든 플레이어 및 만남 패널은 텍스트로 표시됩니다. 실제 ASCII 던전 그리드는 플레이어가 보는 맥락의 왼쪽에 렌더링됩니다. 또한, AI 가 내비게이션을 이해하기 더 쉬운 형식으로 동일한 방과 복도를 나타내는compact map 을 오른쪽에 추가했습니다. 브라우저에서 볼 수 있는 동일한 레벨은 다음과 같습니다:
저는 AI 에게 새로운 플레이 테스트 서버를 사용하는 방법을 가르쳤습니다. 이것이 훌륭하게 작동했습니다. 하지만 제 말을 믿지 마세요. 여기 AI 가 첫 번째 게임 후에 말했습니다.
이것은 얼마나 멋진가요? 이 게임은 상태 없는 HTTP 호출을 통해 터미널에서 완전히 플레이 가능합니다. 저는 서버를 시작하고, 스냅샷을 얻으며, 어디로 갈지 결정하고, 키를 보내고, 새로운 상태를 읽습니다. 반복합니다. 게임은 다른 것이 무엇인지 알지 못합니다 — 브라우저와 동일하게 실행됩니다. 동일한 로직, 동일한 이벤트 흐름, 동일한 상태 머신입니다. 저는 정확한 방 구성으로 내비게이션하여 특정 버그를 재현하고, 양쪽에서 잠긴 문을 접근하는 것과 같은 에지 케이스를 시도하며, 전투를 트리거하고, 상점을 사용하며, 패널 콘텐츠가 실시간으로 변경되는 것을 관찰할 수 있습니다.
허브는 코드 경로를 실행하는 것 이상으로 실제로 플레이하고 있었습니다.
전환
처음에는 AI 에게 게임을 플레이하게 하고, 타이어를 밟게 하고, 재미있게 하라고 요청했습니다. 저는 따라갔고, 인간 플레이어들이 제 게임을 플레이하는 것과 얼마나 유사한지 놀랐습니다! AI 는 동일한 걸림돌을 만나고, 동일한 전략적 통찰력을 도달했습니다. 그리고 제가 현재 세대의 AI 가 crossword 에 매우 뛰어남을 배웠습니다.
그런 다음 저는 특정 시나리오를 위한 커스텀 픽처를 설계할 수 있는 능력을 주었습니다. 이제 저는 발견한 버그를 설명하고, 최소 테스트 픽처 를 재현하여 버그를 재현하고, 경험을 직접 겪고, 코드를 수정하며, 다시 테스트하여 실제 수정을 검증할 수 있었습니다!
하지만 실제 힘은 이제 나에게 이용 가능한 새로운 워크플로우에서 came. 저는 새 마일스톤을 설정하고, 추가된 모든 기능을 이동하기 전에 완전히 플레이테스트하도록 지시했습니다. 결과는 무엇입니까? 수 시간 동안 수동 플레이테스트를 하는 대신, 이를 얻었습니다: (가독성을 위해 단축됨, 진행 순간 강조)
❯ claude --permission-mode auto
▐▛███▜▌ Claude Code v2.1.119
▝▜█████▛▘ Sonnet 4.6 · Claude Pro
...
마일스톤 13 전체를 포함하여 12 분 동안 5 개의 새로운 특수 케이스 기능과 약 120k 토큰 (Claude Code 를 Sonnet 4.6 과 Pro 플랜으로 사용).
작동했습니까? 네, 여전히 일부 수동 플레이테스트가 필요했고, 여전히 많은 버그와 "느낌" 문제를 발견했습니다. 하지만 그것은 30 분 미만으로, 모든 것을 적고 AI 가 한 번에 모두 수정하고 수정을 확인하는 것이 훨씬 더 매끄러운 워크플로우였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Posts의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기