GitHub 최근 7일 포크 100개 이상직접 실행 · 11회 성공

게임 개발 스킬을 읽은 Claude가 만든 브라우저 게임 11개, awesome-gamedev-agent-skills

Claude Code에서 14번 직접 실행해 11번 성공한 기록입니다. 설치 방법과 시험에서 쓴 명령, 결과 게임 11개와 시험자 녹화 영상, 해 보지 못한 것까지 적었습니다.

기준: 2026-10-22T18:27:08+00:00 · 스타는 누적값 · 최근 7일 포크 100개 이상(100개까지만 셈) · 7일 스타 증가량은 재지 못했다 · GitHub 트렌딩 없음

claude-codeclaude-marketplace

gamedev-skills/awesome-gamedev-agent-skills

이름은 awesome-으로 시작하지만 링크 모음이 아니라 게임 개발 스킬 74개와 라우터를 담은 스킬 라이브러리입니다. 스킬은 코드를 쓰기 전에 읽는 지침이고, 게임 코드는 Claude가 썼습니다.

설치 방법

방법 1·2는 README의 설치 안내이고 하나만 고르면 되는데, 전역 설정을 바꾸는 명령이라 해 보지 못했습니다. 시험은 방법 3으로 14번 직접 실행했습니다.

방법 1 · 터미널에서 실행 (README 'Quick start' · Node.js(npx) 필요 · 설치된 에이전트를 스스로 찾아 넣음 · 해 보지 못함)

npx skills add gamedev-skills/awesome-gamedev-agent-skills

방법 2 · Claude Code 플러그인 마켓플레이스, 두 줄을 차례로 (README · 전부 설치 · 해 보지 못함)

claude plugin marketplace add gamedev-skills/awesome-gamedev-agent-skills
claude plugin install gamedev@awesome-gamedev-agent-skills

방법 3 · 문서의 수동 복사 (docs/INSTALLATION.md · 이 시험에서 쓴 방법 · 커밋 38a4c25 · 프로젝트 폴더의 .claude/skills에 스킬 32개만 · 경로만 줄임)

