3DPrompt.
GitHub
라이브러리로 돌아가기
GPT-6 Astra참고용 제작 설명

ODD ARMS — 기묘한 무기 서바이벌 게임

바나나 칼날, 토스터, 뚫어뻥을 든 장난감 영웅이 작업대 위에서 태엽 몬스터와 싸우는 3분짜리 Three.js 서바이벌 게임을 제작하세요. 플레이어는 Tripo Studio에서 자신만의 영웅이나 무기를 만들고 GLB를 가져와 게임을 플레이할 수 있습니다.

제작자 Deniffer원본 출처 보기
ODD ARMS — 기묘한 무기 서바이벌 게임

이 예시에 대해

제작자가 공개한 프로젝트를 바탕으로 정리한 시작용 설명이며, 원본 프롬프트를 그대로 옮긴 것이 아닙니다. 결과는 달라질 수 있습니다.

ODD ARMS 소스(v0.2.0, 커밋 76df11f)와 2026-09-18 odd-arms.tripo.page의 실제 플레이를 바탕으로 작성자가 작성했으며, 모든 수치는 게임 코드에서 가져왔습니다.

Three.js서바이벌 게임자동 공격기묘한 무기장난감 디오라마Tripo StudioGLB 가져오기커스텀 영웅

프롬프트

