← 返回首页
2024 · 文章 · 设计者笔记

DOTA2 的机制设计

🛠️ 机制设计⚡ 状态效果✨ 涌现
核心观点

先明确「要素 × 方式」,再允许规则互相作用——好的机制,是在碰撞中「涌现」出来的。

作者简介 jskyzero
其他参考 设计者笔记

前言:机制设计与 DOTA2

机制设计能让游戏开发变简单,也能让它变难。以 DOTA2 的 25 种状态效果为切片,看一套成熟 PVP 游戏的机制如何长出来。

从 MDA 说起

  • MDA 框架:把游戏分成 机制 → 动态 → 感受 三层,帮助设计师理解玩家的游玩过程;从任意一层开始设计都可以——从机制层出发同样成立:设计底层机制,改变玩家的动态行为,带来不同感受。

机制设计为什么难

  • 落地之难:想到一个好「概念」容易,把它具体化为规则、变成玩家能接触、理解、利用的信息,还要承载长期体验,并不简单。
  • 好机制的五特征:超出预期(没见过的新东西)· 容易理解(有自然的呈现与解释)· 有可玩性(有选择空间、可对抗)· 成本可控(可实现、可测试、可维护)· 能互相作用(涌现出多样情形)。

为什么是 DOTA2

  • 机制最丰富:在体验过的游戏里,机制最天马行空、最复杂丰富的可能就是 DOTA2,还经历过长期运营与 PVP 平衡性考验。
  • 为什么聊状态效果:有趣的英雄玩法,核心是英雄丰富的体验 × 敌我带来的组合变化;状态效果与底层机制正是这些变化的地基和发挥空间。

从「眩晕」开始

眩晕是最基础也最常见的状态机制,用它来理解状态的骨架。

状态的基础效果

  • 眩晕(禁止行动):无法移动和执行任何动作——普攻、技能、道具全禁;但被动仍生效(斧王被控时被动反击照常触发);表现上有特殊演出动画、头顶旋转效果、血条上方的计时槽、UI 状态图标。
  • 眩晕(打断动作):进行中的动作会被直接打断;被打断后想再放,前摇重新计算(大圣大招被发条弹幕冲击反复打断)。
  • 指令缓存:眩晕期间下达的指令,状态结束后会立即执行(如开 BKB、闪烁逃走)——给被控方一点优待,不用狂按抢反应。
  • 转向机制:技能前摇小于转向时间时必须先转向(0 前摇的跳刀向后跳也会先转身),这个等待有时相当致命。
  • 突破限制:特殊技能可以在眩晕中使用——拍拍熊 A 杖大招被控时能开;但沉默、变羊、恐惧这类禁用技能的控依然放不出来。

状态的叠加

  • 重复眩晕取最强:同时叠两个眩晕,计时条按时长最长(效果最强)的显示;负面效果本身无法升级叠加,能处理的只有时长。
  • 时长的三种处理:叠加取和(符合多人合作「众人拾柴火焰高」)· 后覆盖前(带小眩晕的伤害技能可能提前打断大控,体验不可控)· 并存独立计时(把「浪费多少」的选择交给操作者,更吃操作、更有操作导向)。
  • 眩晕的三类:1 类通用眩晕标示、3 类自定义名但带眩晕效果(战斗日志可辨)、2 类重击(普攻概率附带,可与大晕锤主动眩晕叠加)。
  • 自我眩晕:部分技能的前摇或发生过程会给自己挂上眩晕(虚空跳、猴子跳、海民雪球)——过程中「相当于自己在眩晕」。

驱散与状态抗性

  • 驱散(提前结束):被控者无法自救,但队友可用驱散技能/道具解除;分强驱散与弱驱散,光环类无法驱散;可从来源(技能/道具)、目标(自身/敌人/队友)两个维度展开。
  • 光环生效细节:生效延迟一帧(0.033s),消失延迟 0.5s。
  • 状态抗性(加速流逝):按比例缩短大部分负面效果时长(熊战士开激怒后眩晕时间大减);面对控制阵容时变相提升生存;7.36 版本从散华等物品移除,改为只针对减速的减速抗性——变相削弱肉核。

25 种状态的归类

逐个介绍太枯燥,先找出一个能贯穿全局的归类思路。

状态效果的根基

  • 两个维度:玩家动态操作(移动指令、普攻、技能、物品)× 角色静态属性(攻防、血蓝、移速);异常状态本质就是在这类项目上施加不同效果。
  • 眩晕的定位:限制所有玩家操作输入,但不碰基础属性——最简单的思路,最基础的控制。

单维度效果类

  • 缠绕(移动指令):无法移动,但可以攻击和施法(大树捆、孽主圈、缚灵锁);位移道具被禁用(跳刀不可用、推推棒可用);部分缠绕附带真实视野、缴械。
  • 沉默(技能):禁止技能,并打断持续施法,让法师退化成超级兵(沉默大、帕克粉、紫苑)。
  • 缴械(普攻):禁止普通攻击,克制平 A 哥(天堂、哈斯卡心炎);一般无法驱散,只能等结束。
  • 锁闭(物品):禁止使用物品;稀缺的高贵属性(Doom 大),后期道具成型后被锁闭相当致命。
  • 破坏(被动技能):被动技能无效,克制被动哥(大影刀、毒龙大),让肉盾变回正常人。

