mcpField
G
game-feel

game-feel

github.com/jarrodmedrano设计与 UI252 次安装39 周前更新
代码仓库

关于 game-feel

game-feel 是一项用于理解和调校游戏操控触感的设计技能,面向游戏设计者。它涵盖评估指标、感知阈值、模拟模式与问题排查方法。

主要功能

  1. 01游戏手感的三项基础要素
  2. 02评估手感的六项指标
  3. 03ADSR 响应调校模型
  4. 04移动与跳跃模拟方案
  5. 05润色效果与关卡设计指导

适用场景

  1. 01排查操控漂浮或迟缓问题
  2. 02调校跳跃和移动响应
  3. 03协调音效、特效与碰撞反馈

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jarrodmedrano/jarrod-claude-skills --skill game-feel

安装后在 Claude Code 中输入/game-feel确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
adsr-tuning.md
classic-profiles.md
perception-thresholds.md
polish-effects.md
simulation-recipes.md
six-metrics.md

详细介绍

游戏手感技能

基于 Steve Swink 的全面分析,帮助理解、衡量并打造令人满意的游戏操控体验的框架。

核心定义

游戏手感是操控虚拟物体时的触觉和运动觉。它是一种操控感——那种身临其境地转向、跳跃和互动的感觉,存在于玩家与游戏之间。

“游戏手感是一门无形的艺术。如果设计师做得对,玩家永远不会注意到它,只会觉得一切恰到好处。”


三大构成要素

游戏手感需要以下三个要素协同发挥作用:

要素定义缺少时
实时操控对输入做出连续、即时的响应感觉像是在下达命令,而不是亲自操控
模拟空间虚拟世界中的碰撞与物理效果没有物理互动感
润色突出互动效果的表现手法平淡、缺乏生气、令人难以信服

人类感知阈值

修正周期

玩家以约 240ms 的周期进行感知、思考和行动:

  • 感知处理器:约 100ms
  • 认知处理器:约 70ms
  • 运动处理器:约 70ms
关键阈值
阈值数值效果
运动错觉10+ fps低于此值时,感觉不到运动
平滑运动30+ fps运动感觉流畅
即时响应<50ms感觉可以直接操控
可察觉的延迟100-200ms操作迟缓,但仍可使用
操控失效>240ms玩家会察觉延迟,手感开始崩坏

“50ms 的响应时间会让游戏感觉像是身体的延伸。超过 100ms,就会察觉到延迟。超过 240ms,实时操控便会失效。”

参见:references/perception-thresholds.md


游戏手感的六项指标

1. 输入

物理设备及其发送的信号。

衡量方式:灵敏度、状态、信号类型(布尔值或连续值)、人体工学设计

2. 响应

输入如何映射为游戏状态变化。

衡量方式:直接或间接映射、模拟复杂度、ADSR 包络

3. 环境

为空间运动赋予意义的环境。

衡量方式:物体间距与角色速度的相对关系、碰撞密度、关卡布局

4. 润色

突出并强化互动效果的表现手法。

衡量方式:粒子效果、屏幕震动、动画同步、声音设计

5. 隐喻

游戏所表现的内容及其带来的预期。

衡量方式:写实与抽象、玩家预期、类型惯例

6. 规则

影响即时手感的游戏规则。

衡量方式:生命值系统、风险与奖励、状态变化、能力解锁

参见:references/six-metrics.md


游戏手感的 ADSR 包络

借鉴自声音合成,用于描述响应如何随时间变化:

     Sustain ___________
    /                   \
   / Attack      Decay   \ Release
  /                       \
_/                         \_____
阶段描述示例(马力欧跳跃)
起音达到完整响应所需的时间按住按钮时,跳跃力度逐渐增强
衰减过渡到持续水平初始爆发后逐渐平稳
延音按住输入时保持的水平保持最大跳跃高度
释音停止输入后的衰减松开按钮后由重力接管

关键要点:大多数“飘忽”与“紧实”手感的差异,都来自起音和释音时间。

参见:references/adsr-tuning.md


常见操控手感词汇

术语含义典型成因
紧实精准、响应即时起动时间短、加速度高、释放时间短
飘浮松散、延迟、漂移起动/释放时间长、惯性大
响应灵敏立即按预期行动响应时间 <100ms、直接映射
迟缓感觉延迟、沉重响应时间 >150ms、起动时间长
滑溜难以精准停下摩擦力低、释放时间长
黏滞难以开始移动摩擦力高、起动时间长
厚重感受到质量和动量加速度曲线、重力强度
干脆状态切换迅速起动时间和释放时间都短

模拟基础

位置、速度与加速度
层级变化内容手感
设置位置直接传送僵硬、机械(Donkey Kong)
设置速度直接改变速度响应灵敏但不自然
施加力增加加速度流畅、符合物理规律(Mario、Asteroids)
Asteroids 原则

将推进与旋转分开,营造富有表现力的太空操控感:

  • 旋转:直接、即时(不进行模拟)
  • 推进:沿飞船朝向施加力(经模拟)
  • 效果:飞船感觉仿佛即将失控,却从未真正失控