# ODD ARMS — 당신의 아이디어. 당신의 영웅. ## 1. 목표 게임 UI는 모두 영어로 유지하세요(일본어는 선택 가능한 언어 전환 옵션으로 추가). 「자동 공격 웨이브」장르의 완성도 높은 3분짜리 브라우저 서바이벌 게임을 제작하세요. 플레이어는 장난감 크기의 영웅과 기상천외한 무기 2개를 고른 뒤, 공방 작업대 위에서 180초 동안 몰려드는 몬스터를 버텨야 합니다. 무기는 자동으로 공격하며, 플레이어는 이동·대시·크리스털 수집·업그레이드 선택과 충전된 노바 발사만 조작합니다. 핵심 재미는 나만의 영웅이나 무기를 Tripo에서 만들고 GLB를 다운로드해 게임에 넣을 수 있다는 점입니다. 완성 결과물에는 https://odd-arms.tripo.page/와 제공된 레퍼런스를 사용하세요. Deniffer의 크레딧을 https://x.com/lumina__team. 에 표시하세요.## 2. 비주얼 방향 고정된 3/4 탑다운 카메라가 영웅을 따라가는 미니어처 장난감 디오라마처럼 연출하세요. 플레이 영역은 은은한 격자와 「ODD ARMS」 모서리 표시가 인쇄된 짙은 네이비색 커팅 매트이며, 따뜻한 색감의 나무 책상 위에 놓여 있습니다. 책상 가장자리에는 실타래, 장식적인 황동 로제트 상자, 가죽 공구 롤, 황동 책상 램프, 나무 장난감 기차, 장난감 부품 등 큼직한 공예 소품을 빽빽하게 배치해 실제 탁상 위 아레나처럼 보이게 하세요. 램프 쪽에서 따뜻한 키 라이트를 비추고, 부드러운 앰비언트 필 라이트와 접촉 그림자, 은은한 블룸을 사용하세요. 캐릭터는 채도가 높은 색상의 광택 있는 통통한 컬렉터블 피겨 스타일로 제작합니다. UI: 네이비색 텍스트와 코럴 오렌지 포인트를 사용한 크림 화이트 색상의 둥근 카드. 헤드라인(「LET'S MAKE SOME TROUBLE.」)에는 굵고 폭이 좁은 디스플레이 폰트를, 본문에는 깔끔한 콘덴스드 산세리프 폰트를 사용하세요. 전투 중에는 왼쪽 상단에 체력 카드, 그 아래에 연속 처치 카운터, 상단 중앙에 「SURVIVE THE WEIRD」 카운트다운, 오른쪽 상단에 웨이브 라벨 + 사운드 + 설정 + 일시정지, 오른쪽에 처치 수, 하단 중앙에 레벨/XP 필, 왼쪽 하단에 무기 칩 3개(오빗/리턴/슈터와 레벨), 오른쪽 하단에 조작 안내 + 대시 쿨다운, 그 위에 「Q NOVA READY!」 필을 배치하세요. 타격감 요소로 대미지 숫자, 치명타, 스쿼시 앤드 스트레치 적, 넉백, 팝 파티클, 가벼운 카메라 흔들림을 추가하세요(prefers-reduced-motion이 설정된 경우 흔들림은 비활성화). ## 3. 월드 정사각형 아레나 하나를 만들고, 두 축 모두에서 영웅의 위치를 ±23 유닛으로 제한하세요. 커팅 매트가 플레이 영역을 채우며, 책상과 소품은 제한 영역 바깥의 배경으로만 배치합니다(충돌 없음). 아레나는 비어 있는 상태로 시작하고 가장자리에서 적이 유입됩니다. 적은 영웅으로부터 12~16유닛 거리의 링에서 생성되며(첫 1초 동안은 8~11유닛), 영웅을 향해 직선으로 이동합니다. 22초마다 반지름 13인 원 전체에 적이 생성되는 웨이브를 발생시키세요. 영웅의 현재 위치 아래에는 빨간색 경고 원이 나타나고(첫 경고는 28초, 이후 max(4.4, 9 − t/50)초마다), 2초 후 폭발합니다. ## 4. 에셋 목록 안정적인 모델 슬롯을 준비하세요. 각 슬롯은 단일 GLB를 로드하고, 중앙 정렬한 뒤 목표 높이에 맞게 자동 스케일링해야 하며, 로드에 실패하면 단순한 플레이스홀더를 사용해야 합니다. 영웅(10종, `hero:<id>`)은 각각 실루엣이 뚜렷한 통통한 장난감 피겨로 제작합니다. - `cat` Astro Cat — 흰색 우주복과 유리 헬멧을 착용한 주황색 태비 고양이. HP 100, 속도 6.8, 자석 ×1.35, 대시 쿨다운 2.4초. - `frog` Frog Fighter — 빨간 복싱 글러브를 낀 초록 개구리. HP 130, 속도 6.8, 대시 대미지 135. - `shroom` Mushroom Hero — 작은 망토를 두른 빨간 버섯. HP 90, 속도 7.6, 대시 쿨다운 1.8초. - `capybara` Chill Capybara — 온천에서 느긋하게 쉬는 카피바라. HP 160, 속도 5.8, 자석 ×1.15, 대시 쿨다운 3초, 대시 대미지 110. - `ramen` Ramen Ronin — 김이 나는 라멘 그릇을 든 사무라이. HP 105, 속도 7.2, 대시 쿨다운 2.2초, 대시 대미지 120. - `penguin` Office Penguin — 셔츠와 넥타이를 착용한 펭귄. HP 80, 속도 7.1, 대시 쿨다운 1.5초, 대시 대미지 75. - `axolotl` Axolotl — 분홍색 아홀로틀 탐험가. HP 85, 속도 7.3, 자석 ×1.6, 대시 대미지 75. - `avocado` Avo Boxer — 씨앗 코어가 있는 아보카도 복서. HP 120, 속도 6.4, 대시 쿨다운 2.1초, 대시 대미지 130. - `robot` Clockwork Bot — 태엽 열쇠가 달린 양철 로봇. HP 115, 속도 6.2, 대시 쿨다운 2.8초, 대시 대미지 165. - `snail` Snail Knight — 집만 한 껍데기를 짊어진 기사 달팽이. HP 190, 속도 5.2, 자석 ×1.2, 대시 쿨다운 3.2초, 대시 대미지 120. 별도 표기가 없는 경우 기본 대시 대미지는 90입니다. 무기(12종, `weapon:<id>`)는 공격 슬롯별로 그룹화합니다. - 오빗: `sardine` Sardine Chainsaw (물고기 3개, 반지름 2.9, 대미지 1, 속도 1.2); `cactus` Cactus Club (곤봉 2개, 반지름 3.3, 대미지 1.65, 속도 0.78, 타격 반지름 1.25, 넉백 1.5); `plunger` Plunger Patrol (뚫어뻥 4개, 반지름 2.25, 대미지 0.85, 속도 1.5). - 리턴: `banana` Banana Blades (2개, 대미지 1, 속도 1.25); `pizza` Pizza Cutter (대형 디스크 1개, 대미지 1.5, 속도 0.82, 타격 반지름 1.65); `croissant` Croissant Blades (3개, 대미지 0.75, 속도 1.45); `boomerang` Boomerang (1개, 대미지 1.15, 속도 1.6); `donut-disc` Donut Disc (1개, 대미지 1.5, 속도 0.9, 타격 반지름 1.3). - 슈터: `duck` Duck Rocket (유도, 스플래시 2, 간격 0.42초); `toaster` Angry Toaster (3발 관통 부채꼴, 대미지 0.7); `teapot` Raging Teapot (느린 탄환 2개, 스플래시 2.8, 간격 0.8초); `bubble-gun` Bubble Gun (관통 버블 2개, 대미지 0.45, 간격 0.3초). 기본 장비는 Astro Cat, Banana Blades, Angry Toaster이며, 첫 번째 업그레이드에서 오빗 무기를 해금합니다. 적(3종, `enemy:<id>`)은 태엽 장난감 몬스터입니다.`red-chomper` (빨간색의 둥글고 무는 장난감, 기본형, 기본 HP 30, 속도 2.35), `spring-rabbit` (노란색 스프링 다리 토끼, 고속형, 기본 HP 23, 속도 3.5), `crown-bear` (왕관을 쓴 대형 패치워크 곰, 탱커, 기본 HP 130, 속도 1.7, 60초 이후 17% 확률로 등장, XP 3 드롭). 장면 소품(`prop:<id>`): 작업대, 커팅 매트 프레임과 모서리 플레이트, 책상 램프, 장난감 기차, 실타래, 장식적인 로제트 상자, 공구 롤, 장난감 부품 트레이. 매트, 격자, 크리스털, 발사체, 경고 원, 파티클, 조명과 UI는 모두 프로시저럴 방식으로 유지하세요. ## 5. 게임플레이 및 피드백 진행 흐름: 캐릭터 → 장비(리턴 1개 + 슈터 1개) → 준비(선택한 무기를 장착한 영웅의 3D 턴테이블 미리보기, 드래그해 회전) → 「Let's play」. 온보딩의 각 단계에는 해당 카테고리만 표시하고, 설명·플레이 스타일·약점 텍스트를 함께 보여 주세요. 마지막 장비 구성을 기억합니다. 조작: WASD/화살표 키로 이동합니다. 이동 방향으로 Space를 누르면 대시합니다(속도 ×3.7, 짧은 무적, 대시 1회당 반지름 2유닛 안의 적에게 한 번 대미지). 에너지가 100이면 Q로 노바를 발사합니다(반지름 11, 대미지 200, 강한 넉백, 크리스털 끌어당김). 1/2/3 또는 클릭으로 업그레이드를 선택하고, Esc로 일시정지합니다. 창 포커스를 잃으면 자동으로 일시정지합니다. 모바일에서는 왼쪽에 아날로그 가상 조이스틱을, 오른쪽에 쿨다운/충전 링이 표시되는 Dash 및 Nova 버튼을 배치하세요. 멀티터치를 지원해 조이스틱과 버튼을 동시에 사용할 수 있어야 합니다. 세로 화면에서는 업그레이드를 조이스틱 위에, 가로 화면에서는 양 엄지손가락 사이에 배치합니다. 규칙: 적 HP = base × (1 + t/260) × 1.3. 생성 간격은 max(0.18, 0.52 − 0.0016·t)초이며, 적은 최대 180마리까지 유지합니다. 접촉 대미지는 9(곰은 18)이고, 피격 후 0.85초 동안 무적입니다. 적을 처치할 때마다 에너지 2를 얻고 크리스털이 하나 드롭됩니다. 무기별 9번째 타격마다 ×1.7 치명타가 발생합니다. 25킬 연속 달성 시 5초 동안 광란 상태가 됩니다(공격 속도 ×1.65, 쿨다운 13초). 대미지를 받으면 연속 처치 수가 초기화됩니다. 레벨업에 필요한 XP는 첫 레벨이 20이며, 이후 round(need × 1.4 + 10)으로 계산합니다. 레벨업 중에도 게임은 일시정지되지 않으며, 논블로킹 선택 카드가 대기열에 추가됩니다. 첫 업그레이드에서는 오빗 무기 3개를 제시하고, 이후에는 다음 중 3개를 제시합니다. 오빗 오버로드(오빗 무기 +1, 최대 7개, 대미지 +22%), Another round(더 빠르고 길며 강력한 리턴), Full blast(발사 속도 증가, 대미지 +20%, 발사체 증가), Live a little(속도 +10%, HP +30). 선택할 때마다 HP를 8 회복합니다. 종료 조건: 180초 생존 시 → 「Beautifully weird. You made it.」; HP가 0이 되면 → 「That was a glorious mess.」를 표시합니다. 두 결과 화면에는 처치한 적 수, 최고 연속 처치 수, 생존 시간이 표시되며, 「Run it back」/「Change loadout」 버튼과 나만의 영웅 만들기 프롬프트도 제공합니다. 나만의 에셋 만들기: 장비 화면, 일시정지 화면, 결과 화면에서 「Create my hero / weapon in Tripo」를 선택하면 새 탭에서 https://studio.tripo3d.ai/을 엽니다. 「Import GLB」는 로컬 .glb 파일(≤15 MB, 임베드된 텍스처만, 브라우저에서 파싱하며 업로드하지 않음)을 불러와 중앙 정렬 및 스케일 조정한 뒤, 선택한 영웅 또는 무기의 외형만 교체하고 능력치는 유지합니다. 잘못된 파일에는 명확한 오류를 표시하고 원본 모델을 유지하세요. 모델 비교: 헤더 토글 「Tripo3D ⇄ Simple3D (Blender)」로 모든 영웅, 무기, 적, 소품을 대응하는 단순 프리미티브 세트로 교체하세요. 게임을 다시 시작하지 않고 실행 중에도 전환할 수 있어야 합니다. 전환하기 전에 대체 세트 전체를 로드하고, 파일 하나라도 실패하면 현재 세트를 유지합니다. ## 6. 기술 구현 Vite + 바닐라 JavaScript + Three.js를 사용하고 GLTFLoader, RoomEnvironment 조명, ACES 톤 매핑을 적용하세요. 시뮬레이션은 주입 가능한 난수 소스를 사용하는 순수 고정 타임스텝 모듈로 분리해 전체 플레이를 테스트에서 시뮬레이션할 수 있게 합니다. 렌더러는 상태만 읽습니다. 각 GLB는 한 번만 캐시하고 인스턴스에 복제해 사용하세요. 반복되는 장식물에는 인스턴싱 또는 LOD를 사용합니다. 픽셀 비율은 제한합니다(모바일 1.5, 웨이브가 밀집하면 1로 낮춤). 그림자는 초당 최대 30회 갱신하고, HUD 텍스트는 값이 변경될 때만 업데이트합니다. 충돌 처리(단순 원)와 비주얼 메시를 분리하세요. 폰트, 모델, 텍스처는 동일 출처로 번들링해 빌드 결과물이 정적 폴더가 되도록 합니다. 데스크톱과 모바일 브라우저를 대상으로 하며, 가로 화면 휴대폰과 안전 영역을 포함해 너비 320px 이상을 지원합니다. 모델 복잡도는 화면에 표시되는 크기에 맞춰 조정하고, 폴리곤 수에 하드 리밋을 두지 마세요. ## 7. 완료 조건 - 온보딩, 승리 및 패배까지의 전투, 일시정지/재개, 같은 장비 구성으로 재시작, 장비 변경 등 전체 흐름이 작동해야 합니다. - 영웅 10종과 무기 12종이 위 수치대로 로드되고 동작해야 하며, 어떤 장비 구성으로도 180초 플레이를 오류 없이 완료할 수 있어야 합니다. - 조이스틱과 Dash 동시 사용을 포함해 키보드와 터치 조작이 모두 작동해야 합니다. - GLB를 가져오면 선택한 영웅 또는 무기의 외형이 교체되고, 잘못된 파일은 안정적으로 거부해야 합니다. - Tripo3D / Simple3D 토글로 플레이 중 모든 모델을 교체할 수 있어야 합니다. - 시작 화면, 전투 중 화면, 결과 화면이 레퍼런스와 일치해야 하며, 실행 가능한 소스, 시작 명령어, 정적 프로덕션 빌드를 제공하세요.

이 프롬프트 사용법

01

적합한 도구로 시작하기

원하는 코딩 도우미나 3D 도구를 여세요. 예시에 표시된 모델을 시작점으로 삼고, 연결된 프로젝트의 설정 안내를 확인하세요.

02

바꿀 요소 하나 고르기

주제, 미술 스타일, 배경을 바꿔보세요. 카메라와 상호작용을 명확히 설명하세요. 먼저 작은 버전을 만든 다음 한 번에 하나씩 다듬으세요.

03

장면에 나만의 모델 추가하기

나만의 캐릭터나 소품이 필요하면 짧은 물체 설명이나 참고 이미지로 3D 모델을 만든 뒤 프로젝트로 가져오세요.

미리보기 작품의 권리는 각 제작자에게 있습니다. 코드나 자료를 재사용하기 전에 원본 출처와 프로젝트 라이선스를 확인하세요.