惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - sun_dust_shadow

(翻译) 延迟补偿方法的协议设计与优化 Latency Compensating Methods in Client/Server In-game Protocol Design and Optimization (翻译) Dota2 Random Distribution Dota2中的随机分布 (个人思考)游戏技能的实现 - sun_dust_shadow [瞄准辅助] 实现一种柔和平滑的瞄准辅助 (个人思考)实现游戏GAS系统中的Tag (翻译) Efficiency Tips on Switching Spaces and Transformation Matrices in Unity (翻译) V Rising's Animation Layering in Unity (翻译 unity2020.1) Understanding the managed heap (UnityEditor Tool) 语音控制unity editor暂停和播放 (翻译 ue gas) Gameplay Ability 总结 Overwatch Gameplay Architecture and Netcode 守望先锋的游戏架构与网络代码 (翻译 ) Source Multiplayer Networking Source引擎的多人网路系统 (翻译 gafferongames) Networked Physics in Virtual Reality VR中的网络物理 Topdown游戏中Input朝向的转化 (翻译 gafferongames) Client Server Connection 客户端服务器连接 (翻译 gafferongames)Reliable Ordered Messages 可靠有序消息 (翻译 gafferongames) Sending Large Blocks of Data 发送大块数据 (翻译 gafferongames) Packet Fragmentation and Reassembly 数据包分片与重组 游戏中Shotgun(喷子)发射子弹的实现
(读书笔记)平衡掌控者
sun_dust_sha · 2025-09-14 · via 博客园 - sun_dust_shadow

这本书比较短,主要是国内某数值设计师的MMORpg的设计经验。

虽然大部分是mmo制作的细节,可以不用太深挖,但还是有不少“游戏共性”可以参考和学习的。

主要是第2章和第4章的内容。

下面记录一些关键点并做了一些拓展。

----------------------------------------------------

 一种类型游戏是否可以分析不同类型的玩家

比如作者举例:

image

自己游戏的核心成长数值是什么?

作者例子:

随机+等级(等级关联核心属性)

image

定义自己游戏的属性。规划属性之间的关系

例子:

image

如果你的游戏有不同的职业角色

(1)要对不同角色的属性进行规划

(2)定义一个“标准人”属性成长,进行所有角色属性对比。“先做标准,再做差异”。

DPS 每秒输出伤害

一段时间内实际造成的伤害 ÷ 时间

(1)时间概念略有不同

有些是从战斗开始计算时间,然后获取伤害平均。有些是技能时间段的伤害输出。

作者的mmo是技能时间段方式。而且依普攻为DPS的标准,去设计其他技能。

