魔术数学:从10到1,123法术。

注意:这是Magicka1。Magicka2可能已更改。

有没有想过任何超过100个咒语的游戏都是不可行的? 您能想象一个小团队的设计师在一大堆电子表格和咖啡杯前加倍地工作,因为他们打出了难以置信的数字,代表所有1,123+咒语吗? 听起来疯了吧?

它没有您想象的那么疯狂。 Magicka是一款游戏,旨在将咒语混合在一起并查看可以产生什么样的疯狂组合。 我之所以能像我一样欣赏Magicka是因为它是一个深层但高度数据驱动的过程。 换句话说,有太多的组合和许多不同的咒语。 它们中的大多数是由计算机本身在数学上生成的。 设计师为自己构建了一个系统,该系统可以根据一些规则来平衡游戏,并需要自己输入很少的数字。 今天,我们将研究哪些属性是用户定义的,哪些属性是由设计师自己编写的方程式定义的。

当然有各种各样的咒语。 您会得到流星,火山,激光,地雷以及各种法术变异以及它们造成的伤害。 怎么样? 如何不仅平衡,而且使所有这些不同的法术感觉不同? 只需通过分组即可获得咒语类型。 咒语类型是遵循特定规则和具有可互换图稿的预定义动画集的任何咒语。 Magicka总共有10个基本法术,但是某些法术与其他任何法术结合使用都会创建特定类型的法术。

6种类型的咒语(优先顺序)。

地雷是盾牌和通道混合在一起的结果。 向导会在您前面或您周围创建地雷。

盾牌将盾牌咒语与其他任何物品结合使用。 它们会创建一堵墙,将您与之结合的任何东西都用于防御。

固体结合了岩石咒语和其他任何东西。 这样会造成AOE伤害很高的流星。 该咒语是缓慢且短距离的。 伤害量和射程随着充电时间的增加而增加,是击倒量的4.4倍。

弹幕是霜和水的结果。 它们结合了任何东西的作用,会制造出数个中档冰块。 它们的伤害是可变的。

频道结合使用奥术和生命咒语。 该法术是一种激光,其射程无限,只能击中一个敌人。 造成的伤害程度取决于您选择将光束聚焦在一个敌人上的时间。

浪花是所有其他使敌人陷入基础伤害的攻击。

有人可能会问,如果两种咒语类型相互结合会发生什么? 例如,如果岩石和奥术在一组中,它会产生固体还是通道? 答案在于优先级列表。 基于固体的攻击将优先于基于通道的攻击,并导致红色能量流星。 上面的列表按顺序列出了优先级。 基于盾牌的法术优先于除地雷以外的所有事物,地雷只是盾牌和通道的组合。

由于存在6种类型的咒语,因此定义数字伤害的规则基于10种基本咒语的伤害,而所有5种类型都有各自的等式。 现在我们可以进行数学了。

观察数字时,切勿将数字四舍五入为简单的数字。 找出用户定义游戏中哪些数字以及由方程式生成哪些数字的第一步是查看数字的难易程度。 用户可以定义或不定义像30、15和200这样的数字。 但是,尴尬的数字(例如1293.434)最有可能是基于已经由用户定义的数字得出的方程式的结果。 重要的部分是弄清楚哪些用户定义的号码进入了较笨拙的计算机生成的号码。 在解决了数学问题之后,问自己一个最重要的问题就是数字为什么是数字形式以及它们所起的作用。 老实说,我无法判断游戏何时向上或向下,而且我认为不值得这样做,因此我愿意将答案缩小一倍。

基础伤害

水:0

霜冻:13

摇滚:25

火30

奥术:56

闪电:125

蒸汽:140

哪里…

Ui [s] =每个法术的用户输入,其中s是选择使用的法术。 不包括奥术。

t =时间。

Rs =多余咒语的数量

A =奥术伤害

B =弹幕伤害

Rnd =随机[高-低]

Da =伤害总计

tC =充电时间限制

基础

Ui [s] * sqrt(Rs)+ Ui [arcane] e

固体

Ui [rock] * 3 ^ Rs + 2 *(Ui [s] * sqrt(Rs))+ 4Ui [arcane]

收费

固体* tC / t * 4.4

弹幕

3 * 56 * sqrt(Rs)* Rnd + Ui [s] *?

频道

Ui [奥术] +(Ui [s] * sqrt(Rs)/ 2)+(Ui [lightning] * sqrt(Rs)/ 4)

盾牌

Ui [s] * 0

盾牌(闪电)

(125/4)* t

地雷

4Ui [arcane] +(Ui [lightning] +5)* sqrt(Rs)// Sheild + Solid用Sheild覆盖地雷

AOE

Ui [s] * 2 + Ui [arcane] * 4 + Ui [lightning] + Ui [rock] * 0

损坏后

