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. ビジュアル方針 固定した斜め上からの三人称カメラでヒーローを追従し、ミニチュアのおもちゃのジオラマとして見せます。プレイフィールドは、薄いグリッドと「ODD ARMS」の印刷されたコーナーマークが入った濃紺のカッティングマットです。暖色の木製デスクの上に置き、デスクの縁には大きめのクラフト用品(糸巻き、装飾的な真鍮ロゼット付きの箱、革製のツールロール、真鍮のデスクランプ、木製のおもちゃの列車、おもちゃのパーツ)を並べ、実在する卓上のアリーナとして見せます。ランプ側から暖色のキーライトを当て、柔らかなアンビエントフィル、接触影、穏やかなブルームを使います。キャラクターは光沢のある、ずんぐりしたコレクタブルフィギュア風で、彩度の高い色にします。 UIは、ネイビーの文字とコーラルオレンジのアクセントを使った、クリームホワイトの角丸カードにします。見出しには太く凝縮されたディスプレイフォント(「LET'S MAKE SOME TROUBLE.」)、本文には読みやすい凝縮サンセリフ体を使います。戦闘中は、左上に体力カード、その下に連続撃破カウンター、上中央に「SURVIVE THE WEIRD」のカウントダウン、右上にウェーブ表示・サウンド・設定・Pause、右側に撃破数、下中央にレベル/XPピル、左下に3つの武器チップ(orbit/returning/shooterとレベル)、右下に操作表示とダッシュのクールダウン、その上に「Q NOVA READY!」ピルを配置します。爽快感の演出として、ダメージ数値、クリティカル、敵のスクワッシュ&ストレッチ、ノックバック、弾けるパーティクル、軽いカメラシェイクを加えます(prefers-reduced-motionが設定されている場合はシェイクを無効にします)。 ## 3. ワールド 正方形のアリーナを1つ用意し、ヒーローをX軸・Y軸ともに±23ユニット以内に制限します。カッティングマットがプレイエリア全体を占め、デスクと小道具は制限範囲の外側に背景として置きます(当たり判定はなし)。開始時は空のアリーナが、端から徐々に敵で満たされます。敵はヒーローから12〜16ユニット(最初の1秒間は8〜11ユニット)離れたリング上に出現し、ヒーローへ一直線に向かって歩きます。22秒ごとに、半径13の円周上に敵が一斉に出現するサージを発生させます。ヒーローの現在位置の下には赤い警告円を表示し(最初は28秒後、その後はmax(4.4, 9 − t/50)秒ごと)、2秒後に爆発させます。 ## 4. アセット一覧 安定したモデルスロットを用意します。各スロットは必ず1つのGLBを読み込み、中央揃えにして、目標の高さへ自動スケーリングし、読み込みに失敗した場合はシンプルなプレースホルダーへフォールバックします。 ヒーロー(10体、`hero:<id>`)。それぞれシルエットが明確な、ずんぐりしたおもちゃのフィギュアです。 - `cat` Astro Cat — 白い宇宙服とガラス製ヘルメットを着たオレンジ色のトラ猫。HP 100、速度 6.8、マグネット倍率 ×1.35、ダッシュのクールダウン 2.4 s。 - `frog` Frog Fighter — 赤いボクシンググローブを着けた緑色のカエル。HP 130、速度 6.8、ダッシュダメージ 135。 - `shroom` Mushroom Hero — 小さなマントをまとった赤い傘のキノコ。HP 90、速度 7.6、ダッシュ 1.8 s。 - `capybara` Chill Capybara — 温泉でくつろぐカピバラ。HP 160、速度 5.8、マグネット倍率 ×1.15、ダッシュ 3 s、ダッシュダメージ 110。 - `ramen` Ramen Ronin — 湯気の立つラーメンどんぶりを抱えた侍。HP 105、速度 7.2、ダッシュ 2.2 s、ダッシュダメージ 120。 - `penguin` Office Penguin — シャツとネクタイ姿のペンギン。HP 80、速度 7.1、ダッシュ 1.5 s、ダッシュダメージ 75。 - `axolotl` Axolotl — ピンク色のウーパールーパー探検家。HP 85、速度 7.3、マグネット倍率 ×1.6、ダッシュダメージ 75。 - `avocado` Avo Boxer — 種をコアにしたアボカドのボクサー。HP 120、速度 6.4、ダッシュ 2.1 s、ダッシュダメージ 130。 - `robot` Clockwork Bot — ゼンマイと鍵が付いたブリキのロボット。HP 115、速度 6.2、ダッシュ 2.8 s、ダッシュダメージ 165。 - `snail` Snail Knight — 家ほど大きな殻を背負った騎士姿のカタツムリ。HP 190、速度 5.2、マグネット倍率 ×1.2、ダッシュ 3.2 s、ダッシュダメージ 120。 記載のない場合、ダッシュダメージは90です。 武器(12種、`weapon:<id>`)。攻撃スロット別に分類します。 - Orbit:`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)。 - Returning:`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)。 - Shooter:`duck` Duck Rocket(ホーミング、範囲ダメージ 2、間隔 0.42 s);`toaster` Angry Toaster(3発の貫通扇状弾、ダメージ 0.7);`teapot` Raging Teapot(低速弾2発、範囲ダメージ 2.8、間隔 0.8 s);`bubble-gun` Bubble Gun(貫通バブル2個、ダメージ 0.45、間隔 0.3 s)。 初期ロードアウトは Astro Cat、Banana Blades、Angry Toaster。最初のアップグレードでOrbit武器がアンロックされます。 敵(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. ゲームプレイとフィードバック フロー:Character → Loadout(returningを1つ+shooterを1つ)→ Ready(選択した武器を装備したヒーローの3Dターンテーブルプレビュー。ドラッグで回転)→「Let's play」。オンボーディングの各ステップでは、そのカテゴリだけを表示し、説明、プレイスタイル、弱点のテキストを掲載します。最後に選んだロードアウトを記憶します。 操作:WASD/矢印キーで移動。Spaceで移動方向へダッシュ(速度 ×3.7、短時間の無敵、1回のダッシュにつき2ユニット以内の敵に1度だけダメージ)。エネルギーが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) s、敵数の上限は180体。接触ダメージは9(ベアは18)。被弾後は0.85 sの無敵時間を付与します。敵を1体倒すごとにエネルギーを2獲得し、クリスタルを1個ドロップします。各武器の9回目のヒットはクリティカルとなり、ダメージが×1.7になります。25キルの連続撃破で5 sのフレンジーが発動(攻撃速度 ×1.65、クールダウン 13 s)。ダメージを受けると連続撃破数はリセットされます。レベルアップに必要なXPは20、その後はround(need × 1.4 + 10)です。レベルアップしてもゲームは一時停止せず、ブロッキングしない選択カードをキューに入れます。最初のアップグレードでは3種類のOrbit武器を提示し、それ以降は次の3つから3つを提示します:Orbit overload(オービターを1個追加、最大7個、ダメージ +22%)、Another round(より高速・長時間・高威力のリターン)、Full blast(連射速度アップ、ダメージ +20%、弾数増加)、Live a little(速度 +10%、HP +30)。どの選択肢を選んでもHPを8回復します。 終了条件:180 s生き残る →「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 + vanilla JavaScript + Three.jsを使用し、GLTFLoader、RoomEnvironmentライティング、ACESトーンマッピングを導入します。シミュレーションは、注入可能な乱数ソースを備えた純粋な固定タイムステップのモジュールに分離し、完全なプレイをテストでシミュレートできるようにします。レンダラーは状態を読み取るだけにします。各GLBは1度だけキャッシュし、インスタンス用にクローンします。繰り返し登場する装飾にはインスタンシングまたはLODを使用します。ピクセル比の上限はモバイルで1.5とし、ウェーブが密集した場合は1まで下げます。シャドウの更新は毎秒30回以内に制限し、HUDテキストは値が変化したときだけ更新します。コリジョン(シンプルな円)とビジュアルメッシュを分離します。フォント、モデル、テクスチャは同一オリジンから配信し、ビルドを静的フォルダにします。デスクトップとスマートフォンのブラウザを対象にし、横持ちのスマートフォンとセーフエリアを含め、幅320 px以上に対応します。モデルの複雑さは画面上のサイズに応じて調整し、ポリゴン数に固定の上限は設けません。 ## 7. 完了条件 - オンボーディング、勝利・敗北までのバトル、一時停止/再開、同じロードアウトでの再スタート、ロードアウト変更を含む一連のフローが動作する。 - 10体のヒーローと12種類の武器がすべて読み込まれ、上記の数値どおりに動作する。どのロードアウトでも180 sのプレイをエラーなく完了できる。 - キーボード操作とタッチ操作の両方が動作し、ジョイスティックとDashを同時に使える。 - GLBインポートで選択したヒーローまたは武器の見た目が置き換わり、不正なファイルは適切に拒否される。 - Tripo3D/Simple3Dの切り替えで、プレイ中にすべてのモデルが置き換わる。 - 開始画面、戦闘中、リザルト画面が参考資料と一致し、実行可能なソース、起動コマンド、静的な本番ビルドを提供する。

このプロンプトの使い方

01

適したツールを開く

普段使っているコーディングアシスタントや 3D ツールを開きましょう。まずは作例に記載されたモデルを試し、リンク先のプロジェクトで設定手順を確認してください。

02

変更する点を一つ選ぶ

主題、画風、舞台を変えてみましょう。カメラと操作を明確にし、まず小さな作品を作ってから、一つずつ細部を整えます。

03

シーンに独自の素材を加える

オリジナルのキャラクターや小物が必要なら、短い物体の説明や参考画像から 3D モデルを作り、プロジェクトに取り込みましょう。

プレビューの権利は各作者に帰属します。コードや素材を再利用する前に、元の出典とプロジェクトのライセンスを確認してください。