← 返回列表

方块狙击猎手AI · Claude 3.5

游戏信息

在像素方块风格的荒野中化身第一人称狙击手,透过瞄准镜捕捉远处的动物。在计时结束前,凭借精准的射击尽可能多地命中目标,赢取高分!

类型狙击射击
分辨率自适应
朝向竖屏
平台PC网页端 / H5移动端
存档localStorage
作者lsk
日期2026-07-07

生成提示词

可复制以下提示词,用于学习或复现这款游戏。

核心玩法循环与机制

方块狩猎狙击手(Blocky Safari Sniper) 是一款第一人称狙击游戏,玩家需要在程序化生成的方块地貌中猎捕 Minecraft 风格的动物。核心体验聚焦于精准瞄准、时机把握与目标锁定。

逐帧玩法
  1. 玩家在一片方块生物群系中出生,动物散布在地形各处
  2. 玩家用鼠标/触摸环顾四周,发现远处的动物
  3. 玩家开镜瞄准(右键/点击开镜按钮),进入带准星的精准视角
  4. 玩家对准目标并开火(左键/点击开火按钮)
  5. 成功命中会依据距离与动物稀有度获得得分
  6. 附近开枪时动物会逃窜,增加紧迫感
  7. 计时器倒数——玩家必须在时间耗尽前尽可能多地标记动物
  8. 计时器归零时本回合结束
  9. 结算界面展示成绩,包含最远距离记录与命中率统计
进程与吸引力
  • 得分系统:得分依据距离(射程越远=分数越高)与动物类型(稀有动物=额外倍率)
  • 连击系统:短时间窗口内连续命中可获得连击倍率
  • 最高分记录:玩家与个人最佳成绩较量
  • 动物行为:动物会自然游走,但听到枪声时会逃窜,营造出动态的狩猎场景
  • 距离挑战:动物在不同距离生成(50-300 方块之外),命中远处目标需要技巧
胜负条件
  • 胜利:在时间耗尽前达到目标分数阈值(例如 90 秒内 1000 分)
  • 失败:在达到目标分数前时间耗尽
  • 重玩价值:刷新个人最高分、提升命中率百分比、达成更远距离的射击
吸引力所在
  • 令人满足的狙击机制,配合开镜缩放与精准瞄准
  • 挑战高难度远距离射击 vs. 更轻松的近处目标之间的风险/回报权衡
  • 逃窜动物与倒数计时带来的紧张感
  • Minecraft 美术风格贴近熟悉的受众
  • 易学难精

起步范围

在首个版本中,我们将实现一个 精简但打磨精良的原型,聚焦核心狙击机制:

首个版本包含:

  • 单一生物群系(点缀着零星树木的草原)
  • 3-4 种动物(牛、猪、羊、鸡),各有不同分值
  • 带开镜缩放的基础狙击步枪
  • 90 秒计时回合
  • 带距离加成的得分系统
  • 简单的动物 AI(游走 + 听到枪声逃窜)
  • 带准星的镜面覆层
  • 命中反馈(视觉 + 音效确认)
  • 回合结束结算界面
  • 与 Minecraft 美术风格一致的方块/体素画风

留待未来版本:

  • 多种生物群系(森林、沙漠、雪原)
  • 稀有/传说级动物
  • 武器升级与自定义
  • 影响子弹弹道的风力机制
  • 持久化进程/解锁
  • 多种难度等级
  • 排行榜

游戏视角

3D 第一人称 —— 这一视角对狙击体验至关重要:

  • 玩家透过角色的双眼观察世界
  • 鼠标控制镜头旋转(配合指针锁定)
  • 开镜模式提供带准星覆层的放大视角
  • 沉浸式狩猎体验,凭借纵深感进行远距离射击

游戏世界与关卡设计

环境结构

游戏发生在一片受 Minecraft 美学启发的 程序化生成方块地形 中:

