跳到主要内容Skip to main content

学习路径Learning path · 第 3 阶段Stage 3

手感问题清单

Game feel checklist

**这一步决定什么****What this stage decides**:「手感不对」是六种不同的病,每种对应不同的参数。先诊断再改。: \"It does not feel right\" is six different problems, each with its own parameter. Diagnose first, then tune.

**本站的判断****Our judgement**:先分清是代码问题还是数值问题 —— 90% 的「飘」改两三个参数就能解决。: First work out whether it is a code problem or a numbers problem — 90% of \"floaty\" needs two or three values changed.

性质:本站的判断,未经实测Nature: the site's judgement, not measured

一句话:「手感不对」不是一种病,是六种。改错参数等于白改。

In one line: "it does not feel right" is not one problem, it is six. Changing the wrong parameter achieves nothing.

先诊断

⚠ 顺序很重要:先确认它是手感问题还是代码问题。

症状先查这个再调这个
⚠ 按键后有延迟感输入缓冲有没有?⚠ 很可能不是手感问题
飘重力值增大重力;落地加一点下压
粘空中控制是否过强减小跳跃初速;加 coyote time
滑(停不下来)摩擦 vs 空中阻力的比例增大地面摩擦;注意两者是独立参数
⚠ 边缘判定模糊碰撞盒是不是比视觉大玩家碰撞盒通常该小一点
操作延迟响应动画是否阻塞了输入动画期间不应锁输入

Diagnose first

⚠ Order matters: establish whether it is a feel problem or a code problem.

SymptomCheck this firstThen tune
⚠ Lag after a keypressIs there an input buffer?⚠ It is probably not a feel problem at all
FloatyThe gravity valueRaise gravity; add a little downward force on landing
StickyIs air control too strongLower jump velocity; add coyote time
Slippery (won't stop)The ratio of friction to air dragRaise ground friction; note they are separate parameters
⚠ Uncertain edgesIs the collider larger than the sprite?A player's hitbox is usually smaller
Delayed responseIs animation blocking inputInput should not be locked during animation

三个最常被忽略的参数

参数作用忽略它的后果
coyote time离开平台后仍可跳的宽限(帧)玩家会感觉「我明明按了」
jump buffer落地前按跳会缓存(帧)同上
可变跳跃高度松开跳跃键时截断上升每次跳跃都一样高 → 失去控制感

⚠ 这三个是「操作手感」的地基。**它们不解决就会一直觉得不对劲,

但你可能说不出为什么。**

The three most forgotten parameters

ParameterWhat it doesWhat happens without it
coyote timeGrace window after leaving a platform during which you can still jump (in frames)Players feel "but I definitely pressed it"
jump bufferA jump pressed before landing is remembered (in frames)Same
Variable jump heightReleasing the button cuts the rise shortEvery jump is the same height → loss of control

⚠ These three are the foundation of control feel. Without them something always feels off, and you may not be able to say why.

⚠ 最反直觉的一点

大部分「手感不对」是数值问题,不是代码问题。

把代码重写三遍不如把重力从 980 调到 1150 试一次。

⚠ 而且改完要每次只改一个 —— 一次改三个,你就不知道是哪个起的作用,

下次遇到相似问题还是不知道怎么调。

⚠ The most counter-intuitive point

Most "it does not feel right" cases are a numbers problem, not a code problem.

Rewriting the code three times is worse than trying gravity 1150 instead of 980 once.

⚠ And change one thing at a time — change three and you will not know which one mattered, so the next time you meet a similar problem you still cannot tune it.

判断你可以进入下一阶段了吗

  • 别人玩过,没有问「这游戏怎么玩」
  • 你自己玩 30 分钟不觉得无聊
  • 关键参数是可调的(不是硬编码)

Can you move to the next stage?

  • Someone else played it and did not ask "how do I play this?"
  • You have played it for 30 minutes and still find it interesting
  • The key parameters are adjustable rather than hard-coded