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

ODD ARMS——奇趣武器生存游戏

制作一款时长三分钟的 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. 目标 所有游戏界面均使用英文(添加日语作为可选语言)。 制作一款完整的三分钟浏览器生存游戏,类型为“自动攻击割草”:玩家选择一个玩具大小的英雄和两件充满奇趣的武器,在工匠工作台上从怪物群的围攻中存活 180 秒。武器会自动攻击;玩家只需移动、冲刺、收集水晶、选择升级,并释放蓄力新星。游戏的核心乐趣在于个性化:玩家可以在 Tripo 中创建自己的英雄或武器,下载 GLB 文件并将其放入游戏。使用 https://odd-arms.tripo.page/ 和提供的参考素材完成最终效果。鸣谢 Deniffer:https://x.com/lumina__team. ## 2. 视觉方向 将游戏呈现为微缩玩具立体场景,使用固定的四分之三俯视摄像机跟随英雄。游戏区域是一张深海军蓝裁切垫,带有淡淡的网格和印刷的“ODD ARMS”角标,铺在温暖色调的木质桌面上。桌边摆满超大的手工道具(线轴、华丽黄铜玫瑰饰盒、皮革工具卷、黄铜台灯、木制玩具火车和玩具零件),让竞技场看起来确实位于真实桌面上。使用来自台灯一侧的暖色主光、柔和的环境补光、接触阴影和轻微泛光;角色采用光泽感强、造型厚实的收藏玩偶风格,并使用高饱和度色彩。 界面:奶油白色圆角卡片搭配海军蓝文字和珊瑚橙强调色;标题使用厚重、窄体的展示字体(“LET'S MAKE SOME TROUBLE.”),正文使用简洁的窄体无衬线字体。战斗中:左上角显示生命值卡片,其下方显示连杀计数;顶部中央显示“SURVIVE THE WEIRD”倒计时;右上角显示波次标签、声音、设置和暂停;右侧显示击败数;底部中央显示等级/经验值胶囊;左下角显示三个武器标签(环绕型 / 返回型 / 射击型及其等级);右下角显示操作提示和冲刺冷却;其上方显示“Q NOVA READY!”胶囊。战斗反馈:伤害数字、暴击、敌人的挤压与拉伸、击退、弹出式粒子和轻微镜头抖动(启用 prefers-reduced-motion 时禁用抖动)。 ## 3. 世界 设置一个方形竞技场,将英雄限制在两个轴向 ±23 个单位的范围内。裁切垫铺满游戏区域;桌面和道具位于限制范围之外,仅作为场景装饰(不参与碰撞)。竞技场开始时为空,敌人从边缘涌入:敌人在距离英雄 12–16 个单位的环形区域生成(第一秒内为 8–11 个单位),并直线向英雄移动。每 22 秒会出现一次突袭,在半径 13 个单位的位置生成一整圈敌人。红色预警圈显示在英雄当前位置下方(第一次在 28 秒时出现,之后每隔 max(4.4, 9 − t/50) 秒出现一次),并在 2 秒后爆炸。 ## 4. 资产清单 准备稳定的模型槽位;每个槽位都必须加载单个 GLB,将其居中,自动缩放至目标高度,并在加载失败时回退到简单占位模型。 英雄(10 个,`hero:<id>`),每个都是轮廓鲜明、造型厚实的玩具人偶: - `cat`太空猫——穿白色太空服、戴玻璃头盔的橙色虎斑猫。生命值 100,速度 6.8,磁吸范围 ×1.35,冲刺冷却 2.4 秒。 - `frog`青蛙斗士——戴红色拳击手套的绿色青蛙。生命值 130,速度 6.8,冲刺伤害 135。 - `shroom`蘑菇英雄——戴红色帽子的蘑菇,披着一件小斗篷。生命值 90,速度 7.6,冲刺冷却 1.8 秒。 - `capybara`悠闲水豚——泡温泉的悠闲水豚。生命值 160,速度 5.8,磁吸范围 ×1.15,冲刺冷却 3 秒,冲刺伤害 110。 - `ramen`拉面浪人——手捧一碗热气腾腾拉面的武士。生命值 105,速度 7.2,冲刺冷却 2.2 秒,冲刺伤害 120。 - `penguin`办公室企鹅——穿衬衫打领带的企鹅。生命值 80,速度 7.1,冲刺冷却 1.5 秒,冲刺伤害 75。 - `axolotl`蝾螈——粉色的蝾螈探险家。生命值 85,速度 7.3,磁吸范围 ×1.6,冲刺伤害 75。 - `avocado`牛油果拳手——以果核为核心的牛油果拳击手。生命值 120,速度 6.4,冲刺冷却 2.1 秒,冲刺伤害 130。 - `robot`发条机器人——带钥匙的发条锡制机器人。生命值 115,速度 6.2,冲刺冷却 2.8 秒,冲刺伤害 165。 - `snail`蜗牛骑士——背着房屋大小外壳的骑士蜗牛。生命值 190,速度 5.2,磁吸范围 ×1.2,冲刺冷却 3.2 秒,冲刺伤害 120。 未列出时,默认冲刺伤害为 90。 武器(12 件,`weapon:<id>`),按攻击槽位分组: - 环绕型:`sardine`沙丁鱼链锯(3 条鱼,半径 2.9,伤害 1,速度 1.2);`cactus`仙人掌棍(2 根棍,半径 3.3,伤害 1.65,速度 0.78,命中半径 1.25,击退 1.5);`plunger`马桶吸巡逻队(4 个马桶吸,半径 2.25,伤害 0.85,速度 1.5)。 - 返回型:`banana`香蕉刀(2 把,伤害 1,速度 1.25);`pizza`披萨切割轮(1 个大型圆盘,伤害 1.5,速度 0.82,命中半径 1.65);`croissant`羊角面包刀(3 把,伤害 0.75,速度 1.45);`boomerang`回旋镖(1 个,伤害 1.15,速度 1.6);`donut-disc`甜甜圈圆盘(1 个,伤害 1.5,速度 0.9,命中半径 1.3)。 - 射击型:`duck`鸭子火箭(追踪,范围伤害 2,间隔 0.42 秒);`toaster`愤怒烤面包机(三发穿透扇形弹,伤害 0.7);`teapot`暴走茶壶(2 发慢速子弹,范围伤害 2.8,间隔 0.8 秒);`bubble-gun`泡泡枪(2 个穿透泡泡,伤害 0.45,间隔 0.3 秒)。 默认配置:太空猫、香蕉刀、愤怒烤面包机;环绕型武器在第一次升级时解锁。 敌人(3 种,`enemy:<id>`),发条玩具怪物:`red-chomper`(红色圆滚滚的啃咬玩具,基础型,基础生命值 30,速度 2.35);`spring-rabbit`(黄色弹簧腿兔子,快速型,基础生命值 23,速度 3.5);`crown-bear`(戴王冠的大型拼布熊,坦克型,基础生命值 130,速度 1.7,在 60 秒后以 17% 的概率出现,掉落 3 点经验值)。 场景道具(`prop:<id>`):工作台桌面、裁切垫边框和角板、台灯、玩具火车、线轴、华丽玫瑰饰盒、工具卷、玩具零件托盘。裁切垫、网格、水晶、投射物、预警圈、粒子、灯光和界面均使用程序化生成。 ## 5. 游戏玩法与反馈 流程:角色 → 配置(一个返回型 + 一个射击型)→ 准备(展示装备所选武器的英雄 3D 转台预览,可拖动旋转)→“开始游戏”。每个引导步骤只显示对应类别,并提供描述、玩法风格和弱点文本。记住上次使用的配置。 操作:使用 WASD/方向键移动;空格键沿移动方向冲刺(速度 ×3.7,短暂无敌,每次冲刺对 2 个单位范围内的敌人造成一次伤害);能量达到 100 时按 Q 释放新星(半径 11,伤害 200,强力击退,并吸入水晶);按 1/2/3 或点击选择升级;按 Esc 暂停;窗口失去焦点时自动暂停。移动端:左侧使用虚拟摇杆(模拟输入),右侧使用带冷却/蓄力环的冲刺和新星按钮;支持多点触控,使摇杆和按钮可以同时操作;竖屏时升级选项位于摇杆上方,横屏时位于双手拇指之间。 规则:敌人生命值 = 基础值 × (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 秒);受到伤害会重置连杀。升级所需经验:首次为 20,之后为 round(need × 1.4 + 10)。升级不会暂停游戏:升级选项会以非阻塞选择卡片的形式排队显示。第一次升级提供三种环绕型武器;之后从以下三项中提供三种选择:环绕过载(环绕物 +1,最多 7 个,伤害 +22%)、再来一轮(返回速度更快、距离更远、威力更强)、火力全开(射击更快,伤害 +20%,投射物更多)、及时行乐(速度 +10%,生命值 +30)。每次选择都会恢复 8 点生命值。 结局:存活 180 秒 →“奇异得漂亮。都是你创造的。”;生命值降至 0 →“这真是一场壮丽的混乱。”两种结局都显示击败敌人数、最佳连杀数和存活时间,并提供“再来一次 / 更改配置”以及创建自定义内容的提示。 打造专属内容:在配置、暂停和结果界面中,点击“在 Tripo 中创建我的英雄 / 武器”会在新标签页打开 https://studio.tripo3d.ai/;“导入 GLB”可加载本地 .glb 文件(≤15 MB,仅支持内嵌纹理,在浏览器中解析,绝不上传),并将其居中、缩放,只替换所选英雄或武器的外观,同时保留原有属性。针对无效文件显示明确的错误提示,并保留原始模型。 模型对比:顶部切换按钮“Tripo3D ⇄ Simple3D (Blender)”可将所有英雄、武器、敌人和道具切换为对应的简单基础几何体集合,且不会重置当前游戏。切换前先加载完整的替代模型集合;若任意文件加载失败,则保留当前模型集合。 ## 6. 技术实现 使用 Vite + 原生 JavaScript + Three.js,并配合 GLTFLoader、RoomEnvironment 光照和 ACES 色调映射。将模拟逻辑放在纯粹的固定时间步模块中,并注入可替换的随机源,以便在测试中模拟完整流程;渲染器只读取状态。每个 GLB 只缓存一次,并为实例创建克隆;重复装饰物使用实例化或 LOD。限制像素比(移动端为 1.5,在密集波次时降至 1),阴影刷新频率最高为每秒 30 次,并仅在数值变化时更新 HUD 文本。将碰撞(简单圆形)与视觉网格分离。字体、模型和纹理均从同源打包,使构建结果为静态文件夹。目标平台为桌面和手机浏览器,支持宽度 320 像素及以上的设备,包括横屏手机和安全区域。模型复杂度应根据屏幕显示尺寸调整,不设固定面数上限。 ## 7. 完成标准 - 完整流程可正常运行:引导、战斗胜利与失败、暂停/继续、使用相同配置重新开始、更改配置。 - 全部 10 个英雄和 12 件武器均能加载,并按照上述数值正常运行;使用任意配置完成 180 秒游戏时不会出现错误。 - 键盘和触控操作均可用,包括同时使用摇杆和冲刺。 - GLB 导入可以替换所选英雄或武器的外观,并能优雅地拒绝无效文件。 - Tripo3D / Simple3D 切换可以在游戏进行中替换全部模型。 - 开始界面、战斗中界面和结果界面均与参考素材一致;提供可运行的源代码、启动命令和静态生产构建。

如何使用这段提示词

01

从合适的工具开始

打开你常用的编程助手或 3D 工具。可先尝试示例所用的模型,并查看关联项目中的配置说明。

02

先选一个地方修改

替换主体、美术风格或场景,清楚描述镜头和交互。先完成简化版本,再逐项打磨细节。

03

为场景加入专属模型

需要自己的角色或道具时,用简短的物体描述或参考图制作 3D 模型,再导入项目。

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