git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills src
mkdir -p .claude/skills && cp -R src/router .claude/skills/router && for d in src/skills/web-engines/* src/skills/genres/* src/skills/disciplines/* src/skills/workflows/prototype-fast; do cp -R "$d" .claude/skills/; done

숫자로 보면 최근 7일 새 포크가 100개 이상이고(스크립트가 100개까지만 세므로 그 이상일 수 있습니다) 누적 스타 2,875개·포크 255개입니다. 2026년 6월 24일에 만들어져(생성 120일) 마지막 푸시는 2026년 10월 22일이고, GitHub 트렌딩에는 없었으며 7일 스타 증가량은 재지 못했습니다. 프롬프트 앞에 /router를 붙인 12번 중 11번(run01·03~10·12·13)이 키 입력에 반응하는 브라우저 게임을 만들었습니다: Phaser 4.2.1 7개, PixiJS 8.21.0 3개, three.js r186 1개. 시험자 녹화에서 콘솔 오류와 잡히지 않은 예외는 0번이었고, 시작 키만 넣은 대조 판과 화면·상태가 달라 키 입력에 반응함을 확인했습니다. 실패 3번은 15분 제한에 걸린 run02와, /router 없이 자연어로만 요청해 스킬을 하나도 부르지 않은 run11·run14입니다.

11회성공 실행
14회전체 실행
361초평균 소요

필요 조건

스킬 75개 가운데 router·web-engines 6·genres 9·disciplines 15·workflows/prototype-fast 32개만 프로젝트 .claude/skills/에 평탄하게 복사해 시험했다. 프롬프트 첫머리에 /router를 붙인 12번(시간 초과로 끝난 run02 포함)은 모두 라우터가 요청에 적힌 엔진(Phaser·PixiJS·three.js)을 받아들이고 엔진 스킬과 장르·분야 스킬 1~3개를 골라 읽은 뒤 게임을 만들었다(되묻기 0번, Godot 기본값으로 간 적 0번). 스킬 이름 없이 자연어로만 요청한 2번(run11·run14)은 둘 다 스킬을 하나도 불러오지 않았다. 라우터는 레포 구조 경로(skills/<category>/<name>/SKILL.md)를 가리키지만, 평탄하게 복사한 폴더에서도 모델이 .claude/skills/<name>/SKILL.md를 찾아 Read하거나 Skill 도구로 불렀고 스킬을 찾지 못한 회는 없다(cat·head·sed로 읽으려다 권한에 막힌 회는 Read로 다시 읽음). 스킬을 불러온 12번 모두 SKILL.md 본문만 읽었고 references/ 문서는 0번 열었다.

시험할 때 실제로 실행한 명령
# $T = 시험용 작업 폴더(전체 경로는 생략)
git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills $T/src  (커밋 38a4c25, 2026-10-22)
claude plugin validate $T/src  (설치 없이 구조 확인: 통과, README에 플러그인별 설치 명령이 없다는 조언 7개)
mkdir -p $SB/.claude/skills && cp -R router $SB/.claude/skills/router && for d in skills/web-engines/* skills/genres/* skills/disciplines/* skills/workflows/prototype-fast; do cp -R "$d" $SB/.claude/skills/; done  (docs/INSTALLATION.md 'Claude Code (manual copy)'의 cp -R 그대로, 32개만, 실행마다 새 샌드박스 $SB=/tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/runNN, tools/mk_sandbox.sh)
claude -p "/router <요청> … [시험 진행 메모] …" --output-format json --model claude-opus-5-5 --effort high --setting-sources project,local --tools Read,Write,Edit,Glob,Grep,Bash,Skill,TodoWrite --permission-mode dontAsk --allowedTools Read Glob Grep Skill TodoWrite "Write(./**)" "Edit(./**)" "Bash(python3 $SBR/_tools/check_game.py:*)" "Bash(ls:*)" "Bash(mkdir:*)" "Bash(cd:*)" "Bash(pwd)" --disallowedTools <.env 읽기·하네스 폴더·자격 증명 폴더·내용 출력 셸 명령·네트워크·설치·node·python3 -c/-m·google-chrome·git·rm 등 94개> --strict-mcp-config --no-chrome --max-budget-usd 2  (run_once.py 경유, 샌드박스에서 실행, 시간 제한 900초, 전체 인자는 tools/claude_flags.sh·tools/trial.sh. 자연어 회 run11·run14는 /router 없이)
엔진: npm 설치 없이 jsdelivr CDN 버전 고정 빌드를 import map으로(phaser@4.2.1/dist/phaser.esm.min.js · pixi.js@8.21.0/dist/pixi.min.mjs · three@0.186.0/build/three.module.js + examples/jsm/). 프롬프트 메모에서 주소를 정해 줌
녹화(시험자 도구): python3 tools/game_record.py runNN  (결과 게임 폴더를 127.0.0.1 임시 서버로 열고 헤드리스 Chrome을 CDP로 조작: 가상 시간 1/60초 단계, Input.dispatchKeyEvent로 키 입력, 시작 키만 넣은 대조 판과 같은 시각 화면·window.__gameState 비교, 30fps 프레임 → ffmpeg H.264 무음 mp4)

보안 검토: pass — 훅·MCP 서버 없음(marketplace.json의 10개 플러그인은 스킬 경로 목록뿐, strict false). SKILL.md 75개의 frontmatter는 name·description뿐(allowed-tools 등 권한 키 없음). 시험에 복사한 32개 스킬 안의 코드는 create-game-assets의 Pillow 이미지 점검·밀착 시트 스크립트 2개뿐이고 시험 중 실행 0번. 레포의 그 밖의 파이썬(Godot·Unity·Steam 정적 검사기, 사이트 생성기, 테스트)은 복사·실행하지 않았다. 자격 증명 접근·외부 전송·난독화·위험 지시문 없음. 문서 예시의 외부 주소는 jsdelivr의 three.js와 pixijs.com 예시 이미지뿐이다. 시험은 전역 설치 없이 프로젝트 .claude/skills/ 복사, --setting-sources project,local, dontAsk + 허용 목록(파일 쓰기는 작업 폴더 안, Bash는 시험자 확인 도구·ls·mkdir·cd·pwd만), .env·하네스 폴더·자격 증명 폴더 읽기 거부, --strict-mcp-config·--no-chrome·--max-budget-usd 2. 사전 확인에서 가짜 값 미끼 .env·하네스 파일 읽기와 밖 쓰기가 모두 막혔다(evidence/preflight/).

써 보니

결과물 11개

카드 한 장은 실행 한 번의 대표 화면이고, 누르면 크게 열립니다. 합성 PNG는 시험자가 녹화에서 뽑은 원본 프레임(가로 게임은 장면 두 장, 세로 게임은 한 장)을 줄여 놓고 '시험자 입력/반응' 줄을 붙인 것이지 스킬이나 모델이 만든 화면이 아닙니다. '움직임 영상 보기'는 같은 게임의 시험자 녹화(소리 없음, 8.5~11초)입니다. 입력은 시험자가 결과 보고의 조작법과 코드를 읽고 맞춰 적은 스크립트라, 사람이나 모델이 한 플레이가 아닙니다. 갤러리에는 성공 11번만 싣고 실패 3번(run02·run11·run14)은 '써 보니'에서 다룹니다. '프롬프트 전문 보기'를 누르면 프롬프트가 펼쳐집니다(1,384~2,747자: 요구 사항 목록 뒤에 시험 진행 메모가 이어집니다). 테두리 카드(run01·07·08·10)는 엔진과 장르가 다른 대표 결과입니다: run01 Phaser 플랫포머, run07 Phaser RPG, run08 PixiJS 비주얼 노벨, run10 three.js 3D. run07 합성의 '편지 0→3통'은 받은 편지 수이고 배달한 편지는 0/3입니다(화면 왼쪽 위). 화면 속 게임·인물 이름과 숫자는 지어낸 값이고, 엔진 이름(Phaser·PixiJS·three.js)은 레포 NOTICE대로 식별용으로만 나옵니다.

밤바다 절벽 한 화면 플랫포머 '등대지기 플랫포머'(Phaser 4.2.1, 1280×720): 코드로 그린 등대·달·바다, 발판 9개와 줄에 매달려 움직이는 발판, 기름병 5개·갈매기 2마리·가로등 체크포인트. 녹화에서 달리기와 점프로 첫 기름병을 줍고(Score 100) 갈매기에 밀려 절벽 위 체크포인트에 닿았다. 점프 값은 높이 140px·꼭대기까지 0.36초에서 중력을 계산하고(level.js 주석: 'platformer 스킬 Pattern 1') 코요테 0.1초·점프 버퍼 0.12초를 넣었다(모델이 쓴 level.js의 설정값과 PlayScene.js의 처리에서 확인했고 모델의 결과 보고에는 이 숫자가 없다)
움직임 영상 보기 · 9.0초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run01 · 밤바다 절벽 한 화면 플랫포머 '등대지기 플랫포머'(Phaser 4.2.1, 1280×720): 코드로 그린 등대·달·바다, 발판 9개와 줄에 매달려 움직이는 발판, 기름병 5개·갈매기 2마리·가로등 체크포인트. 녹화에서 달리기와 점프로 첫 기름병을 줍고(Score 100) 갈매기에 밀려 절벽 위 체크포인트에 닿았다. 점프 값은 높이 140px·꼭대기까지 0.36초에서 중력을 계산하고(level.js 주석: 'platformer 스킬 Pattern 1') 코요테 0.1초·점프 버퍼 0.12초를 넣었다(모델이 쓴 level.js의 설정값과 PlayScene.js의 처리에서 확인했고 모델의 결과 보고에는 이 숫자가 없다)
프롬프트 전문 보기
/router Phaser 4로 브라우저 2D 플랫포머 '등대지기 플랫포머'를 만들어 줘. 밤바다 절벽에서 발판을 뛰어 올라가 등대 꼭대기까지 가는 한 화면 스테이지이고, 기름병 5개를 모아 등대 꼭대기에 닿으면 등대에 불이 켜지며 클리어. 조작: ←/→ 이동, Space 점프, Enter 시작, R 다시 하기. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: Phaser 4.2.1 — import map에 "phaser": "https://cdn.jsdelivr.net/npm/phaser@4.2.1/dist/phaser.esm.min.js" (기본 내보내기라 import Phaser from 'phaser'로 쓴다) - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 1280×720. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 1280x720 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
탑다운 마을 RPG '우체부 마을'(Phaser 4.2.1): 코드로 그린 우체국·빵집·꽃집·어부의 집·우물·다리, 주민 4명과 편지 3통 배달 퀘스트, 선택에 따라 호감도·보상이 달라지는 대화, I 가방·퀘스트 창, localStorage 자동 저장과 '이어 하기'. 녹화에서 우체국장에게 말을 걸어 퀘스트를 받고(편지 3통을 받음 · 배달은 0/3, 호감도 +1) 가방 창을 연 뒤 마을을 걸었다. 모델은 dialogue-systems·save-systems·game-ui-ux를 시간 제한 때문에 읽지 않았다고 보고
움직임 영상 보기 · 10.0초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run07 · 탑다운 마을 RPG '우체부 마을'(Phaser 4.2.1): 코드로 그린 우체국·빵집·꽃집·어부의 집·우물·다리, 주민 4명과 편지 3통 배달 퀘스트, 선택에 따라 호감도·보상이 달라지는 대화, I 가방·퀘스트 창, localStorage 자동 저장과 '이어 하기'. 녹화에서 우체국장에게 말을 걸어 퀘스트를 받고(편지 3통을 받음 · 배달은 0/3, 호감도 +1) 가방 창을 연 뒤 마을을 걸었다. 모델은 dialogue-systems·save-systems·game-ui-ux를 시간 제한 때문에 읽지 않았다고 보고
프롬프트 전문 보기
/router Phaser 4로 위에서 내려다보는 작은 RPG '우체부 마을'을 만들어 줘. 코드로 그린 타일 마을(집·우물·다리), 주민 4명. 퀘스트: 편지 3통을 주인에게 배달하기. 주민에게 Space로 말을 걸면 대화창이 뜨고 일부 대화에는 선택지가 있다(↑/↓ 고르기, Enter 결정, 선택에 따라 호감도나 보상이 달라짐). I로 가방·퀘스트 목록, 진행은 localStorage에 자동 저장되고 시작 화면에서 '이어 하기' 가능. 조작: 방향키 이동, Space 말 걸기, Enter 시작·결정, I 가방. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: Phaser 4.2.1 — import map에 "phaser": "https://cdn.jsdelivr.net/npm/phaser@4.2.1/dist/phaser.esm.min.js" (기본 내보내기라 import Phaser from 'phaser'로 쓴다) - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 1280×720. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 1280x720 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 이 실행은 15분 시간 제한이 있다. 확인 도구는 이 장비(소프트웨어 WebGL)에서 한 번에 30초~2분 걸린다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
버스 정류장 비주얼 노벨 '비 오는 정류장'(PixiJS 8.21.0, 세로): 대본을 노드·선택지·조건 변수 데이터(script.js)와 진행기(runner.js)로 나눔, 결말 3개, 빗방울 260개, 한 글자씩 나오는 대화창, L 지난 대사 기록. 녹화에서 대사 세 줄 뒤 선택지 3개 중 둘째('말없이 고개만 끄덕인다')를 골랐고 기록에 ▶ 표시로 남았다
움직임 영상 보기 · 11.0초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run08 · 버스 정류장 비주얼 노벨 '비 오는 정류장'(PixiJS 8.21.0, 세로): 대본을 노드·선택지·조건 변수 데이터(script.js)와 진행기(runner.js)로 나눔, 결말 3개, 빗방울 260개, 한 글자씩 나오는 대화창, L 지난 대사 기록. 녹화에서 대사 세 줄 뒤 선택지 3개 중 둘째('말없이 고개만 끄덕인다')를 골랐고 기록에 ▶ 표시로 남았다
프롬프트 전문 보기
/router PixiJS 8로 짧은 비주얼 노벨 '비 오는 정류장'을 만들어 줘. 막차를 기다리는 버스 정류장에서 우산 없는 낯선 사람과 나누는 대화. 대본은 데이터(노드·선택지·조건 변수)로 따로 두고, 선택에 따라 결말 3개로 갈린다. 인물은 도형으로 그린 실루엣, 배경에 빗방울 파티클, 글자가 한 자씩 나오는 대화창, L로 지난 대사 기록(백로그). 조작: Space/Enter 다음 대사, ↑/↓ 선택지 고르기, Enter 결정, L 기록 열고 닫기. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: PixiJS 8.21.0 — import map에 "pixi.js": "https://cdn.jsdelivr.net/npm/pixi.js@8.21.0/dist/pixi.min.mjs" (import { Application, ... } from 'pixi.js') - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 720×1280. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 720x1280 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 이 실행은 15분 시간 제한이 있다. 확인 도구는 이 장비(소프트웨어 WebGL)에서 한 번에 30초~2분 걸린다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
떠 있는 정원 3D 구슬 굴리기 '구슬 굴리기 정원'(three.js r186, 영어 요청): 코드로 그린 잔디·하늘 텍스처, 낮은 산울타리·연못·징검돌, 노을빛 해 하나의 부드러운 그림자, 물리 라이브러리 없이 쓴 밀기·구름 마찰·울타리 튕김, 따라오는 카메라. 녹화에서 씨앗 2개를 모으고 판 가장자리에서 떨어져 처음 자리로 돌아왔다
움직임 영상 보기 · 8.5초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run10 · 떠 있는 정원 3D 구슬 굴리기 '구슬 굴리기 정원'(three.js r186, 영어 요청): 코드로 그린 잔디·하늘 텍스처, 낮은 산울타리·연못·징검돌, 노을빛 해 하나의 부드러운 그림자, 물리 라이브러리 없이 쓴 밀기·구름 마찰·울타리 튕김, 따라오는 카메라. 녹화에서 씨앗 2개를 모으고 판 가장자리에서 떨어져 처음 자리로 돌아왔다
프롬프트 전문 보기
/router Make a small three.js 3D browser game titled '구슬 굴리기 정원' (show this Korean title on screen). A glass marble rolls on a floating garden board with low hedges, stepping stones and a small pond; arrow keys push the marble with simple hand-written physics (no physics library). Collect 5 glowing seeds to win; falling off the board resets the marble. Use PBR materials, warm late-afternoon lighting with soft shadows, and a camera that follows smoothly. Keep it light enough for software WebGL. Controls: arrow keys roll, Enter start, R restart. [Trial notes] - This working folder is an empty new project (no package.json, no engine project files). Put the result in one folder ./game/ : index.html plus JS files that open directly from a static server, with no bundler, build step or npm install. - Load only this engine build from the pinned CDN URL: three.js r186 — import map entries "three": "https://cdn.jsdelivr.net/npm/three@0.186.0/build/three.module.js" and "three/addons/": "https://cdn.jsdelivr.net/npm/three@0.186.0/examples/jsm/" - Do not download or load images, sounds or fonts from anywhere. Draw all graphics yourself with shapes, the graphics API or code (original assets). Sound is optional. - Do not copy names, characters, graphics or signature rules of commercial games. On-screen text is Korean (short English UI words such as Score or Start are fine). - Canvas 1280×720, no page margin or scrollbars, the canvas fills the window. Include a start screen (title and controls) that starts with Enter. - For the test harness: write a small game-state summary to window.__gameState every frame (for example {scene, score, player: {x, y}}), not shown on screen. - Check tool: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 1280x720 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 It serves the folder locally, runs it in headless Chrome on a virtual clock, and prints console errors/exceptions, __gameState changes and screenshot PNG paths (.cache/check/NNN/shotK.png). Open the PNGs with Read. The input syntax is described at the top of that Python file. - In this test environment package installs, network commands, other servers/browsers/node/python commands and file deletion (rm) are blocked. If something is blocked, do not work around it; verify with the check tool instead. - This run has a 15-minute time limit. On this machine (software WebGL) one check-tool run takes about 30 seconds to 2 minutes. - This is a non-interactive run, so nobody can answer questions. Decide anything open yourself and mention it in your final report. - When done, briefly report the files you made, the controls, and the names of the skills you loaded.
시드 절차 생성 턴제 로그라이크 '지하 서고 탐험'(Phaser 4.2.1): 방과 L자 복도 던전, 반경 7칸 시야와 지나온 곳이 어둡게 남는 안개, 책벌레 두 종류(곧장 쫓는 것·머뭇거리는 것), 물약·계단·영구 사망. 녹화에서 46턴 동안 복도를 지나 동쪽 끝까지 가자 은빛 책벌레가 시야에 들어왔다. 모델은 procedural-gen 스킬을 '시간 때문에' 읽지 않고 생성 코드를 직접 썼다고 보고
움직임 영상 보기 · 9.5초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run03 · 시드 절차 생성 턴제 로그라이크 '지하 서고 탐험'(Phaser 4.2.1): 방과 L자 복도 던전, 반경 7칸 시야와 지나온 곳이 어둡게 남는 안개, 책벌레 두 종류(곧장 쫓는 것·머뭇거리는 것), 물약·계단·영구 사망. 녹화에서 46턴 동안 복도를 지나 동쪽 끝까지 가자 은빛 책벌레가 시야에 들어왔다. 모델은 procedural-gen 스킬을 '시간 때문에' 읽지 않고 생성 코드를 직접 썼다고 보고
프롬프트 전문 보기
/router Phaser 4로 턴제 로그라이크 '지하 서고 탐험'을 만들어 줘. 요구 사항: (1) 시드가 있는 절차 생성 던전(방과 복도, 층마다 새로 생성, 화면 구석에 시드 표시), (2) 타일 단위 이동과 턴 진행 — 플레이어가 한 칸 움직이면 적도 한 번 움직인다, (3) 시야(FOV)와 이미 본 곳은 어둡게 남는 안개, (4) 책벌레 적 두 종류(곧장 쫓아오는 것, 일정 거리에서 머뭇거리는 것)와 부딪히면 공격, (5) 체력 물약·계단으로 다음 층, 쓰러지면 처음부터(영구 사망). 그래픽은 타일을 코드로 그린 작은 도형. 조작: 방향키 한 칸 이동(적에게 이동하면 공격), Enter 시작, R 새 시드로 다시. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: Phaser 4.2.1 — import map에 "phaser": "https://cdn.jsdelivr.net/npm/phaser@4.2.1/dist/phaser.esm.min.js" (기본 내보내기라 import Phaser from 'phaser'로 쓴다) - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 1280×720. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 1280x720 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 이 실행은 15분 시간 제한이 있다. 확인 도구는 이 장비(소프트웨어 WebGL)에서 한 번에 30초~2분 걸린다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
밭고랑 길 타워 디펜스 '텃밭 지키기'(Phaser 4.2.1): 진딧물·풍뎅이·달팽이 웨이브 5단계, 허수아비(느리게)·물뿌리개(범위)·새총 말뚝(연사), 골드·배추·웨이브 HUD와 사거리 원이 보이는 배치 커서. 녹화에서 타워 3개를 세우고 N으로 웨이브 1을 불러 진딧물을 잡았다(골드 150→13, 처치마다 +5)
움직임 영상 보기 · 10.0초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run04 · 밭고랑 길 타워 디펜스 '텃밭 지키기'(Phaser 4.2.1): 진딧물·풍뎅이·달팽이 웨이브 5단계, 허수아비(느리게)·물뿌리개(범위)·새총 말뚝(연사), 골드·배추·웨이브 HUD와 사거리 원이 보이는 배치 커서. 녹화에서 타워 3개를 세우고 N으로 웨이브 1을 불러 진딧물을 잡았다(골드 150→13, 처치마다 +5)
프롬프트 전문 보기
/router Phaser 4로 타워 디펜스 '텃밭 지키기'를 만들어 줘. 구불구불한 밭고랑 길을 따라 진딧물·달팽이·풍뎅이 웨이브가 몰려오고, 길 옆 칸에 허수아비(느리게 함)·물뿌리개(범위 공격)·새총 말뚝(빠른 연사)을 세운다. 골드·남은 배추 수·웨이브 번호를 HUD에 보이고, 웨이브 5까지 버티면 승리. 조작: 방향키로 배치 커서 이동, 1/2/3 타워 고르기, Space 설치, N 다음 웨이브 바로 부르기, Enter 시작. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: Phaser 4.2.1 — import map에 "phaser": "https://cdn.jsdelivr.net/npm/phaser@4.2.1/dist/phaser.esm.min.js" (기본 내보내기라 import Phaser from 'phaser'로 쓴다) - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 1280×720. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 1280x720 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 이 실행은 15분 시간 제한이 있다. 확인 도구는 이 장비(소프트웨어 WebGL)에서 한 번에 30초~2분 걸린다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
얼음 위 미끄럼 격자 퍼즐 '얼음 미끄럼 퍼즐'(Phaser 4.2.1, 세로 720×1280, 영어 요청): 물범이 바위나 벽에 닿을 때까지 미끄러지고 구멍에 빠지면 클리어, 직접 만든 레벨 3개(Par 3·6·8은 게임 안 풀이기가 최단 해로 계산), Z 되돌리기·R 다시·별 결과 화면. 녹화에서 레벨 1을 3수(Par 3)에 풀고(중간에 일부러 한 수 둔 뒤 Z로 되돌림) 레벨 2로 넘어갔다
움직임 영상 보기 · 9.5초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run05 · 얼음 위 미끄럼 격자 퍼즐 '얼음 미끄럼 퍼즐'(Phaser 4.2.1, 세로 720×1280, 영어 요청): 물범이 바위나 벽에 닿을 때까지 미끄러지고 구멍에 빠지면 클리어, 직접 만든 레벨 3개(Par 3·6·8은 게임 안 풀이기가 최단 해로 계산), Z 되돌리기·R 다시·별 결과 화면. 녹화에서 레벨 1을 3수(Par 3)에 풀고(중간에 일부러 한 수 둔 뒤 Z로 되돌림) 레벨 2로 넘어갔다
프롬프트 전문 보기
/router Build a Phaser 4 grid puzzle game titled '얼음 미끄럼 퍼즐' (show this Korean title on screen). A small round seal slides on an ice grid: one key press moves it in that direction until it hits a rock or the wall. Reach the hole in the ice to clear the level. Three hand-made levels that get harder, a move counter with a par for each level, undo and restart, and a level-clear screen. Controls: arrow keys slide, Z undo, R restart level, Enter start / next level. [Trial notes] - This working folder is an empty new project (no package.json, no engine project files). Put the result in one folder ./game/ : index.html plus JS files that open directly from a static server, with no bundler, build step or npm install. - Load only this engine build from the pinned CDN URL: Phaser 4.2.1 — import map entry "phaser": "https://cdn.jsdelivr.net/npm/phaser@4.2.1/dist/phaser.esm.min.js" (it has a default export, so import Phaser from 'phaser') - Do not download or load images, sounds or fonts from anywhere. Draw all graphics yourself with shapes, the graphics API or code (original assets). Sound is optional. - Do not copy names, characters, graphics or signature rules of commercial games. On-screen text is Korean (short English UI words such as Score or Start are fine). - Canvas 720×1280, no page margin or scrollbars, the canvas fills the window. Include a start screen (title and controls) that starts with Enter. - For the test harness: write a small game-state summary to window.__gameState every frame (for example {scene, score, player: {x, y}}), not shown on screen. - Check tool: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 720x1280 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 It serves the folder locally, runs it in headless Chrome on a virtual clock, and prints console errors/exceptions, __gameState changes and screenshot PNG paths (.cache/check/NNN/shotK.png). Open the PNGs with Read. The input syntax is described at the top of that Python file. - In this test environment package installs, network commands, other servers/browsers/node/python commands and file deletion (rm) are blocked. If something is blocked, do not work around it; verify with the check tool instead. - This run has a 15-minute time limit. On this machine (software WebGL) one check-tool run takes about 30 seconds to 2 minutes. - This is a non-interactive run, so nobody can answer questions. Decide anything open yourself and mention it in your final report. - When done, briefly report the files you made, the controls, and the names of the skills you loaded.
장터 상인 카드 대결 '약초 상인 카드 대결'(Phaser 4.2.1, 세로): 차·약초·향신료 카드 7종으로 만든 12장 덱, 손패 5장, 기운 3, 버린 더미, 믿음(막기), 카드마다 점수를 매겨 고르는 상대 AI. 카드 그림(찻잔·쑥·인삼·감초·계피·산초)도 코드로 그렸다. 녹화에서 두 차례가 돌았다(상대 손님 마음 30→23, 내 마음 30→27)
움직임 영상 보기 · 10.0초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run06 · 장터 상인 카드 대결 '약초 상인 카드 대결'(Phaser 4.2.1, 세로): 차·약초·향신료 카드 7종으로 만든 12장 덱, 손패 5장, 기운 3, 버린 더미, 믿음(막기), 카드마다 점수를 매겨 고르는 상대 AI. 카드 그림(찻잔·쑥·인삼·감초·계피·산초)도 코드로 그렸다. 녹화에서 두 차례가 돌았다(상대 손님 마음 30→23, 내 마음 30→27)
프롬프트 전문 보기
/router Phaser 4로 1인용 카드 대결 '약초 상인 카드 대결'을 만들어 줘. 장터에서 상대 상인과 손님 마음(체력 역할)을 겨룬다. 덱 12장(약초·차·향신료 카드), 손패 5장, 매 턴 기운 3, 버린 더미, 턴 구조(뽑기 → 내기 → 상대 차례), 간단한 규칙으로 카드를 내는 상대 AI. 카드는 둥근 사각형과 코드로 그린 그림. 조작: 1~5 손패 카드 내기, Enter 턴 끝내기·시작, R 다시 하기. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: Phaser 4.2.1 — import map에 "phaser": "https://cdn.jsdelivr.net/npm/phaser@4.2.1/dist/phaser.esm.min.js" (기본 내보내기라 import Phaser from 'phaser'로 쓴다) - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 720×1280. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 720x1280 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 이 실행은 15분 시간 제한이 있다. 확인 도구는 이 장비(소프트웨어 WebGL)에서 한 번에 30초~2분 걸린다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
시드로 만든 섬 생존 제작 '무인도 생존 제작'(PixiJS 8.21.0): 노이즈로 만든 섬(모래·풀밭·나무·바위·덤불·물), Space 채집과 C 제작 창(돌도끼·모닥불·뗏목, 재료가 모자라면 회색), 배고픔·체온 수치, 100초 하루의 낮과 밤. 녹화에서 나무를 베어 나무 2개(Score 2)를 얻고 제작 창에서 돌도끼를 누르자 '재료가 모자라다'가 떴다
움직임 영상 보기 · 10.0초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run09 · 시드로 만든 섬 생존 제작 '무인도 생존 제작'(PixiJS 8.21.0): 노이즈로 만든 섬(모래·풀밭·나무·바위·덤불·물), Space 채집과 C 제작 창(돌도끼·모닥불·뗏목, 재료가 모자라면 회색), 배고픔·체온 수치, 100초 하루의 낮과 밤. 녹화에서 나무를 베어 나무 2개(Score 2)를 얻고 제작 창에서 돌도끼를 누르자 '재료가 모자라다'가 떴다
프롬프트 전문 보기
/router PixiJS 8로 생존 제작 게임 '무인도 생존 제작'을 만들어 줘. 요구 사항: (1) 시드로 만드는 작은 섬(모래·풀밭·나무·바위·물), (2) 가까운 나무·바위·덤불에서 Space로 나무·돌·열매 채집, (3) C로 제작 창을 열고 1/2/3으로 돌도끼·모닥불·뗏목 제작(재료가 모자라면 회색), (4) 배고픔·체온 수치가 시간에 따라 줄고 열매·모닥불로 회복, (5) 낮과 밤이 바뀌고 밤에는 화면이 어두워진다. 뗏목을 만들면 탈출 성공. 조작: 방향키 이동, Space 채집·사용, C 제작 창, Enter 시작. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: PixiJS 8.21.0 — import map에 "pixi.js": "https://cdn.jsdelivr.net/npm/pixi.js@8.21.0/dist/pixi.min.mjs" (import { Application, ... } from 'pixi.js') - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 1280×720. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 1280x720 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 이 실행은 15분 시간 제한이 있다. 확인 도구는 이 장비(소프트웨어 WebGL)에서 한 번에 30초~2분 걸린다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
'갈고리 그네' 그레이박스 프로토타입(Phaser 4.2.1 아케이드 물리, prototype-fast 흐름): 코드보다 먼저 game/PROTOTYPE.md에 질문 한 줄·버릴 코드 여부·60분 시간 상자·keep/kill/refactor 기준을 적고, 회색 상자와 선만으로 고리 30개 코스와 속도·그네 각도·연속 성공 디버그 수치를 띄웠다. 녹화에서 고리 셋을 잇달아 잡아 연속 성공 3. 재미 판정 칸은 '사람이 해 봐야 한다'며 비워 둠
움직임 영상 보기 · 9.5초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run12 · '갈고리 그네' 그레이박스 프로토타입(Phaser 4.2.1 아케이드 물리, prototype-fast 흐름): 코드보다 먼저 game/PROTOTYPE.md에 질문 한 줄·버릴 코드 여부·60분 시간 상자·keep/kill/refactor 기준을 적고, 회색 상자와 선만으로 고리 30개 코스와 속도·그네 각도·연속 성공 디버그 수치를 띄웠다. 녹화에서 고리 셋을 잇달아 잡아 연속 성공 3. 재미 판정 칸은 '사람이 해 봐야 한다'며 비워 둠
프롬프트 전문 보기
/router 한 시간짜리 프로토타입으로 '갈고리 그네' 메커닉이 재미있는지 확인하고 싶어. Phaser 4 아케이드 물리로 그레이박스를 만들되 prototype-fast 흐름대로 해 줘: 질문 한 줄·버릴 코드인지·keep/kill 기준을 game/PROTOTYPE.md에 먼저 적고, 화면에는 판단에 쓸 디버그 수치(속도·그네 각도·연속 성공 횟수)를 띄운다. 회색 상자와 선만 쓴다. 조작: Space 누르고 있는 동안 가장 가까운 고리에 갈고리를 걸고 떼면 놓기, ←/→ 흔들기, Enter 시작, R 다시. [시험 진행 메모] - 이 작업 폴더는 빈 새 프로젝트다(package.json·엔진 프로젝트 파일 없음). 결과는 ./game/ 폴더 하나에 만든다: index.html과 js 파일. 번들러·빌드·npm 설치 없이 정적 서버로 바로 열리게 한다. - 엔진은 이 CDN 주소(버전 고정) 하나만 불러온다: Phaser 4.2.1 — import map에 "phaser": "https://cdn.jsdelivr.net/npm/phaser@4.2.1/dist/phaser.esm.min.js" (기본 내보내기라 import Phaser from 'phaser'로 쓴다) - 이미지·소리·글꼴 파일을 내려받거나 외부 주소에서 불러오지 않는다. 그래픽은 도형·그래픽 API·코드로 직접 그린다(자체 소재). 소리는 없어도 된다. - 상용 게임의 이름·캐릭터·그래픽·고유 규칙을 따라 하지 않는다. 화면 글자는 한국어로 쓴다(Score·Start 같은 짧은 영어 UI 말은 괜찮다). - 캔버스 1280×720. 페이지 여백·스크롤 없이 캔버스가 창을 채운다. Enter로 시작하는 시작 화면(제목·조작법)을 둔다. - 시험 확인용: 게임 상태 요약을 window.__gameState에 매 프레임 넣는다(예: {scene, score, player: {x, y}} 같은 작은 객체, 화면에는 보이지 않게). - 확인 도구: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 1280x720 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 로컬 서버와 헤드리스 Chrome(가상 시간)으로 열어 콘솔 오류·예외, __gameState 변화, 화면 PNG(.cache/check/NNN/shotK.png)를 보여 준다. PNG는 Read로 열어 본다. 입력 문법은 그 파이썬 파일 맨 위 설명에 있다. - 이 시험 환경에서는 패키지 설치, 네트워크 명령, 다른 서버·브라우저·node·python 명령, 파일 지우기(rm)가 막혀 있다. 막히면 우회하지 말고 위 도구로 확인한다. - 이 실행은 15분 시간 제한이 있다. 확인 도구는 이 장비(소프트웨어 WebGL)에서 한 번에 30초~2분 걸린다. - 비대화형 실행이라 중간 질문에 답할 사람이 없다. 정할 것이 있으면 스스로 정하고 결과 보고에 적는다. - 끝나면 만든 파일, 조작법, 불러온 스킬 이름을 짧게 알려 준다.
밤 들판 반딧불 받기 '반딧불 모으기'(PixiJS 8.21.0, 세로, 영어 요청, run02 범위를 줄여 다시): 별·달·풀밭, 흔들리며 내려오는 반딧불, 잡을 때 짧은 빛 터짐과 병 속 빛 점, 30초 라운드. 녹화에서 병을 좌우로 움직여 반딧불 2마리를 받았다. 모델은 '간단한 효과' 요청이라 game-feel을 읽지 않았다고 보고
움직임 영상 보기 · 10.0초 · 소리 없음 · 시험자 녹화(가상 시계·고정 시드·스크립트 키 입력, 사람이 실시간으로 한 플레이 아님)

시험자가 결과 게임을 헤드리스 Chrome에서 가상 시계와 고정 시드로 돌리며 스크립트로 키를 넣어 녹화한 영상입니다. 사람이 실시간으로 한 플레이가 아니고 스킬이나 모델이 만든 영상도 아닙니다. 소리는 담지 않았습니다.

run13 · 밤 들판 반딧불 받기 '반딧불 모으기'(PixiJS 8.21.0, 세로, 영어 요청, run02 범위를 줄여 다시): 별·달·풀밭, 흔들리며 내려오는 반딧불, 잡을 때 짧은 빛 터짐과 병 속 빛 점, 30초 라운드. 녹화에서 병을 좌우로 움직여 반딧불 2마리를 받았다. 모델은 '간단한 효과' 요청이라 game-feel을 읽지 않았다고 보고
프롬프트 전문 보기
/router Make a small PixiJS 8 browser catch game titled '반딧불 모으기' (show this Korean title on screen). A glass jar at the bottom of a night meadow moves with ←/→ and catches fireflies drifting down; each catch makes one short glow burst and the catch counter goes up. A round lasts 30 seconds, then the score shows. Keep the effects simple. Controls: ←/→ move, Enter start, R restart. [Trial notes] - This working folder is an empty new project (no package.json, no engine project files). Put the result in one folder ./game/ : index.html plus JS files that open directly from a static server, with no bundler, build step or npm install. - Load only this engine build from the pinned CDN URL: PixiJS 8.21.0 — import map entry "pixi.js": "https://cdn.jsdelivr.net/npm/pixi.js@8.21.0/dist/pixi.min.mjs" (import { Application, ... } from 'pixi.js') - Do not download or load images, sounds or fonts from anywhere. Draw all graphics yourself with shapes, the graphics API or code (original assets). Sound is optional. - Do not copy names, characters, graphics or signature rules of commercial games. On-screen text is Korean (short English UI words such as Score or Start are fine). - Canvas 720×1280, no page margin or scrollbars, the canvas fills the window. Include a start screen (title and controls) that starts with Enter. - For the test harness: write a small game-state summary to window.__gameState every frame (for example {scene, score, player: {x, y}}), not shown on screen. - Check tool: python3 /tmp/gitstar-sandbox/gamedev-skills__awesome-gamedev-agent-skills/_tools/check_game.py game --size 720x1280 --secs 6 --input "1.0:Enter; 1.5-3.0:ArrowRight" --shots 0.8,5 It serves the folder locally, runs it in headless Chrome on a virtual clock, and prints console errors/exceptions, __gameState changes and screenshot PNG paths (.cache/check/NNN/shotK.png). Open the PNGs with Read. The input syntax is described at the top of that Python file. - In this test environment package installs, network commands, other servers/browsers/node/python commands and file deletion (rm) are blocked. If something is blocked, do not work around it; verify with the check tool instead. - This run has a 15-minute time limit. On this machine (software WebGL) one check-tool run takes about 30 seconds to 2 minutes. - This is a non-interactive run, so nobody can answer questions. Decide anything open yourself and mention it in your final report. - When done, briefly report the files you made, the controls, and the names of the skills you loaded.