(2)攻速属性的设计要慎重,DPS对攻速很敏感。

  • 攻速太敏感:稍微增加都会成倍提高 DPS。

  • 堆叠问题:如果攻速能无限提升,玩家会无脑堆攻速 → 破坏数值多样性。

  • 常见解决方法:

    • 设定攻速上限(如 LOL 2.5 次/秒。 如果没有硬性上限(攻速 cap),堆攻速的收益会远高于暴击、力量、智力等属性,导致平衡崩坏。。

    • 攻速提升收益递减。如果职业的技能触发依赖普攻(比如盗贼的能量回复、战士的怒气生成),攻速提高会导致资源产出 + DPS 双重提升在早期版本 WoW 里,盗贼武器攻速优化是最核心的配装思路之一。后来暴雪调整了“普攻+技能收益”,并设定了 Haste(急速) 的收益曲线,避免玩家堆叠攻速。

    • 增加攻速的副作用(比如耐力消耗、精力槽消耗更快)。

    • 用动作锁定/前后摇来“限制快攻武器”的实际输出窗口。

技能流程

这里作者区分了近战和远攻

(1)近战

三时间阶段 : 前摇->命中->后摇

这里的前摇释放期间,可以设计技能被“打断”的,后续流程就停止了。过了前摇,攻击就发动成功了。

不同游戏不同:

  格斗/MMO:强调博弈和平衡,需要“前摇”来制造出手速度差异。

      格斗:轻拳前摇 3F、重拳前摇 15F,差别巨大,前摇决定了博弈。

      ACT:大剑等武器前摇很长(蓄力过程),是典型“风险换高收益”的玩法。

  无双类:强调爽快感,面对的敌人大多是“杂兵”,根本不需要严格平衡。前摇很短或者没有。

      无双割草:普通攻击前摇基本 0~2F,几乎“按下就有判定”,强调连击爽感。   

(2)远程

image

公共攻击冷却时间

    释放技能后,所有共享公共冷却的技能都必须等待这段时间才能使用。

     为什么要设计公共 CD?

  1. 限制爆发,平衡节奏

    • 如果没有 GCD,玩家可能瞬间连点多个技能(A→B→C),秒间伤害爆炸。

    • GCD 强行在技能间插入一个“节奏”,避免一瞬间倾泻过量伤害。

  2. 让循环更可控

    • 玩家需要考虑“在公共 CD 内我该做什么”,而不是疯狂按键。

    • 例如 WOW、FF14 里玩家要规划:

      • 公共 CD 技能(主循环输出)

      • 非公共 CD 技能(瞬发/插入技、辅助技)

  3. 提升操作深度

    • 公共 CD 让玩家在“空档期”插入非 GCD 技能(如位移、治疗、Buff,策略性技能),从而形成优化空间。

实际例子

  • 魔兽世界(WoW)

    • 大部分技能共享 1.5 秒公共 CD(近战职业通常 1 秒)。

    • DOT 技能、治疗技能等也受 GCD 影响。

  • 最终幻想 14(FF14)

    • 公共 CD = 2.5 秒(角色属性和技能可缩短)。

    • 在这段时间内,玩家要插入 非 GCD 技能(oGCD),比如瞬发 Buff、位移。

    • 于是形成“GCD 技能 → oGCD 插入 → GCD 技能”的循环。

Swiftcast(迅速咏唱)Final Fantasy XIV oGCD 下一个法术 立即施放(cast time 变为 instant),如果那个法术本来就是 instant,就不会消耗 Swiftcast。 (Final Fantasy Wiki) 默认冷却 60 秒;在较高等级的 trait 可以减至 40 秒。 (Final Fantasy Wiki) 用于在 GCD 等待期间插入瞬发法术,比如救人或打断机制;或者用来改变移动移动时的输出中断。通常保留用于关键的瞬发需求或是输出窗口最大化。 Triplecast(三连咏唱 / 三连魔)FFXIV(Black Mage) oGCD 给黑魔法师在短时间内(三个栈)使接下来的三个有施法时间的法术变为 instant cast(去掉施法时间) (Final Fantasy Wiki) 重铸时间(recast / 冷却)60 秒;持续时间大约 15 秒;效果有次数限制(每用一个 eligible 法术消耗一个栈) (Final Fantasy Wiki) 用来在输出周期中瞬间释放几个大的法术(例如有施法时间的火 /暴击法术等),提升伤害峰值;也常在需要移动 /躲避机制中 interweave(插入)以减少因移动导致的 DPS 损失。 Ice Block(冰封魔甲 / 冰块术)World of Warcraft(Mage) Instant / GCD 技能(触发 GCD) 使施法者进入冰块状态(变为冰块):10秒内免疫所有物理攻击和法术伤害,但不能移动、不能攻击、不能施法。也会清除大部分 debuff。 (WoWWiki Archive) 冷却时间 5 分钟(某些天赋 /天赋树/改动可能有减少) (WoWWiki Archive) 用作防御性大招,用来规避非常大的伤害或关键时期被暴击 / 被控;因触发 GCD 效果使用后有硬直,为了最大效用一般在预见到伤害来临前使用,而不是在生命很低后仓促用。参数与战斗节奏要配合好。 Counterspell(法术反制)WoW(Mage) 通常是 Instant / 非 GCD 或不完全受 GCD 限制(Interrupt 技能通常是 off GCD) 打断敌人的施法:中断施法条,目标施法院系在短时间内无法施放同系法术(Silence /学校锁定效果) (Wowpedia) 冷却大约 24 秒;施法距离有关;Instant cast;消耗少量法力值。 (Wowpedia) 用来在关键时刻打断敌人(例如 Boss 的关键读条 /对手的控制技能 /治疗释放),属于高优先级技能;因为 Instant + Interrupt 通常为非 GCD,可以插在别人的动作 /自己的 GCD 期间,提升反应效率。 Revival(苏之雾 / Revival)WoW(Mistweaver Monk) GCD 技能或大冷却治疗 /非战斗型冷却(视具体职业分类) 对团队 /所有队友进行群体治疗 + 清除某些负面状态。不是复活(与 Resuscitate 不同)。 (Wowpedia) 冷却大致为 3 分钟;Instant 施法;消耗一定法力。 (Wowpedia) 在战斗中用于大团伤前 /输出周期 /危险阶段,用来拯救局面;因为冷却长,通常保留在最需要的时候;也需要与防御技能、队伍输出 /奶量节奏搭配好。
技能游戏类型 / oGCD 或 GCD作用 / 效果CD /消耗 /使用限制在循环中的用途与注意点

两种攻击结果的计算:逐步判断 vs 圆桌理论

判定方式 顺序判定:未命中 → 躲闪 → 暴击 → 普攻 一次掷骰,所有结果按优先级占满 100% 区间 概率计算 后面结果概率会乘以前面条件的剩余概率 → 被稀释 概率直接生效(10% 暴击就是 10%),不被稀释 属性价值 高优先级属性收益更大(命中 > 暴击) 高优先级属性会“挤掉”低优先级结果(命中高可能导致暴击触发不到) 数值表现 平滑、等比缩放(降低命中,暴击和普攻一起按比例减少) 阶梯式变化(某个阈值一旦超出,低优先级结果会被直接挤没) 玩家体验 直观:玩家理解为“先命中再暴击” 难以直观理解:暴击写 10%,但可能完全打不出来 策划调控 需要考虑“有效概率”,不直观 裸数值就是实际表现,调控方便 性能消耗 多次判定,逻辑简单但可能频繁运算 一次判定即可,高效(适合大规模战斗判定) 常见应用 动作类游戏、小规模 PvP(偏向自然感) 大型 MMO(魔兽世界、FF14),服务器性能优先 典型问题 属性平衡难:暴击等低优先级被稀释太多,价值下降 “圆桌被挤满”:低优先级概率直接掉到 0%,体验突兀
对比项逐步判断 (Step-by-step Roll)圆桌理论 (Combat Table / Single Roll)
  • 逐步判断 → 分布平滑、逻辑直观,但低优先级属性收益永远被打折。

  • 圆桌理论 → 概率直接生效、性能更高,但容易出现“低优先级完全失效”的体验。

    image

这里作者pdf 4.22 里有一处错误:

image

属性的分级

看设计,不严格区分

image

每种公式的设计思路

1.根据属性设计公式

2.标准并且对比

3.绘制曲线,并进行大量数据的曲线采样点绘制,并对比不同的公式曲线特点。

4.玩家从数值提升,感受到战斗效果提升的强度

5.对于mmo等升级游戏,前期中期后期的提升侧重点?

前期要吸引玩家,不同职业提升特色属性后战斗效果很明显。但等级升级过高后,是否要考虑各个角色平衡,以及是否允许出现”超级玩家“。

三种典型的攻击公式

image

image

输出技能的设计方式

这段作者说了mmo中技能设计的方式。

有几个关键点:

普攻作为参考   

1.技能输出值(相对普攻的增幅) 

2.技能cd(合理时间释放) 

3.AOE效果 (拉量大的怪,释放,单个伤害可能还不如普攻) 

image