建模一个即时战略游戏或者说暴雪是如何制作星际争霸1和2的?

4

不确定这个问题是否与软件开发有关,但我希望有人至少能指点我一个方向(不是那个方向...)

我非常好奇暴雪如何在他们的游戏中实现如此平衡的战略/战术力量?如果你看看星际争霸1或现在的2,每个种族都有独特的特征,与其他种族的独特特征相对应,并共同创造出一种相当美丽的平衡(至少在我看来是这样的)。

是否有某种数学领域可以帮助建模这些内容?他们基本上是如何做到的?


3
尝试访问gamedev.stackexchange.com——这是一个专门回答此类问题的新网站。;) - Nate
我相信他们使用了数学,但也进行了大量的试错。你需要成千上万的高薪专业人员、大量的硬件和十年时间,才能肯定地击败他们。否则……祝你好运! :) - Hamish Grubijan
3
没有什么比数千名渴望找到每一个可以利用的机会的测试人员更能迅速发现平衡问题。人类能够执行极其强大的启发式算法,甚至可以识别和利用最微小的缺陷。 - Dan Bryant
谢谢Nate,我会去看看!那些 *.stackexchange.com 的页面出现得太快了,跟不上 :) - Alex N.
4个回答

7

我没有完整的答案,但这是我所知道的。最初,当游戏技术上准备就绪时,平衡不太理想。当他们开始第一次公开测试版时,平衡存在漏洞,但他们迅速进行了修补。他们让玩家(测试人员)按照原样进行游戏,并记录每个种族胜利的百分比统计数据,然后根据该数据调整参数。测试版结束时,胜率比例几乎是理想的:33%/ 33%/ 33%。


3

我不知道暴雪是如何具体做到的 - 可能只是通过大量用户测试。

然而,专门处理这类问题的计算机科学和统计学领域是模拟。一般来说,想法是构建系统的模型,然后根据某些统计分布生成输入,以试图理解该模型的行为。在寻找游戏平衡的情况下,您需要展示大多数游戏事件序列导致某种平衡。这可能涉及某种随机建模


1

线性代数,也许有一点微积分,还有很多测试。

这种东西没有什么真正的神秘感,但人们经常不会以严谨的术语来考虑它,而你需要得到一个相当平衡的系统。

基本上,设计师知道您可以多快地获取资源(最佳情况和平均情况),他们知道建造一个单位需要多长时间,并且大致知道一个单位的强度(例如参考如damage per second等近似值)。有了这个,您可以确保单位的资源成本是合理的。从而,可以比较资源收集与单位成本,以模拟力量随时间增长的强度。同样,您可以测量力量对于损伤的容量,并进行比较。如果存在很大的差距,则可以调整一个或多个变量以减小它。显然,单位有许多排列组合,但有趣的是,您实际上只需要理解最强大的排列组合——如果玩家选择了糟糕的组合,则如果他们失败,那是可以接受的。您不希望每种方法都同样好,因为那会意味着一场无聊的游戏,您的决策毫无意义。

当然,这只是一个简化,但它有助于将所有内容大致放在正确的位置,并确保没有无用的单位。然后测试可以打磨掉粗糙的边缘并找到剩下的大部分漏洞。


1
如果你玩过SCII,你会发现暴雪记录了B.Net上每场游戏的相关数据。他们在WC3中也是这样做的,很可能在SC1中也是如此。有了足够多的存储游戏,就可以通过统计分析得出准确的结果。例如,同等技能水平的对手中,星灵应该赢得三分之一的比赛。如果情况并非如此,暴雪可以分析星灵赢得比赛和输掉比赛的游戏,并查看哪些单位起到了关键作用。然后他们可以通过一些内部测试来削弱这些单位,并在下一个补丁中引入更改。平衡是一个困难的问题 - 修复高水平比赛中的问题可能会破坏中水平比赛的平衡。
在封闭测试中进行适当的测试是不可能的 - 你无法积累足够的数据。这就是为什么暴雪要进行公开测试。即便如此,真正的测试还是游戏发布后的情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接