3DPrompt.
GitHub
ライブラリに戻る
GPT-6 Astra参考用の制作指示

Crazy Tanks — 3Dアイランド砲撃戦

完全3Dの島の砲撃戦で、狙いを定め、風を読み、ゼロからチャージして戦おう。6種類の砲弾を選び、深いクレーターを刻み、激しさを増す戦場を生き残れ。

作者 jared
Crazy Tanks — 3Dアイランド砲撃戦

この作例について

作者が公開したプロジェクトをもとにした制作の出発点です。元のプロンプトをそのまま転載したものではなく、結果は異なります。

jaredのオリジナルCrazy Tanksソース、コミット bf23b8878a1c24dbfb105a227a06b4faa29d42e9、および検証済みのv92ゲームプレイに基づく再構築仕様。モデルはTripo P2、音楽と効果音はElevenLabsで生成。公開済みのソーシャル投稿は提供されていない。

3D戦車ゲーム砲撃破壊可能な地形Three.jsTripo

プロンプト

1. プロジェクトの目的 熱帯の島を舞台にした、プレイ可能で本格的な3Dターン制砲撃ゲーム「Crazy Tanks — Wild Tides」を制作する。プレイヤーは小型戦車を操り、風を読み、ゼロからチャージするタイミングを見極め、砲弾で戦場の地形を変形させる。AIとのソロプレイと、ローカルで交代しながら遊ぶパス&プレイに対応し、デフォルトでは3台の戦車によるバトルロイヤル形式、任意で2台のデュエルを選べるようにする。最後まで生き残った戦車が勝者となる。現在のリファレンスゲームプレイとスクリーンショットをビジュアルの目標にする。 2. ビジュアルスタイル パースペクティブカメラと自由に回転できる3Dジオメトリを使い、平面スプライトや固定されたサイドビューにはしない。明るい日差しのミニチュアジオラマとして、丸みを帯びた翡翠色、コーラルオレンジ、青紫色の戦車、クリーム色の砂、淡い緑の草、ターコイズ色の反射する水面、柔らかな影、遠景の薄い大気ハイズを表現する。3台の戦車はそれぞれ異なるシルエットと、対応する砲身を維持する。戦場の上にはコンパクトなクリーム色の円形/装甲パネル、下には濃いティール色の丸みを帯びたコントロールデッキを配置する。ゴールドはリファレンスのパワーと発射アクション、ミント色は実際のチャージ量と味方ステータスに使う。Tripo / Three.jsの外観切り替えを画面上部で目立たせ、初期状態ではTripoアセットを使用する。外観を切り替えても、対戦状態と物理状態は維持する。画面空間上に細く均等な間隔のティール色の破線を使い、着弾円は控えめにする。照準グラフィックを水面に反射させない。 3. ワールドとシーン およそ260×184メートルの破壊可能なハイトフィールドの島を使用し、一定の海面高度の海で周囲を囲む。開始時の戦車は安定した地面に離して配置し、岩、ヤシ、サボテン、収集可能な補給クレートを分散させる。小さな装飾用の島は背景に奥行きを加えるためのものであり、破壊可能なメイン地形の代わりにはしない。爆発で地表を変形させ、海面より下まで掘り下げられるようにする。重なった平面によるちらつきを避けるため、海岸線の色と波の泡は1つの水面で表現する。毎フレームのレンダリング時に、ワールド座標から戦車番号を投影表示する。全軌道、戦車、オービット、戦術オーバーヘッドの各カメラビューを用意する。軌道ビューでは、発射する戦車、弧を描く軌道、推定着弾位置がHUDとコントロールデッキの間に収まるようにする。各射撃の前に約0.8秒間、発射する戦車を表示し、砲口付近で一瞬止まってから砲弾を追従する。手動でカメラを操作した場合は、シネマティックな追従をキャンセルする。 4. アセット一覧 安定したモデルスロットを使用し、差し替えモデルを個別に指定できるようにする。 - jade-body:丸みを帯びた緑色の盾型履帯ボディ。プレイヤーの初期ボディ。jade-cannon:対応する翡翠色の砲身。暗い砲腔とゴールドのアクセントを備え、独立して可動させる。 - ember-body:先端が尖ったコーラルオレンジ色の装甲ボディ。低いメカニカルなシルエット。ember-cannon:対応する、より長いオレンジ色の砲身と暗い砲口。 - bolt-body:青紫色の工業的な履帯ボディ。角張った装甲プレートを備える。bolt-cannon:対応する太い青色の砲身。 - shell:暗い先細りの弾頭とシアン色のアクセントを備えた真鍮製の砲弾。武器ごとの色味とスケールを適用して再利用する。 - crate:シアン色のマーキングと補強された角を備えた黄色い装甲補給ボックス。回収するとアーマーを20回復する(上限100)。 - rock:温かみのある丸い砂岩の塊。スケールを変えて繰り返し配置し、別のコリジョンプロキシを使用する。 - palm:曲がった幹と層状の緑の葉。島の植生として繰り返し配置する。 - cactus:小さな花のディテールを備えたコンパクトな緑色のサボテン。乾いた地形に繰り返し配置する。 - islet:淡い岩/砂の縁を持つ、丸みを帯びた草地の背景島。アリーナの外側に繰り返し配置する。 対応する3組のボディ/砲身を最優先し、次に砲弾/クレート、環境プロップを作成する。地形変形、海、泡、炎、煙、衝撃波、破片、照準グラフィック、ライティング、UI、コリジョンプロキシはプロシージャルにする。対応するボディと砲身のパーツは、1つのデザインリファレンスとスケールを共有する。砲身のピボットは機械的な接合部に置き、前方軸を+Xに合わせ、見た目の砲口を物理的な発射位置として使用する。戦車のボディはクォータニオンで斜面に沿わせ、砲塔の照準はワールド空間の方向として維持する。元データのPBRテクスチャとUVシームを保持する。フル解像度でダウンロード可能なモデルは、最適化したゲーム実行時コピーと分離する。リファレンスとファイルの出典情報には、実際の生成元を明記する。 5. ゲームプレイとフィードバック 生存している各戦車は、ターン開始時に18メートル移動できる。WASDと移動パッドは画面基準で移動し、矢印キーと照準パッドは方位角と仰角を調整する。スライダーでは方位角、10~80度の仰角、0~100のリファレンスパワーを設定する。ライバルを選択するとその方向を向くだけで、射撃解を自動計算してはならない。 ティール色の弧は、風がない場合に選択したリファレンスパワーでの軌道を予測する。チャージ中はそのリファレンス値とゴールドのマーカーを固定する。Fire、Space、Enter、またはフォーカス中のFireボタンを長押しすると、実際のパワーを毎回0から開始する。1秒あたり18パーセントポイントずつ増加させ、100で保持し、離した瞬間の実際のパワーで1回だけ発射する。素早くタップした場合は弱い射撃になる。リファレンス値の±3パーセントポイントにあるゴールドの帯は視覚的なフィードバックにのみ使い、スナップや隠れた補正は行わない。ポインターのキャンセル、ウィンドウのフォーカス喪失、表示状態の喪失時はキャンセルする。チャージ中は移動、ターゲット、照準の変更をロックする。range inputのキーボード操作で砲塔まで回転させない。パワー0は最低発射速度を意味し、砲弾が静止するわけではない。 矢印と目に見える風の流線で、風が砲弾を押す方向を示す。風力とメートル毎秒を表示し、風のカードをクリックすると説明を表示する。風が左から吹く場合、プレイヤーはやや右を狙う必要がある。風が強いほど、また飛翔時間が長いほど、横流れは大きくなる。1回の射撃中は風を一定に保ち、ターンごとに変化させる。プレイヤーのプレビューに自動補正を加えない。地形への着弾位置は概算で予測し、プレビューで戦車/岩との衝突、クラスターの分裂、跳弾を保証しない。 6種類のペイロードを用意する:無制限のHE弾、5個の子弾に分裂して降下するクラスター弾、直径最大28メートル・深さ最大13メートルのクレーターを作るSeismic、2回跳ね返る跳弾、戦車1台につき1発で直径最大46メートル・深さ最大22メートルのクレーターを作るCataclysm、半径12メートルの炎上エリアを残すIncendiary。炎上エリアは6回のアクション終了時にそれぞれ8ダメージを与える。外へ移動すればダメージを回避でき、重なったエリアの効果は累積しない。海水で炎は消える。砲身を上げた状態も含め、戦車全体が完全に水中に入ると即座に撃破する。実際のダメージ、アーマーの減少、地形の崩壊、水しぶき、撃破結果を表示する。 多層の火球、拡大する衝撃リング、発光する火花、弾道の破片、土煙、煙を使い、カメラシェイクは控えめにする。提供されたオリジナルのElevenLabs製の音楽と、砲撃、着弾、跳弾、大爆発、炎、水しぶきの効果音を使用する。サウンド切り替え、一時停止/再開、説明、リプレイ、メニューに戻る機能を含める。砲弾の飛翔中やAIターン中は「自分のターンに戻る」を選べるようにし、同じ固定ステップのシミュレーションを高速実行して、ダメージ、地形、危険エリアの結果をすべて保持する。ローカル対戦の友達の入力ターンは絶対にスキップしない。 6. 技術実装 ES modulesとViteを使用したThree.js、ローカルにバンドルしたフォント、エフェクト用のWeb Audio、ループ音楽用のHTML audio要素を使う。リソースは同一オリジンに置き、静的ビルドに対応する。アンチエイリアスを有効にしたパースペクティブレンダラーを使用し、シャドウとポストプロセスの予算を現実的に設定する。使い捨てのジオメトリ/マテリアルは適切に破棄する。モデルの装飾とゲームプレイ用のコリジョンを区別する。 レンダリングとは独立した決定論的な物理演算を行い、単位はメートル/秒、重力は9.81 m/s²、固定ステップは1/120秒とする。高速な砲弾と地面、水、戦車、岩との衝突には連続スイープ衝突判定を使い、吹き飛ばされた戦車には爆発の衝撃と重力を適用する。発射位置は実際の戦車固有の砲身トランスフォームから求める。通常再生と早送りは同じシミュレーション更新処理を呼び出す。ダメージと風の反応は、工学的な爆発シミュレーターではなく、ゲーム用にデフォルメしたルールとする。 UIは中国語、英語、日本語、韓国語に対応する。初回はデバイスの言語を使用し、香港、マカオ、台湾、繁体字中国語のデバイスでは英語を初期設定にする。明示的な選択を記憶し、表示状態の言語セレクターを用意する。デスクトップ、縦向きスマートフォン、短い横向きレイアウトに対応し、画面の短い端末ではメニューをスクロール可能にする。タッチしやすいサイズの操作ターゲット、折りたたみ可能なパネル、操作要素が重ならないレイアウトを採用する。タッチデバイスでキーボード入力を必須にしない。開発専用の状態変更処理と照準ヘルパーは本番環境から除外する。 7. 完了条件 編集可能なスタンドアロンのソースプロジェクト、ロックファイル、npmでの開発/ビルド手順、動作する静的プレビューを納品する。クリーム色のステータスパネル、固定されたゴールドのリファレンスマーカー、ゼロから始まる実チャージ、完全3Dの戦車/島の表現を含め、現在のスクリーンショットとゲームプレイ動画に合わせる。初回起動、モデルの読み込み、ターンサイクル全体、各ペイロードの挙動、一時停止、リプレイ、実際の勝敗結果を検証する。外観切り替えで状態が維持されること、キーボード/タッチ操作のキャンセルで発射されないことを確認する。風のない明確なテスト射撃では、リファレンスパワーで離すとリファレンス円の近くに着弾するようにする。逆向きの横風では、円を固定したまま実際の砲弾が目に見えて横にずれることを確認する。30/60/144 Hzでの挙動、高速衝突判定、深いクレーター、炎の消滅、完全な水没による撃破、通常再生と早送りでのターン結果の一致を確認する。4言語すべてでデスクトップと狭い画面のレイアウトを確認し、ブラウザエミュレーションと実機テストを分けて記録する。ローカルビルドだけでなく、ホスティングされたページとリンク先メディアも検証する。

このプロンプトの使い方

01

適したツールを開く

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

02

変更する点を一つ選ぶ

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

03

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

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

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