원샷 프롬프트
젠프레소에서
- 새 프로젝트를 만든다
- 모델을 GPT-6 Astra로 바꾼다
- 아래 프롬프트를 붙여 넣고 보낸다 · 3–4분 기다린다
기본 모델(Flash)에 이 긴 프롬프트를 넣으면 결과 없이 끝날 수 있다. 한 번 생성에 약 20–30크레딧이 든다. 화면의 글을 옮겨 치지 말고 「복사」 버튼을 쓴다.
01 · 모듈 1 · 웹 브라우저
디저트 합체소
모델: GPT-6 Astra
질문하지 말고 바로 완성된 게임을 HTML 파일 하나로 만들어 줘. 「디저트 합체소」 — 머지 드롭 물리 퍼즐. 위에서 좌우로 조준해 디저트를 떨어뜨리고, 같은 디저트 둘이 닿으면 한 단계 큰 디저트로 합쳐져: 별사탕 → 마카롱 → 푸딩 → 도넛 → 붕어빵 → 크루아상 → 컵케이크 → 딸기 케이크 → 3단 웨딩 케이크. 디저트는 외부 이미지 없이 Canvas 코드로 귀엽게(눈·입·볼터치) 그려 줘. 파스텔 팔레트, 둥근 한글 글꼴. 물리는 matter-js 0.19.0(cdn.jsdelivr.net)으로, 합체는 collisionStart에서 처리해. HTML · CSS · JS로 나눠 줘: 점수 칸 <p id="score">·다음 디저트·버튼은 HTML+CSS, 게임판은 Canvas, 진화 도감은 SVG. 도감에서 못 만든 단계는 회색 실루엣과 「?」, 다음 목표 디저트는 실루엣으로 강조해 줘. 마우스랑 터치를 pointer 이벤트로 한 번에 받아 줘. 키는 눌린 키 목록으로 관리하고(← → Space), 이동은 게임 루프에서 해 줘. requestAnimationFrame 게임 루프와 델타 타임으로 움직여 줘. 상태 머신: 타이틀·플레이·결과. 타이틀에 「시작하기」 버튼, :hover 때 transform scale + transition 0.3s. 합칠 때 반짝이 파티클 30개(속도·수명·크기·색, 중력으로 떨어지고 수명이 끝나면 사라짐, 최대 300개)와 점수 팝업. 「새 디저트!」 알림은 ease-out으로 착 붙게 들어오게 해 줘. 위쪽 점선을 2초 넘게 넘으면 결과 화면: 점수·최고 점수(localStorage)·「다시 하기」. 글자는 모두 한국어. V 키 「구조 보기」: 영역마다 점선 테두리와 라벨(HTML·CSS / SVG / Canvas), FPS, 마지막 pointer 이벤트 이름. 코드는 간결하게(600줄 안팎) 써 줘.
02 · 모듈 2 · 게임 로직
야근 서바이버
모델: GPT-6 Astra
질문하지 말고 바로 완성된 게임을 HTML 파일 하나로 만들어 줘. 「야근 서바이버」 — 위에서 내려다보는 서바이버 게임. 그림은 외부 이미지 없이 모두 Canvas 코드로 귀엽게 그려 줘. 화면: 채도 낮은 회색 사무실 바닥에 책상·캐비닛·뽑기 기계. 주인공 직장인은 청록(발밑 청록 고리), 몬스터(서류 더미·이메일·종)는 주황 — 서로 반대색. 상태 머신으로 만들어 줘: 타이틀·플레이·일시정지·레벨업 선택·결과. 타이틀의 「업무 시작」 버튼으로 시작, ESC 키로 일시정지, 체력 0이면 「퇴근 실패」, 3분 버티면 「퇴근 성공」, 결과에 「다시 하기」. 게임 루프로 만들어 줘: 입력 읽기 → 세상 바꾸기 → 그리기. 델타 타임으로 움직여 줘(이동 = 초당 속도 × dt, dt 상한 0.05초). 조작: WASD·방향키, 휴대폰은 화면 드래그 조이스틱. 커피 콩이 가장 가까운 적에게 자동 발사되고, 서류 뭉치 휘두르기(근접)도 자동. 충돌은 원 거리로 판정해 줘(판정 원은 그림보다 작게). 책상·캐비닛은 상자 충돌로 막아 줘(주인공·몬스터 모두). 난이도 곡선: 쉬움 → 몰아침 → 숨 돌림 → 더 큰 웨이브 → 2분 30초에 보스 「부장님」. 「숨 돌림」·「보스!」 배너, 적은 최대 200마리. 타격감: 적을 때리면 히트스톱·흰 번쩍임·넉백·화면 흔들림·데미지 숫자. 보상 루프: 적을 잡으면 경험치 젬, 레벨업 때 게임을 멈추고 강화 카드 3장 중 하나 고르기(공격 속도·이동 속도·체력 회복·스테이플러 궤도). 공정 랜덤: 카드는 셔플 백으로, 큰 적의 금색 「당첨 캡슐」은 꽝마다 확률이 오르는 PRD로. 체력·남은 시간·레벨·점수 HUD는 DOM+CSS로 캔버스 위에 올려 줘. 글자는 모두 한국어. D 키 「로직 보기」: FPS·dt·현재 상태 이름, 판정 원(적 주황·나 청록)과 상자 충돌 테두리 표시. 코드는 간결하게(700줄 안팎) 써 줘.
03 · 모듈 3 · 연출
별가루 대시
모델: GPT-6 Astra
질문하지 말고 바로 완성된 게임을 HTML 파일 하나로 만들어 줘. 「별가루 대시」 — 옆으로 스크롤되는 2D 플랫포머. 주인공은 꼬리가 긴 주황 여우. 외부 이미지 없이 Canvas 코드로 그려 줘(노을빛 팔레트). 방향키로 달리고 Z·Space로 점프(누르는 길이만큼 높게), X로 대시. 별가루를 모아 정상의 제단까지 가면 클리어. 레벨은 화면 4배 길이의 타일 배열, 타일 충돌은 상자 충돌. 가시 판정은 그림보다 작게, 별가루는 먹는 판정을 크게. 가시에 닿으면 마지막 등불(체크포인트)에서 다시 시작. 결과 화면에 시간·별가루 수·「다시 하기」. 상태 머신: 타이틀·플레이·일시정지·결과. 타이틀 「시작하기」 버튼, ESC로 일시정지. 게임 루프와 델타 타임으로. 게임 필: 점프 직전 3프레임 웅크림, 뜰 때 늘어나고 착지할 때 찌그러지게(부피는 그대로), 먼지 파티클, 짧은 화면 흔들림. 관대한 입력: 코요테 타임 0.1초와 점프 입력 버퍼 0.1초. 사운드: 효과음과 배경음악은 Web Audio로 합성, 시작 버튼을 누를 때 AudioContext를 resume. 반복 효과음은 피치 ±8%. 애니메이션: 여우 꼬리가 2차 동작으로 늦게 따라오고, 가만히 있으면 숨쉬기. VFX: 대시 잔상, 별가루 반짝이 파티클, 가시에 닿으면 히트스톱과 흰 번쩍임. 공간: 배경을 다섯 겹 패럴랙스로(하늘·먼 산·유적·절벽·땅), 멀수록 느리게. 카메라는 남은 거리의 10%씩 부드럽게 따라오게. 조명: 화면을 어둡게 덮고 등불·여우·별가루 둘레만 둥글게 밝게. 연출을 하나씩 켜고 끄는 스위치를 1~6 키에(1 게임 필, 2 관대한 입력, 3 사운드, 4 애니메이션, 5 VFX, 6 공간·조명), 모두 끄면 회색 상자 게임. 글자는 모두 한국어. 코드는 간결하게(700줄 안팎) 써 줘.
04 · 모듈 4 · 3D 웹
젤리빈 레이스
모델: GPT-6 Astra
질문하지 말고 바로 완성된 게임을 HTML 파일 하나로 만들어 줘. 「젤리빈 레이스」 — 3D 장애물 달리기. three.js는 importmap으로 three@0.160.0(cdn.jsdelivr.net)을 써 줘. 외부 모델·이미지 없이 도형으로. 무대(scene)에 배우·조명·카메라를 놓고 렌더러가 1초에 60번 그리게 해 줘. 배우는 메시 = 모양 + 재질: 노란 젤리빈 레이서(캡슐 몸통 + 구 머리 + 검은 바이저 + 가슴의 B 글자). 몸통을 부모로, 팔다리를 자식으로 묶어서 걷게 해 줘. 팔은 어깨를 축으로, 다리는 엉덩이를 축으로 돌게. 조명 · 그림자: 노을빛 방향광과 부드러운 그림자, 반구광. 멀수록 흐려지는 안개를 깔아 줘. 카메라 = 눈: 캐릭터 뒤 위에서 부드럽게 따라오게. 코스: 파스텔 색 긴 발판, 회전하는 막대·좌우로 움직이는 벽·굴러오는 공, 결승선. 장애물에 부딪히면 튕겨 나가게(충돌 판정). 라이벌 젤리빈 봇 3명이 같이 달려. 순위와 기록을 결과 화면에. 방향키·WASD로 이동, Space로 점프. 착지할 때 스쿼시 앤 스트레치, 부피는 그대로, 발 기준으로. 상태 머신: 타이틀·카운트다운(3·2·1)·플레이·일시정지·결과. 타이틀에 「시작」 버튼, ESC로 일시정지, 결과에 「다시 하기」. 델타 타임으로 움직여 줘(dt 상한 0.05초). 휴대폰은 화면 버튼으로 이동·점프. X 키를 누르면 관절마다 점, 부모→자식을 노란 선으로 보여 줘. 글자는 모두 한국어. 코드는 간결하게(600줄 안팎) 써 줘. 다 쓴 뒤 코드를 한 번 다시 읽고, 빠진 함수 인자·NaN이 될 수 있는 계산·오타를 고쳐 줘.
05 · 모듈 5 · 카메라·마이크
응원봉 리듬
모델: GPT-6 Astra
질문하지 말고 바로 완성된 게임을 HTML 파일 하나로 만들어 줘. 「응원봉 리듬」 — 아이돌 콘서트 리듬 게임. 어두운 공연장 무대와 객석 불빛을 Canvas 코드로 그려 줘(분홍·하늘색 네온). 외부 이미지는 쓰지 마. 레인 4개(왼쪽 둘 분홍, 오른쪽 둘 하늘색)에 마름모 노트가 판정선으로 내려와. 응원봉을 휘둘러 노트를 지나가면 베기. 베기 판정: 이번 프레임 응원봉 끝의 이동 선분과 노트 원의 거리가 반지름보다 작으면 충돌. 음악은 Web Audio로 BPM 120 킥·스네어·신스 멜로디를 40초 합성하고, 노트 시각은 AudioContext.currentTime 기준으로. 판정 PERFECT ±50ms, GREAT ±100ms, 그 밖은 MISS. 점수·콤보·판정 글자를 크게, 맞으면 반짝이 파티클. 시작 버튼을 누르면 카메라를 켜고, 거부하면 마우스로 하게 해 줘(마우스·터치는 pointer 이벤트). MediaPipe로 손을 찾아서 응원봉을 움직여 줘: @mediapipe/tasks-vision@0.10.14(jsdelivr)의 Hand Landmarker, 모델은 storage.googleapis.com 공식 주소. 검지 끝(8번)으로 응원봉을 움직여 줘. 웹캠 영상은 좌우 반전해서 흐리게 깔아 줘. 떨리지 않게 lerp 보정(보정 = 보정 + (원본 − 보정) × k), 휘두르기 속도가 기준보다 빠를 때만 베기로 인정. H 키 「손 뼈대 보기」: 손 관절 21점과 뼈대 선, 원본(흰 점)과 보정(색 선), 휘두르기 속도 숫자. 마이크: 타이틀의 「박수 보너스」를 켜면 마이크를 따로 요청해, 소리 크기가 기준값을 넘으면 FEVER를 터뜨려 줘. 화면 구석에 소리 크기 막대와 기준값 선. 상태 머신: 타이틀·플레이·일시정지·결과. 「공연 시작」 버튼, ESC로 일시정지, 결과에 점수·최대 콤보·등급·「다시 하기」. 게임 루프와 델타 타임으로. 글자는 모두 한국어. 코드는 간결하게(600줄 안팎) 써 줘.