复合效果类

  • 眩晕(复合视角):本质是同时禁止所有玩家主动操作(人马踩、龙骑、骷髅王锤)。
  • 吹风:被吹起,无法移动、攻击、施法;空中时多数攻击打不到——附带弱驱散;风杖因此是保命拉扯装(大风杖还能移动、对队友用,吹起无敌可覆盖之前的控制)。
  • 睡眠:无法进行任何操作,但受伤害会把睡眠状态转移(祸乱之源噩梦);罕见状态,大牛的睡眠不可转移。
  • 隐藏/驱逐:消失、无法被攻击或施法——相当于带无敌的眩晕(黑鸟、毒狗关);只有极少数技能能影响(毒狗飘毒)。
  • 妖术:变成无害小动物,无法攻击/施法/用道具,但保留缓慢移动——「功夫再高,也怕羊刀」;羊刀强在作为道具 0 抬手、范围好、后期先手秒人。

强制行为类

  • 嘲讽:强制攻击指定目标(斧王吼、哈斯卡 A 杖心炎);斧王自成体系:跳刀切入 → 吼嘲讽 → 刃甲反伤 → 被动自动反击 → 大招低血斩杀。
  • 恐惧:强制向固定方向移动(通常朝基地),无法其他操作(小仙女大、影魔大、奶绿子弹);常配合其他控制使用。
  • 强制移动:更广泛的位移控制(蝙蝠拉、屠夫勾——一度被称为正反馈最强的技能);巫妖的吸甚至无视地形,又是定制逻辑。

基础属性类

  • 减速(移动速度):降低移速的软控,追击与阻止进攻都好用;还有转身速度等更细的维度。
  • 陷阱 / 束缚 / 屏障:移动限制的三种方式——陷阱用路径阻挡者挡路(发条框、牛头板),束缚限制活动范围(小鱼人跳、墨客连),屏障靠近边缘即降速为 0(干扰者圈、马尔斯大)。
  • 传送/闪烁(极端化):把「移动」推向极端就是闪现(跳刀、女王跳);有抬手与转向间隙,可被对方控住。
  • 致盲(攻击):普攻概率落空(光法弹、TK 激光、力丸雾);纯数值向,靠意象(被激光刺瞎)提供代入感。
  • 隐形:正常视野不可见,需真实视野;诡计之雾连真眼都看不见——用显形距离控制交战距离,也给劣势方抓人反击的可能。
  • 相位:穿过单位、忽略碰撞(幽鬼天生自带相位,代价是不能卡兵)。
  • 无敌:无法被攻击和施法,但可以移动(主宰无敌斩期间);NEC 光环、辉耀的每秒伤害可用切臂章规避整秒 tick。
  • 技能免疫(减益免疫):免疫所有技能效果(BKB、小狗魔免);现改名减益免疫,不再是 100% 免疫魔法伤害;开启后平 A 哥与甩技能哥的克制关系直接两级反转,但时长递减、CD 长——潘多拉的魔盒,又不得不用。
  • 攻击免疫:免疫所有物理攻击(全能守护天使);游戏里投放克制,更多靠护甲、格挡、护盾做物理减伤。
  • 虚灵:免疫物理但自身也不能普攻,同时受额外魔法伤害(帕格纳衰老)——既是代价,也能转为主动进攻道具;「虚化的魂灵」这个抽象仅次于 BKB。

设计方法论:要素 × 方式

  • 要素:明确游戏提供给玩家的要素——不止静态属性,动态输入(移动、普攻、技能、物品)同样是要素。
  • 方式:设计这些要素的变化方式;注意整体抽象,最好有一个好意象,利于玩家理解、增加代入感。
  • 对抗与涌现:先设计通用的状态规则(叠加、驱散、优先级),再给对抗留有余地(操作、数值多重反制);机制互相作用,才能带来海量可能性和意外之喜。

附录:DOTA2 的美学实现速览

少就是多的动画

  • 低体量动画:冰女至宝仅 11 个动画(5 定制 + 6 基础),却要表现 25+ 种状态;解法是通用攻击/施法动作,近战普遍 3 种以上攻击按随机模型播放。
  • 基础动作设计:两套 idle(其一为个性演出)+ 两套奔跑(其一为残血佝偻版);吹风、睡眠共用一套摇晃动作。
  • 动画影响逻辑:女王至宝把远程飞镖替换成近战鞭子;龙骑士至宝改动喷火位点变相削弱角色——「付费削弱」。

出现即巅峰的特效

  • 无抬手道具的特效:道具使用没有抬手,特效「出现即巅峰」,只能看到巅峰与衰减,出现靠玩家脑补。
  • 海量定制:相同状态效果在不同技能上有不同且细致的效果表现。

✦ 一句话总结:先明确「要素 × 方式」,再定好叠加、驱散、优先级等通用规则,最后允许它们互相作用——对抗与涌现的乐趣,就藏在规则碰撞的地方。