3DPrompt.
GitHub
返回作品庫
GPT-6 Astra參考創作說明

Battle City 3D:無盡坦克防禦

在無盡的草地、雪地與工業戰場中守護雄鷹基地,也可挑戰 35 張經典地圖。收集 10 種道具,對抗需命中 4 次才能擊毀的敵方重型坦克。

創作者 jared
Battle City 3D:無盡坦克防禦

關於此範例

根據創作者公開專案整理的起始說明,並非逐字原始提示詞。實際結果可能不同。

這份重建規格源自本機撰寫的 Three.js 專案,runtime commit 為 670383f86f56c61e29e10d12424addf6f8defbe9,並已透過公開可遊玩的版本完成驗證。這是向《Battle City》(1985,Namco)致敬的獨立粉絲作品。經典地圖/波次資料:gunnerson/battlecity(MIT);收集的音效:JustoSenka/BattleCity(MIT 儲存庫)。使用 Tripo 生成 17 個模型。這是一份源自專案的規格,而非原始生成提示詞的逐字內容。

Battle City3D 坦克遊戲Three.jsTripo坦克防禦程序化地圖

提示詞

1. 專案目標 打造《Battle City 3D》:一款以 1985 年 Famicom 經典作品為靈感的瀏覽器坦克防禦遊戲。玩家駕駛坦克,摧毀一波 20 輛敵軍、收集補給並保護老鷹總部。重現參考媒體中目前所示的透視 3D 版本,包括可無限遊玩的種子戰役,以及 35 張可選的經典地圖。保留清楚易懂的街機規則,同時讓坦克、牆壁與場景具備真實的立體深度。 2. 視覺風格 使用 Three.js PerspectiveCamera,視野角度為 60 度。預設戰場視角位於玩家後上方,距離約 13 個世界單位,高度為 0.43 弧度。平滑跟隨坦克位置及其前方的一個目標點;坦克轉向時,絕不自動旋轉鏡頭。提供較高的戰術視角、手動拖曳環繞視角與滾輪縮放。移動與射擊使用地圖的四個基本方向軸。環繞視角後,將方向鍵對應至相對於鏡頭最近的基本方向;絕不將鍵盤輸入轉換為斜向移動。讓車體朝向立即與射擊方向一致,並根據每個模型的實際砲管位置校準砲彈與砲口閃光的高度。 使用貼地的履帶式坦克、金屬砲塔、陶土磚、深色鋼塊、藍色水面、低矮植被與反光冰面。將地面延伸到可玩區域之外,銜接樹林、毀損建築與霧霾。使用溫暖的定向光、柔和陰影、環境補光、ACES 色調映射,以及克制的砲口閃光、後座力、火花與彈跳碎屑。下雪時改變地面與樹木的色彩配置;工業關卡則以鋼材與毀損建築為主。 以深橄欖色指揮介面框住遊戲,顯示暖黃色的主要操作、分數、共用生命數、剩餘敵人圖示、關卡名稱與雷達。將大型 Tripo 3D / Three.js 模型切換控制置於戰場上方,顯示目前選取的模式與旋轉中的坦克預覽。使用在地化的插畫式補給指南與限時效果指示器。在窄螢幕上維持遊戲區域與必要的觸控控制可見。 3. 世界與場景 將戰場表示為 26×26 的圖塊網格,坦克碰撞半寬為 0.72。將老鷹放置於 (13,25),周圍以可破壞的 U 形磚牆防禦。玩家出生點為 (9,25) 與 (17,25);敵軍入口為 (1,1)、(13,1) 與 (25,1)。 提供兩種戰役:包含全部 35 張經典地圖及其 20 名敵人的波次表,以及以種子為基礎、循環生成草地、雪地與工業生態系的無限模式。生成足以容納完整車體寬度的連通走廊,確保玩家出生點、敵軍入口與拾取物位置之間都有可通行的連接。加入交錯配置的中央鋼製掩體,避免出生點到老鷹之間形成直接射擊線,同時保留跨街通道。允許選擇起始生態系或經典關卡,並重新擲骰生成隨機地圖。將本局種子、分數、生命數與存活玩家的升級內容帶入下一關。 磚塊可破壞;鋼塊能擋住普通砲彈與坦克;水面會阻擋坦克,但允許砲彈穿越;植被會遮蔽敵方模型;冰面會降低抓地力。讓遠景環境僅作裝飾,與遊戲碰撞分離。 4. 資產清單 使用以下穩定且可獨立替換的 3D 模型插槽。優先製作玩家、敵軍、重型坦克與老鷹,接著製作全部十種補給模型。讓每個資產以最低點貼地,並統一朝向、中心點與縮放比例。重複使用範本,不要為每個敵人個別載入模型。 - player:芥末黃色履帶坦克,具備清楚易讀的砲塔與前置砲管;供玩家坦克使用,第二名玩家另以獨立的環色區分。 - enemy:緊湊型履帶敵軍坦克,透過不同色調區分基本型、快速型與強力型,並重複使用此模型。 - heavy:外觀明顯更厚重的裝甲坦克,使用獨立於標準敵軍模型的網格,並在上方顯示四個可見的裝甲段。 - eagle:總部基座上的金色金屬老鷹雕像。 - pickup-star:金色五角升級星。 - pickup-helmet:用於暫時護盾的防護軍用頭盔。 - pickup-clock:用於凍結敵軍移動的清晰易讀時鐘。 - pickup-shovel:用於加固總部的鏟子。 - pickup-life:代表額外一條生命的迷你坦克。 - pickup-grenade:用於摧毀現存敵軍的手榴彈。 - pickup-ammo:用於快速射擊的彈藥箱。 - pickup-repair:用於修復裝甲的維修工具箱。 - pickup-magnet:用於遠距離收集拾取物的馬蹄形磁鐵。 - pickup-boost:用於暫時提升速度的能量電池。 - environment-building:一棟風化的毀損公寓大樓,Tripo P2.0,指定預算為 1,800 個三角形。 - environment-tree:可見樹幹的不規則松樹,Tripo P2.0,指定預算為 1,100 個三角形。 - environment-bush:低矮的闊葉灌木與草叢,Tripo P2.0,指定預算為 650 個三角形。 將補給顯示為旋轉、懸浮的可收集模型,搭配彩色環圈與相符的指南縮圖。以共用的幾何與材質實例渲染重複出現的建築、樹木與灌木。讓建築與樹木的根部貼地;將灌木底部略微埋入,以融入地形。在雪地關卡中,於朝上的表面添加積雪。讓圖塊牆壁、水面、冰面、砲彈網格、UI、燈光、粒子與碰撞代理物件維持程式生成。讓水面以世界空間流動波浪呈現動畫,持續變化法線並產生些微表面位移,且在相鄰圖塊之間保持連續。Tripo 版本使用 17 個生成模型;比較版本則將坦克與環境都切換為程式建立的幾何體,並使用相同的規則與碰撞。兩者皆以 Three.js 渲染。 5. 遊戲玩法與回饋 支援單人遊玩與本地雙人合作,共用三條生命的生命池。單人使用 WASD 或方向鍵移動,Space/J 開火。合作模式中,玩家一使用 WASD 與 Space/J;玩家二使用方向鍵與 Enter/Numpad 0。P/Escape 可暫停;C 切換鏡頭;1/2 選擇模型模式。在觸控螢幕上,允許同時按住方向鍵盤與開火按鈕;指標取消時釋放輸入,並在不需捲動的情況下提供暫停、繼續、下一關與重試操作。 玩家速度為每秒 4.2 個單位,使用加速時為 6.3。敵人包括基本型、快速型、強力型與重型;重型坦克有四點生命值,未受護盾保護時可承受前三次命中。擊殺各類型敵人分別獲得 100、200、300 或 400 分;收集任一補給可獲得 500 分。擊敗 20 名敵人後通關。老鷹被摧毀,或共用生命耗盡且沒有存活玩家時即告失敗。提供立即重試、明確的下一關流程,以及儲存在本機的最高分。 實作全部十種補給:星星可升級三個等級(更快的砲彈、同時發射兩枚砲彈,最後是可破壞鋼塊的砲彈);頭盔提供 12 秒護盾;時鐘將敵人凍結 9 秒;鏟子加固基地 16 秒;迷你坦克增加一條生命;手榴彈摧毀現存敵人;彈藥提供 14 秒快速射擊,最多同時存在四枚砲彈;維修增加兩點生命值,上限為三點;磁鐵在 20 秒內收集五個單位範圍內可見的補給;加速效果持續 12 秒。補給模型持續 25 秒,並出現在可抵達的位置;使用洗牌牌組改變補給類型。磁鐵收集必須遵守實體障礙物。 使用收集到的 NES 風格音效,涵蓋 4.333 秒的關卡開場、射擊、駕駛與待機、磚塊/鋼塊碰撞、敵軍/玩家爆炸、補給出現與收集、獲得額外生命、裝甲受擊、冰面、暫停與遊戲結束。目前專案使用 JustoSenka/BattleCity 的 15 段 OGG 音效,commit 3a07004ba8e53baea74ff70d2ecc22b017eb9b20。保留其作者標示與儲存庫授權聲明;描述為收集自重製版的音效,不得聲稱是位元完美的硬體擷取。透過使用者手勢解鎖音訊,校準各音效增益,提供音量/靜音控制,並讓音效與事件同步。不要加入無關的持續戰鬥音樂。 6. 技術實作 使用 TypeScript、Three.js 0.180.0 與 Vite 7,並提供獨立的 package.json 與 lockfile。讓模擬與渲染相互獨立,以 120 Hz 執行模擬步進。使用實體車體 AABB、分軸移動、邊界與坦克分離,以及持續性的最近接觸點砲彈掃掠,並納入敵我砲彈之間的相對運動碰撞。砲彈從車體生成並向前掃掠,以避免近距離射擊時穿過牆壁。加入冰面加減速,以及帶有阻尼彈跳的碎屑重力。這些是街機式地面物理,不是懸吊模擬器。 透過 GLTFLoader 載入同源 GLB 資產。讓碰撞代理物件獨立於資產幾何。現有執行環境使用量化屬性與 WebP 貼圖(載具/基地為 1024 px;補給與環境為 512 px),不進行幾何簡化,也不使用 WASM 解碼器。載入限制為四個 worker,使用雜湊版本化 URL,以及 256 KiB 的範圍請求;每個範圍請求逾時 20 秒,最多嘗試三次。四個核心模型與音訊準備完成後即可解鎖遊玩;在背景載入補給與環境資產,且只生成模型已準備好的補給類型。切換模型模式時保留遊戲狀態。 提供英文、簡體中文、日文與韓文 UI。依裝置語言選擇預設語言,但 zh-TW、zh-HK、zh-MO 與 zh-Hant 預設使用英文;明確選取的語言需持續保存。支援鍵盤、桌面指標與多點觸控,並在失去焦點時暫停。所有資產、製作人員名單與可重現腳本都應保留在來源專案中;發佈不含私人憑證且不依賴執行期後端的靜態 dist 目錄。 7. 完成標準 交付可編輯原始碼、資產來源與授權聲明、npm 開發/建置流程,以及可遊玩的靜態預覽。驗證預設 Tripo 場景、模型比較、所有生態系、重型坦克承受四次命中、每種補給效果、暫停/繼續、失敗/重試與關卡進度。測試 1,000 張種子地圖的車體寬度連通性與安全出生點,以及所有經典地圖、穿牆、斜向射擊、坦克分離、冰面動量、不同偏航角下的鏡頭相對輸入,還有保留狀態的模式切換。驗證在地化 UI 與窄螢幕雙指控制;若僅使用模擬測試,不得宣稱已在實體裝置上測試。將實際開場與戰鬥畫面和參考圖片/影片進行比對;確認全部 17 個模型與 15 段音效皆能載入。透過既有的 CMS Web Page 工作流程發佈,並驗證最終公開頁面,不要將已儲存的 CMS 紀錄視為部署完成。

如何使用這段提示詞

01

從合適的工具開始

開啟你慣用的程式設計助手或 3D 工具。可先嘗試範例使用的模型,並查看連結專案中的設定說明。

02

先選一個地方修改

替換主體、美術風格或場景,清楚描述鏡頭和互動。先完成簡化版本,再逐項打磨細節。

03

為場景加入專屬模型

需要自己的角色或道具時,用簡短的物件描述或參考圖製作 3D 模型,再匯入專案。

預覽作品屬於各自的創作者。重複使用程式碼或素材前,請查看原始來源與專案授權條款。