Mario 原则

将水平与垂直系统分开:

  • 水平:加速度、最高速度、减速度、奔跑修正
  • 垂直:跳跃力、重力、下落重力(正常值的 3 倍!)、终端速度
  • 按住按键的时间会影响跳跃高度(设有最小值/最大值)

参见:references/simulation-recipes.md


Mario 跳跃方案

游戏史上被分析最多的跳跃:

水平移动
Walk acceleration → Walk max speed
Run acceleration → Run max speed (B held)
Air acceleration (reduced)
Deceleration (same for walk/run)
垂直移动
Initial jump force (instant, large)
Gravity (constant, moderate)
Jump button hold → extends upward force (with max time)
Early release → force artificially set to low value
Apex detection → gravity triples for descent
Terminal velocity cap
让它奏效的“技巧”

当玩家提前松开跳跃键时:

  1. 检查向上的速度是否 > 阈值
  2. 如果是,则立即将速度设为预设的低值
  3. 无论松开时机如何,都能形成一致的弧线形状

参见:references/mario-mechanics.md


重要的润色细节

三级冲击系统

轻微/中等/强烈冲击各自配有:

  • 独特动画
  • 独特音效
  • 独特视觉效果(粒子、屏幕震动)
声音与动作的协调
  • 音高上升 = 动作上升(Mario 的跳跃音效)
  • 冲击音效与视觉规模相匹配
  • 脚步声与动画帧同步
  • 按材质区分音效(金属、草地、石头)
交叉机制的感受

多种机制应让人感觉遵循同一套物理规律:

  • 游泳感觉飘浮,正是因为奔跑感觉踏实
  • 飞行违背的是同一套重力规律,而这套规律也会影响跳跃
  • 对比带来感知上的一致性

参见:references/polish-effects.md


背景:为操控手感设计关卡

空间关系必须符合机制
  • 跳跃高度 → 平台高度
  • 奔跑速度 → 通道宽度
  • 停止距离 → 危险物前的间隙大小
“恰到好处”原则

物体的间距应使预期动作勉强能够成功:

  • 远跳间隙:恰好等于远跳距离
  • 三段跳高度:恰好等于三段跳的最高点
  • 成功完成时会产生掌握技巧的成就感
柔性边界

用物理规律引导,而不是用墙壁阻挡:

  • 陡坡会导致滑行(Mario 64)
  • 水会减慢移动速度
  • 风会将玩家推向预期方向

“玩家不会感受到设计师直接介入。限制看起来像是合乎逻辑的结果,而不是明显的约束。”

参见:references/spatial-context.md

调试手感问题

症状可能原因修复方法
“漂浮”攻击/释放时间过长缩短加速度曲线
“迟缓”响应延迟过高降低输入到显示的延迟
“打滑”减速度过低增加摩擦力/减速度
“僵硬”没有加速度曲线为移动添加起势阶段
“无响应”输入未被检测到检查输入轮询率
“难以预测”轨迹不固定为特殊动作使用固定弧线
“失重”重力较弱尤其要增大下落重力

优秀游戏手感的原则

  1. 可预测的特殊动作 — 为精准操作使用固定轨迹
  2. 多变的基础动作 — 为即时操控提供丰富的表现空间
  3. 一致的抽象 — 采用简单但自洽的物理规则
  4. 超越隐喻预期 — 手感比画面所暗示的更真实
  5. 打磨让各方面协调一致 — 声音、视觉和动画讲述同一个故事
  6. 情境符合能力 — 关卡设计尊重角色的能力限制
  7. 响应时间 < 100ms — 保持即时的手感
  8. 对比创造多样性 — 不同机制带来不同的手感

快速参考:经典手感特征

Asteroids(漂浮的太空感)
  • 推进与旋转分开处理
  • 摩擦力极低(停止需要 4 秒以上)
  • 屏幕边缘循环衔接
  • 旋转:即时响应,不做模拟
Super Mario Bros(平台游戏的黄金标准)
  • 水平和垂直系统分开处理
  • 跳跃高度可变(按住按钮)
  • 下落时重力增至三倍
  • 奔跑修正同时改变加速度和最高速度
  • 空中操控能力降低
Mario 64(3D 转换)
  • 相机相对方向的摇杆控制
  • 基于斜坡的滑行动力学
  • 多种跳跃类型,各自使用固定轨迹
  • 转弯时采用弧线插值
  • 地面砸击作为精准着陆工具

参见:references/classic-profiles.md


核心准则

  • “游戏应当像身体的延伸。”
  • “系统分开,世界统一。” — 机制彼此独立,物理规则保持统一。
  • “超越隐喻。” — 手感要胜过视觉呈现。
  • “精准靠固定,表现靠变化。” — 特殊动作与基础动作各有所长。
  • “打磨不是可选项。” — 效果能让交互更有说服力。
  • “240ms 是极限。” — 实时操控的响应时间上限。

评论

支持 Markdown