射击:3 *(Ui [s] * Rnd)= Da //每次乘以rnd

水:Ui [闪电] * 2 //如果被闪电击中

有“方法”,让我们看看“为什么”。

我的理论是,唯一需要修改的数字是与10个法术相关的伤害值和在等式中看到的常数。 不幸的是,冰变化太大,无法得出任何结论。 试想一下,只需修改10个数字,计算机就可以缩放到suite1,123咒语。 当然,方程式本身可能已经过调整,但是我相信它们是通过这种方式表达想法的。 这些想法融合在一起,形成了玩家应该拥有的整体体验和感觉。 Magicka背后的想法是什么?

众所周知,Magicka是一款有关混合咒语的游戏。 数学证明了一切。 您在组合中使用冗余法术的次数越多,该法术就变得越强,但其增长速度却低于线性。 实际上,它是您使用的法术数量的平方根。 这样做表示增长率下降,但是在混合中使用其他咒语时,增长率会重新开始。 很明显,该游戏鼓励您混合使用法术,并以第二个增长率奖励玩家正确玩游戏。

某些咒语类型比其他咒语的效果更好,但必须在正确的时间使用正确的咒语。 如何确定? 考虑这6种法术类型,并考虑这是一个幻想动作游戏这一事实。 实际感觉像是动作游戏的幻想游戏,而不仅仅是典型的点击式RPG战斗系统需要更多点击的游戏。 为什么Magicka感觉像是动作游戏? 数学如何体现咒语类型的好处,以及数学如何表达动作? 这是因为您必须控制正确的空间量并在很短的时间内完成操作。

固体会使你所有法术加倍,但是武器开火缓慢,并且敌人离飞溅伤害越远,伤害就越小。 通道将成长速度减半,但是在无限距离射击以击中一个敌人时增加了奥术伤害。 等待的时间越长,通道就会变得越强大,但是等待使玩家可以接受其他攻击。 地雷在触发时会对地域的某个区域造成累积的奥术伤害,同时也造成状态伤害。 游戏的全部内容就是控制空间并快速完成。 咒语类型背后的所有数学运算本质上是在问玩家一件事。 “您想以时间为代价造成更大的损失吗?”这就是Magicka感觉像是动作游戏的原因。 玩家必须控制自己想要的空间,但要做出有效的决定以节省时间,并反复这样做。 唯一没有缺点的策略是组合尽可能多的法术以获得更高的伤害增长率,因为这就是Magicka的目的。

结论

仅需遵守几个规则,游戏就可以变得难以置信。 如果您想使游戏变得更大或更具有史诗感,请不要不断添加内容,寻找一套在更多情况下可行的规则或机制。 只要设计师牢记玩家的体验,他就可以制定一套规则以增强体验,但只要核心主题仍然存在,就可以为平衡起见对其进行调整。 一些递归方程可以使感到疲软的游戏变成让人难以置信的深度游戏。

示例问题

我已经阅读了Magicka Wiki,并且其拼写列表上的大多数数字都是错误的。 如果您想亲自测试这些方程式,请创建一个新文件,逐步完成本教程,然后进入城堡底部。 您会看到一个男人站在四个假人的前面。 这是理想的测试条件,因为没有任何动作,并且所有装备的防具均为0。 请务必站在他们旁边,因为损坏会随着距离的增加而减少。

喷雾(雷电,火雷)

125 *平方尺(2)+ 30 *平方尺(2)

220

通道(电弧,闪电,火,火,火)

Ui [奥术] +(Ui [闪电] * sqrt(Rs)/ 4)+(Ui [s] * sqrt(Rs)/ 2)

56 + 125/4 +(30 * sqrt(3)/ 2)

113

地雷(屏蔽,电弧,闪电,闪电,闪电)

4Ui [arcane] +(Ui [lightning] +5)* sqrt(Rs)

56 * 4 +(125 + 5)*平方(3)

449

固体(岩火)

Ui [rock] * 3 ^ Rs + 2 *(Ui [s] * sqrt(Rs))+ 4Ui [arcane]

25 * 3 ^(2)+ 2 * 30 * sqrt(2)

309

固体(岩火火火)330

Ui [rock] * 3 ^ Rs + 2 *(Ui [s] * sqrt(Rs))+ 4Ui [arcane]

25 * 3 ^(2)+ 2 * 30 * sqrt(3)

329

固体(岩奥术霜霜霜霜)

Ui [rock] * 3 ^ Rs + 2 *(Ui [s] * sqrt(Rs))+ 4Ui [arcane]

25 *3¹+ 2 * 13 * sqrt(3)+ 4 * 56

344

AOE(火秘术闪电)

Ui [s] * 2 + Ui [arcane] * 4 + Ui [lightning]

30 * 2 + 225 + 125

损坏后起火

157 = 57 + 51 + 49

损坏后起火

157 = 49 + 52 + 56