地形生成:

  • 以平坦草原作为基底(y=0)
  • 使用噪声生成的平缓起伏丘陵(高度变化:0-10 方块)
  • 散布的方块树木(简单的树干 + 树叶冠层,高 5-8 方块)
  • 渲染距离:400 方块,以支持远距离狙击
  • 天空盒:从浅蓝到白色的简单渐变
  • 地面纹理:草方块图案(顶面绿色,侧面为泥土)

空间布局:

  • 玩家在中心点(0, 2, 0)出生——站在地面上
  • 动物在距玩家 50-300 方块半径范围内生成
  • 同时活动的动物 15-20 只
  • 树木提供视觉地标并为动物提供部分掩护
  • 方块美学意味着一切都采用立方体/长方体形状

尺度参考:

  • 1 方块 = 1 米(Minecraft 标准)
  • 玩家身高:1.8 方块
  • 动物:依类型不同高 1-2 方块
  • 树木:高 5-8 方块
  • 开镜可清晰看到 200+ 方块外的动物
视觉氛围
  • 明亮愉悦的白昼光照
  • 远距离射击时视野清晰
  • 树木与地形投下方块状阴影
  • 子弹命中时的粒子特效(细小方块碎片)
  • 动物有简单的待机动画(点头、摇尾)

编辑模式设计

编辑模式允许玩家自定义自己的狩猎体验:

可编辑属性

游戏设置:

  • roundDuration(30-300 秒,默认:90)——每回合持续时长
  • targetScore(500-5000,默认:1000)——获胜所需分数
  • animalCount(5-30,默认:15)——生成的动物数量
  • scopeZoom(2-8 倍,默认:4 倍)——镜面放大倍率

动物配置: 每种动物都有可编辑属性:

  • spawnWeight(0-100)——相对生成概率
  • pointValue(10-500)——标记时获得的基础分值
  • moveSpeed(0.5-3.0)——游走速度
  • fleeSpeed(1.0-5.0)——受惊逃跑速度
  • fleeDistance(20-100 方块)——能听到枪声的范围

难度修正:

  • distanceBonus(每方块 0-10 分,默认:2)——距离额外加分
  • comboMultiplier(1.0-3.0 倍,默认:1.5 倍)——连续命中加成
  • comboWindow(1-10 秒,默认:3)——连击时间窗口
约束
  • 至少 5 只动物以确保可玩性
  • 回合时长至少 30 秒以保证有意义的游玩
  • 开镜倍率在 2-8 倍之间以维持挑战性
  • 动物速度设有上限,避免出现无法命中的目标

控制设计

方块狩猎狙击手 采用为狙击玩法优化的标准 3D 第一人称射击 控制方式:

桌面端控制(键盘 + 鼠标)

鼠标:

  • 鼠标移动 —— 环顾/瞄准镜头(指针锁定激活时)
  • 左键 —— 开火
  • 右键 —— 切换开镜缩放(按住或切换)
  • 鼠标滚轮 —— 调整开镜倍率(若后续加入多档缩放)

键盘:

  • WASD —— 移动角色(前/左/后/右)
  • 方向键 —— 备用移动方式
  • 空格 —— 跳跃(使用较少,主要用于穿越地形)
  • Shift —— 开镜时屏住呼吸(稳定瞄准,减少晃动)
  • R —— 换弹(若后续加入弹药系统)
  • Escape —— 暂停菜单/释放指针锁定

指针锁定:

  • 游戏开始时自动请求指针锁定
  • 显示暂停菜单或结算界面时释放指针锁定
  • 恢复游戏时重新获取
移动端控制(触摸)

触摸区域:

  • 屏幕右侧 60% —— 视角/瞄准摇杆(在触摸处出现)
    • 拖动以旋转镜头
    • 移动幅度越大=旋转越快
    • 开镜时灵敏度降低以求精准
  • 左下角 —— 移动摇杆(固定位置)
    • 相对于镜头朝向的 8 方向移动
    • 模拟输入实现可变速度
  • 右下角按钮 —— 动作按钮(固定 UI)
    • 大号圆形"FIRE"按钮(最小 96x96px)
    • 上方为"SCOPE"切换按钮

