作为广为人知的世界级游戏,《俄罗斯方块》能够历经数十年经久不衰,看似简单的游戏机制里必然揭示了许多有趣的体验设计法则,其中之一便是它的游戏难度曲线:随着方块的累积,操作方块的空间会越来越少,游戏将会越来越难。合理的游戏难度区间能让玩家快速进入忘我的心流状态,而数十年的时间和几代玩家已经证明,《俄罗斯方块》绝对称得上是游戏难度曲线的典范,正是它让玩家们乐此不疲地继续着游戏。而《俄罗斯方块》的游戏规则又是如此简单,因此我想尝试用数学的方式给出这条曲线。
我们来考虑一个简化的一维模型,实际的俄罗斯方块可以考虑是多个一维模型的组合:
游戏内只有一条通道,高度为
通道顶部每隔一段时间会生成一个边长为a的方块,方块落下的速度为
每隔一段时间,通道底部的方块会被消除,消除的速度为q(或每隔
定义游戏难度

首先我们可以注意到:如果p和q是一个常数,那么可以简单地用
也就是说,方块的累积使得通道的可用高度
游戏难度为
设置合理的参数,其图像为

由于进行了许多简化,我们可以将其视为一个最小的游戏单元。
由于下落变快,方块之间的接触概率变大,因此方块消除速度也会更快,考虑方块的消除速度随着落下时间的减少而加快:
修改eq.2为:
解这个一元二次方程,得
舍去负根,游戏难度为:
设置合理的参数,相同时间内的游戏难度曲线为:

可以发现,加入了方块消除速度q值修正后的模型,游戏难度上升明显变缓,与实际情况有较大出入。于是我们可以将方块消除速度进行分段:
在这个模型中,当下落时间T(t)小于一定阈值时,玩家应接不暇,方块的消除速度不再增加,维持一个较小的稳定值时的难度曲线函数变为:

由此,我们发现玩家的难度曲线在阈值点附近发生了突变。超过这个临界点后,游戏会很快结束。
我们还可以假设,随着游戏的进行,方块下落的速度
并且每隔一段时间
按照上述思想我们可以通过模拟绘制一维俄罗斯方块模型的游戏难度曲线,由于图中还考虑了下落速度随时间成正比增长,这使得游戏难度在每一个消除周期后都会获得更大增幅。

有一个简单的模型能够描述恋爱中的小情侣之间的拉扯游戏,并且能够很好地帮我们复习线非性动力学中的主要知识,主要内容出自Strogatz的《非线性动力学》,我觉得很有趣,下面是具体介绍:
有一对男女,我们就叫他们静希草十郎和苍崎青子好了。
草十郎同学是个刚刚步入人类社会的纯真男孩,当对方表露好感时,他会不加掩饰地说出自己的喜爱,当对方口中骂出“笨蛋、讨厌、烦死了!!!”之类的话语时,他也会把那理解成对自己的嫌恶然后逐渐疏远。
而青子同学是个傲中之傲的傲娇,面对草十郎同学的示好,她总是摆出一副拒绝的样子,但是察觉到对方逐渐远离自己时,又会突然做出一些温柔的举动,让草十郎同学心动不已。
不妨设:
值越大表示对对方的态度越亲密,正值表示亲密,负值表示疏远。
为了简单起见,二人的恋爱模型可以表示为
常数a、b均为正值。
用形象的理解就是,在由C、Q张成的平面空间中的每一个点(c,q)上都分配了一个向量:
我们在4个象限中分别画一下向量的朝向,不难看出,表示二人亲密状态的曲线轨迹应该是一个圆环,也就是说:二人的亲密关系始终在
四种状态中循环,如下图中所示:

可以用通解法进一步求解,(1)式改写为:
求解参数矩阵的特征方程:
即
将特征值带回(3)式,特征向量为
通解为:
用欧拉公式进一步化简,得
这是一个椭圆的参数方程,与之前的分析一致。
因此,两人的关系会一直处于一个循环的状态,不会有任何实质性进展,但好消息是两人会在1/4的时间内同时持亲密态度,并且两人至少不会彼此莫不关心:也就是到达系统稳定点(0,0)。
综上,笨蛋草十郎永远不会得逞,谁让青子是蘑菇我老婆呢?
在大多数恋爱关系中,我们采取的策略显然会更加复杂,于是我们可以建立一个稍微更为普适的模型:
特征方程为
特征值和特征向量的求解略显复杂,但我们可以可以通过刻画平面中的特征值和特征方向来观察系统的演化,展开行列式有:
特征值与矩阵的迹和行列式值的关系为
通解为:
可以分情况讨论
特征值异号(且必然为实数):
这种情况下特征方向为两条直线,且一条直线上的解指数增长,另一条直线上的解指数减小,这种情况,平面中心的不动点称为鞍点(saddle point),系统的相图可以刻画出两人恋爱状态的演化轨迹:

这种情况下,两人恋爱的最终结果可能是走向第一象限的热恋状态,也有可能进入第三象限的对抗状态,具体哪一种则取决于两人的初始感觉。
特征值同号:
特征值为实数:
这种情况下特征方向是两条直线,且直线上的解同时指数增长或减小,取决于特征值的正负:
特征值为正:
不动点为稳定结点(stable node),系统的相图为:

两人关系最终会走向平淡,既不恋爱,也不对抗。
特征值为负:
不动点为不稳定结点(unstable node),两人的关系最终可能走向四个象限中的任何一个,取决于他们的初始感觉。
特征值为复数:
相平面中不再具有直线型的特征方向,取而代之的是环形的向量场,此时不动点为中心或焦点
当特征值为纯虚数:
不动点称为中心(center),轨迹既不被吸引也不被排斥,做周期运动(也就是part I.中的情况)
特征值之和为正:
不动点称为稳定焦点(stable spiral),轨迹呈螺旋状,被焦点吸引
特征值之和为负:
不动点称为不稳定焦点(unstable spiral),轨迹呈螺旋状,被焦点排斥

综上所述,我们可以用一张图来表示所有不动点的情况,我们可以借由不动点的类型轻易地画出系统的大致相图,并判断系统的最终状态:

作为一款深受玩家喜爱的即时战略游戏,《帝国时代4》不仅需要玩家进行军事扩张,同时还需要掌控经济发展、资源分配和战略规划。游戏中的每一场战斗不仅仅是士兵的碰撞,更是资源供需关系的较量。无论是粮食的增长、黄金的采集,还是军队的消耗与升级,都遵循着一定的规律。合理的资源增长与消耗平衡能够让玩家快速进入“心流”状态,而这种机制正是许多即时战略游戏的核心设计之一。
在这篇文章中,我们通过数学建模,尝试分析《帝国时代4》中资源增长与消耗的平衡关系,探索在军事扩张过程中,如何在经济发展与战争损耗之间找到最优解。
我们构建一个简化的经济-军事模型,描述游戏中的资源动态:
资源生产:
资源类型包括粮食(F)和黄金(G)。
粮食用于训练士兵,黄金用于升级科技。
假设每个村民的固定工作效率为
村民总数
资源需求:
假设每生产一单位士兵需要消耗
士兵会随着战斗而损耗,假设每秒士兵的损耗率为
资源动态方程:
每单位时间,粮食和黄金的变化可以分别表示为:
其中
军事力量:
士兵数量
其中
通过以上模型,可以描述资源生产、军队训练与战争消耗之间的动态关系。
在《帝国时代4》中,军事扩张与资源增长往往是对立的:过多的村民分配到资源生产上,会导致军队规模不足;而过多的人力投入到战斗中,则会减缓经济发展。我们可以通过分析资源增长与军队损耗的平衡点,寻找一条“合理扩张曲线”。
考虑一个简化情况,仅有粮食生产,假设
在稳态下(即
将
这表明,士兵数量
游戏中的资源包括粮食(Food,
每个村民的资源生产效率为:
总村民数量
每单位时间,粮食和黄金的变化受村民分配数量影响:
其中,
士兵数量
士兵生产速度
村民在粮食和黄金生产之间的分配是动态调整的,具体规则如下:
资源优先级:
当粮食不足(
当黄金不足(
村民总数约束:
1.村民数量恒定:

2.村民数量线性增加:

在动漫《葬送的芙丽莲》中,芙丽莲作为一名长生种精灵,她的漫长寿命让她对时间的感知与人类截然不同。对人类来说,十年的时间可能是一段非常漫长的记忆,而对芙丽莲来说,十年可能稍纵即逝。为了更好地理解长生种对时间的主观感知,我们可以通过两个数学模型来描述时间流逝对她的影响。

传统模型假设感知时间的增长速率与真实时间成反比:
1. 模型假设
感知时间的增长速率与真实时间成反比:
在真实时间的早期(
2. 计算
对 (t > c) 时的感知时间公式积分:
其中 (C) 为积分常数。
3. 确定参数
有连续性条件:
在 (t = c) 时,感知时间连续,满足 (T(c) = c):
在 (t = c) 时,感知时间的增长速率连续,满足
综上,有:
其中:
(T(t)):感知时间,
(t):真实时间
(c):线性增长阶段结束的真实时间。
改进模型假设感知时间的增长速率与过去的感知时间成反比:
1. 模型假设
感知时间的增长速率与真实时间成反比:
在真实时间的早期(
2. 计算
对 (t > c) 时的感知时间公式积分:
其中 (C) 为积分常数。
3. 确定参数
有连续性条件:
积分常数 (C): 在 (t = c) 时,感知时间连续,满足 (T(c) = c):
比例常数 (k): 在 (t = c) 时,感知时间的增长速率连续,满足
综上,有:
其中:
(T(t)):感知时间,
(t):真实时间
(c):线性增长阶段结束的真实时间。
数学公式如下:
其中:
(T(t)):感知时间,
(t):真实时间,
(c):线性增长阶段结束的真实时间。

假设芙丽莲的生命跨度为 (t = 1000) 年,线性增长阶段结束时间为 (c = 10)。通过斜率连续性计算得 (k = c = 10)。我们计算当真实时间从 (t = 1000) 增加到 (t = 1100) 时的感知时间变化。
| 模型 | 感知时间变化( |
|---|---|
| 传统模型(比例理论) | 0.95 年 |
| 改进模型(感知比例理论) | 6.89 年 |