3DPrompt.
GitHub
返回作品库
GPT-6 Astra参考创作说明

Battle City 3D:无尽坦克防御

在无尽的草地、雪地与工业战场中守护鹰形基地,也可挑战 35 张经典地图。收集 10 种道具,对抗需命中 4 次才能击毁的敌方重型坦克。

创作者 jared
Battle City 3D:无尽坦克防御

关于此示例

根据创作者公开项目整理的起始说明,并非逐字原始提示词。实际结果可能不同。

基于本地编写的 Three.js 项目运行时提交版本 670383f86f56c61e29e10d12424addf6f8defbe9,并经公开游戏玩法验证得出的重建规范。独立的 Battle City(1985 年,Namco)粉丝致敬项目。经典地图/波次数据:gunnerson/battlecity(MIT);收集的音频:JustoSenka/BattleCity(MIT 仓库)。使用 Tripo 生成了 17 个模型。这是一份源自项目的规范,并非原始生成提示词的逐字复现。

Battle City3D 坦克游戏Three.jsTripo坦克防御程序化地图

提示词

1. 项目目标 构建 Battle City 3D:一款受 1985 年红白机经典作品启发的浏览器坦克防守游戏。玩家驾驶坦克,消灭一波 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/数字键盘 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 音频片段,提交版本为 3a07004ba8e53baea74ff70d2ecc22b017eb9b20。保留其署名和仓库许可证声明;将其描述为收集的重制版音频,不得声称是逐位准确的硬件录音。通过用户手势解锁音频,校准样本音量,提供音量/静音控制,并将声音与事件同步。不要添加无关的持续战斗音乐。 6. 技术实现 使用 TypeScript、Three.js 0.180.0 和 Vite 7,并配备独立的 package.json 与锁文件。让模拟逻辑独立于渲染,以 120 Hz 步进。使用实体车体 AABB、轴向分离移动、边界与坦克分离,以及连续的最近接触炮弹扫掠检测,包括敌我炮弹之间基于相对运动的碰撞。炮弹从车体位置生成并向前扫掠,以防止近距离穿过墙体。这是街机式地面物理,不是悬挂系统模拟器。 通过 GLTFLoader 加载同源 GLB 资产。让碰撞代理独立于资产几何体。当前运行时使用量化属性和 WebP 纹理(载具/基地 1024 像素;补给和环境 512 像素),不进行几何简化,也不使用 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 模型,再导入项目。

预览作品归各自创作者所有。复用代码或素材前,请查看原始来源及项目许可。