摇杆行为:

  • 视角摇杆(右侧):

    • 基座出现在手指触摸处(避开 UI 区域)
    • 最大半径:80px
    • 死区:10px
    • 动态重定心:若手指超出最大半径,基座位置会滑动,使摇杆头始终保持在手指下方的最大半径处
    • 输出模拟 X/Y 值(-1 到 +1)用于镜头旋转
    • 灵敏度:满偏时约 0.15 弧度/秒(开镜时降至约 0.05)
  • 移动摇杆(左下):

    • 固定位置:距左侧 100px,距底部 150px
    • 最大半径:60px
    • 死区:8px
    • 输出相对于镜头的模拟 X/Y 移动方向
    • 移动速度随偏移量缩放

触摸追踪:

  • 按 ID 追踪每次触摸以防止相互干扰
  • 右侧区域的首次触摸 = 视角控制
  • 左侧区域的首次触摸 = 移动控制
  • 按钮上的触摸 = 动作
  • 忽略始于 UI 元素的触摸(就摇杆而言)

开镜模式调整:

  • 开镜时视角灵敏度降低 70% 以求精准瞄准
  • 开火按钮脉动/发光以示可开火状态
  • 开镜时禁用或大幅减弱移动(玩家专注于瞄准)
瞄准机制

普通视角:

  • 屏幕中央带准星的自由观察
  • 无缩放,宽视野(约 75 度)
  • 更快的镜头旋转以扫视环境

开镜视角:

  • 出现镜面覆层(带准星的圆形边框)
  • 缩放倍率:4 倍放大(视野缩小至约 20 度)
  • 更慢、更精准的镜头移动
  • 轻微的镜面晃动(呼吸效果)——按住 Shift/稳定键时减弱
  • 屏幕边缘变暗/晕影,模拟透过瞄准镜观察

子弹机制:

  • 为简化,首个版本采用即时命中(hitscan)
  • 从镜头中心穿过准星发射射线
  • 对动物碰撞盒进行命中检测
  • 视觉曳光效果(淡淡的线条)短暂展示子弹轨迹
输入状态管理

桌面端:

const input = {
  keys: {}, // Track pressed keys (lowercase)
  mouse: { x: 0, y: 0, buttons: {} },
  pointerLocked: false
};

// Prevent default for game keys
document.addEventListener('keydown', (e) => {
  const key = e.key.toLowerCase();
  if (['w','a','s','d',' ','shift'].includes(key)) {
    e.preventDefault();
    input.keys[key] = true;
  }
});

// Clear input on blur
window.addEventListener('blur', () => {
  input.keys = {};
  input.mouse.buttons = {};
});

移动端:

const touches = {
  look: null, // {id, baseX, baseY, currentX, currentY}
  move: null,
  active: new Map() // Track all active touches by ID
};

// Each joystick enforces max radius with dynamic base repositioning
function updateJoystick(joystick, touchX, touchY) {
  const dx = touchX - joystick.baseX;
  const dy = touchY - joystick.baseY;
  const distance = Math.sqrt(dx*dx + dy*dy);
  
  if (distance > joystick.maxRadius) {
    // Move base so finger stays at max radius
    const angle = Math.atan2(dy, dx);
    joystick.baseX = touchX - Math.cos(angle) * joystick.maxRadius;
    joystick.baseY = touchY - Math.sin(angle) * joystick.maxRadius;
  }
  
  // Calculate normalized output
  const clampedDist = Math.min(distance, joystick.maxRadius);
  if (clampedDist < joystick.deadZone) return {x: 0, y: 0};
  
  const normalized = (clampedDist - joystick.deadZone) / (joystick.maxRadius - joystick.deadZone);
  return {
    x: (dx / distance) * normalized,
    y: (dy / distance) * normalized
  };
}
无障碍考量
  • 移动端按钮采用大号触摸目标(最小 96x96px)
  • 所有按钮按下时提供视觉反馈
  • 提供镜头 Y 轴反转选项(常见偏好)
  • 编辑模式中可调节灵敏度设置
  • 为开镜模式、换弹状态等提供清晰的视觉指示

