毁灭地球AI · Claude 3.5
游戏信息
生成提示词
可复制以下提示词,用于学习或复现这款游戏。
核心玩法循环与机制
Obliterate Earth 是一款基于物理的破坏游戏,玩家从轨道发射武器,系统性地摧毁一颗旋转的行星。核心玩法循环包括:
- 武器选择:玩家在三种武器类型之间选择(导弹、核弹、陨石)
- 武器发射:玩家点击/触击屏幕任意位置,在固定的轨道距离生成所选武器
- 武器飞行:武器锁定地球当前的质心并朝它飞去
- 撞击与破坏:武器接触后爆炸,从行星上炸出一块圆形的缺口
- 质量重算:行星的质心立即重新计算,改变其旋转支点
- 胜利:当行星质量降至 1% 以下时,触发史诗级的毁灭序列
吸引之处:
- 每次撞击都有令人满足的视觉反馈(爆炸、粒子、屏幕震动)
- 基于所需破坏模式的策略性武器选择
- 动态物理,行星的行为随着你的破坏而改变
- 清晰的进度指示(质量百分比),推动玩家迈向胜利
- 即时、直观的破坏,没有等待或资源管理
起步范围
首个实现版本(最小可行产品):
- 屏幕中央有一颗旋转的地球
- 三种具有不同属性(尺寸、速度、爆炸半径)的武器类型
- 屏幕底部的武器选择界面
- 点击/触击在轨道距离生成武器
- 碰撞检测与圆形爆炸遮罩
- 实时质心重算
- 质量百分比显示
- 撞击时的基础粒子特效
- 爆炸时的屏幕震动
- 剩余质量 <1% 时的胜利条件
- 带重新开始按钮的胜利画面
未来增强(发布后):
- 多颗行星/天体,具有不同属性
- 武器升级或改装
- 快速连续命中的连击系统
- 得分记录与排行榜
- 音效与背景音乐
- 更精致的粒子系统
- 武器轨迹与视觉特效
- 不同的行星纹理/主题
- 挑战模式(时间限制、武器限制)
游戏视角
固定屏幕视角,一颗旋转的行星居中。镜头静止不动,以 2D 正交角度观察行星。所有动作都在单一屏幕内进行,无需滚动。行星原地旋转,武器则从边缘逼近。
游戏世界与关卡设计
单关卡设计:
游戏发生在深空之中,背景为星空。屏幕中央是地球——一颗圆形行星,带有可辨识的大陆和海洋,以程序化方式渲染。
行星规格:
- 初始尺寸:直径 200px 的圆
- 起始外观:蓝色海洋,配以绿色/棕色陆地
- 旋转速度:每帧 0.01 弧度(缓慢、可见的旋转)
- 位置:初始位于屏幕中央,随质量变化而移动
轨道区:
- 武器在距离当前屏幕中心 300px 半径处生成
- 生成位置由点击/触击位置的角度决定
- 营造出清晰的"轨道轰炸"感
太空环境:
- 深色背景(#0a0a15 或类似颜色)
- 微妙的动态星空以增加纵深感
- 首个版本中没有障碍物或其他天体
技术实现:
- 隐藏画布(400x400px)存储未旋转的行星像素数据
- 可见画布以正确的质心偏移渲染旋转后的行星
- 所有碰撞检测都在隐藏画布的局部空间中进行
- 爆炸使用 destination-out 混合模式炸出透明的孔洞
编辑模式设计
可编辑属性:
武器属性(按武器类型):
- 爆炸半径(10-100px 范围)
- 移动速度(每帧 1-10 像素)
- 视觉尺寸倍率(0.5-2.0倍)
- 撞击时的粒子数量(10-50 个粒子)
- 屏幕震动强度(0-20 像素)
行星属性:
- 初始尺寸(直径 100-300px)
- 旋转速度(每帧 0.001-0.05 弧度)
- 起始配色方案(海洋颜色、陆地颜色)
- 胜利阈值(剩余质量 0.5%-5%)
玩法属性:
- 武器生成距离(距中心 200-500px)
- 粒子存续时间(0.5-3 秒)
- 屏幕震动持续时间(100-500ms)
视觉属性:
- 背景颜色
- 星辰密度(0-200 颗星)
- 界面配色方案
约束:
- 爆炸半径必须至少 5px(防止不可见的撞击)
- 行星尺寸必须至少 50px(确保可玩性)
- 旋转速度设有上限以防止令人眩晕的运动
- 胜利阈值最低 0.1%(确保游戏可以通关)
- 武器速度最低 0.5(确保武器能够抵达行星)
编辑模式界面: 一个简单的属性面板,在切换编辑模式时出现,为每个可编辑值配备滑块和取色器。更改会立即应用以演示效果。
操作设计
移动端(触控)操作:
- 武器选择:点击底部界面面板中三个武器按钮之一
- 武器发射:点击屏幕任意位置(界面区域之外),在从行星中心算起的该角度生成所选武器
- 重新开始:点击胜利画面上的重新开始按钮
桌面端(鼠标/键盘)操作:
- 武器选择:点击底部界面面板中三个武器按钮之一,或按 1、2、3 键分别选择导弹、核弹、陨石
- 武器发射:点击屏幕任意位置(界面区域之外)以生成所选武器
- 重新开始:点击胜利画面上的重新开始按钮,或按 R 键
操作实现细节:
- 追踪鼠标/触点位置以确定生成角度
- 计算生成位置:
angle = atan2(mouseY - centerY, mouseX - centerX),然后spawnX = centerX + cos(angle) * spawnRadius - 点击界面元素时阻止生成武器
- 视觉反馈:高亮所选武器按钮
- 无需复杂的输入方案——简单的指向点击/触击界面即可
- 窗口失焦时清除输入状态以防止卡死
美术风格与视觉主题
整体风格:暗色科幻街机美学,融合复古与现代。干净的几何形状,配以发光点缀和粒子特效。强调令人满足的破坏视觉效果。
配色方案:
- 太空背景:深藏青/黑色(#0a0a15、#050510)
- 星辰:白色,带微妙闪烁(#ffffff,50-80% 不透明度)
- 地球海洋:浓郁蓝色(#2b5f9e、#1a4d7a)
- 地球陆地:绿色/棕色大陆(#3a7d44、#8b6f47)
- 界面元素:青色/电光蓝点缀(#00d9ff、#0099cc)
- 爆炸:橙-黄-白渐变(#ff6600 → #ffcc00 → #ffffff)
- 粒子:带发光的亮橙/黄色(#ff8800、#ffdd00)
素材制作方式:
- 行星:在隐藏画布上程序化生成(用类 Perlin 噪声或随机团块形状以代码渲染大陆)
- 武器:用代码渲染的简单几何形状(带渐变填充的圆形/椭圆)
- 界面:用 CSS 设计的按钮和文字,配科幻字体
- 粒子:用代码渲染的圆形,带径向渐变
- 爆炸:用代码渲染的扩张圆形,带 alpha 淡出
- 背景:用代码渲染的星空,含随机定位的点
视觉一致性:
- 所有元素都使用平滑的渐变和发光效果
- 界面元素采用一致的线宽(2-3px)
- 统一的色温(界面用冷蓝色,破坏用暖橙色)
- 全程采用极简几何风格
技术渲染:
- 所有游戏渲染使用 Canvas API
- 界面叠层样式使用 CSS
- 用径向渐变实现发光和纵深
- 用 alpha 混合实现粒子特效
- 通过画布变换实现屏幕震动
无需生成素材——整个游戏都可以用 Canvas API 和 CSS 渲染,从而将文件体积降至最低并确保即时加载。