美术风格与视觉主题

方块狩猎狙击手 采用 体素/Minecraft 风格美学,形状简洁易辨,色彩明快愉悦。

整体美术方向
  • 风格:受 Minecraft 启发的体素/方块 3D 美术
  • 氛围:明亮、愉悦、老少皆宜的狩猎体验
  • 色彩搭配:
    • 用于草地与植被的鲜活绿色
    • 用于泥土与树干的大地棕色
    • 明亮的蓝天
    • 色彩缤纷的动物(粉色猪、白色羊、棕色牛、白色鸡)
  • 一致性:所有资产均采用立方/长方形态,尽量少用曲线
  • 观察角度:配合 3D 模型的第一人称视角
视觉元素

地形与环境:

  • 以代码渲染(Three.js 或类似)
  • 简单的基于方块的几何体
  • 草方块:绿色顶面,棕色/泥土侧面
  • 树木:棕色立方树干 + 绿色树叶冠层(由立方体构成)
  • 平面着色或简单的纹理贴图

动物:

  • 生成为体素风格 3D 模型或精灵广告牌
  • 可辨识的 Minecraft 风格比例
  • 简单动画(待机晃动、行走循环)
  • 清晰的剪影以便远距离辨识
  • 尺寸:依物种不同高 1-2 方块

UI 元素:

  • 简洁现代且带方块美学的界面
  • 镜面覆层:带准星的圆形边框(生成资产)
  • HUD:角落显示得分、计时器、连击计数
  • 按钮:带清晰图标的圆角矩形
  • 字体:粗体、易读的无衬线字体(如"Press Start 2P"或类似像素字体)

特效:

  • 枪口火焰:明亮的黄/橙色粒子爆发
  • 命中特效:细小彩色粒子(命中为红色,未中为灰色)
  • 子弹曳光:淡淡的白色线条
  • 镜面晃动:细微的呼吸律动
  • 动物逃窜:奔跑时的尘土粒子
资产生成 vs. 代码渲染

生成为资产:

  • 动物模型/精灵(牛、猪、羊、鸡)
  • 带准星的镜面覆层
  • 树木纹理(若采用纹理贴图)
  • 粒子纹理(枪口火焰、命中特效)
  • UI 图标(开镜图标、开火图标)
  • 音效与音乐

以代码渲染:

  • 地形几何体(程序化生成的方块)
  • 基础形状(方块用立方体,UI 用矩形)
  • HUD 文字与数字
  • 摇杆可视化(圆圈与摇杆头)
  • 简单几何特效(曳光、基础粒子)
尺度与比例
  • 1 方块 = 1 米(Minecraft 标准)
  • 玩家镜头高度:1.62 方块(眼平高度)
  • 动物:
    • 牛:高 1.4 方块,长 1.8 方块
    • 猪:高 0.9 方块,长 1.4 方块
    • 羊:高 1.3 方块,长 1.6 方块
    • 鸡:高 0.7 方块,长 0.8 方块
  • 树木:高 5-8 方块,树干宽 1-2 方块
  • 开镜缩放:使 200+ 方块外的动物清晰可见
技术考量
  • 使用 Three.js 进行 3D 渲染
  • 简单光照(环境光 + 定向太阳光)
  • 远处地形使用雾效(从 300 方块处开始)
  • 首个版本无需 LOD(几何体简单)
  • 目标是在移动设备上达到 60 FPS