网络游戏竞技场模拟系统及其应用
2018-12-03陈传智北京大学信息科学技术学院北京100000
陈传智(北京大学信息科学技术学院 北京 100000)
1 网络游戏中的竞技场系统
在网络游戏中,PVP最重要的形式之一就是1v1竞技场(以下简称竞技场)。竞技场系统中玩家的实力各不相同,实力强的玩家遇到实力弱的玩家时有着更高的获胜概率,因此往往由系统匹配实力相近的玩家进行游戏。
从玩家的参与方式角度,可以大体将竞技场系统分为两种:
(1)在线PVP,多见于强调竞技性的游戏,需要在双方玩家都在线的情况下让双方玩家进行竞技对战。在胜者获得积分的同时,败者也将失去积分。
(2)离线PVP,多见于页游和不强调竞技性的游戏,由一方玩家单方面发起挑战,另一方玩家无法直接参与到对战之中。只有挑战者会获得或失去积分,系统会对玩家一段时间内发起挑战的次数进行限制。
接下来以离线PVP为例子进行讨论。
2 竞技场模拟系统
根据上一部分中的内容,可以写出竞技场模拟系统的程序。假设每个玩家对别的玩家发起挑战的总次数都是M,玩家总数为N,数据存储方式为链表,则该程序的时间复杂度为O(N^2*M),空间复杂度为O(N)。由于篇幅等原因,这里不给出程序代码。
为了判断PVP系统的合理性,引入“玩家排名方差”这一概念,计算每个玩家的(实力排名-最终排名)的平方之和,在开平方根之后除以玩家总数。在玩家总数不变的情况下,这个值越小,就代表着每个人的最终排名和其实际实力越相符。
在模拟系统中,计算胜利概率和计算积分变化的函数根据实际需求而定。关于这方面,在双方条件基本对等的PVP对战中可以使用Elo Rating System,这里不再详述。不过,由于该系统成立的前提是双方条件对等,所以并不适用于含有角色培养等要素的游戏,下面的部分将对不适用Elo系统的一些竞技场系统进行模拟。
3 竞技场模拟系统的简单案例
假设有以下情境:一个有着离线PVP竞技场的游戏的玩家共1000人,实力为1000~1。系统每次匹配两个排名差距不超过100的玩家进行对战,实力高的玩家获胜的概率为50%+实力差*0.2%,胜利积分+100,失败 -100。
3.1 PVP场次的设计。假设每个玩家一共进行X次PVP,则可以通过程序模拟的手段找出X的值和玩家排名方差的关系曲线。每个X进行十次模拟,计算玩家排名方差的平均值,得出的部分结果为:
X 40 50 60 70 80 90 100方差2.40 2.28 2.11 2.01 1.92 1.91 1.83
可以看出,从X=70~80左右开始,X的值每增加10%,方差降低的数值已经小于其本身的5%了,可以认为75场左右的PVP就已经有非常高的准确度来分辨一个玩家的实力程度了。
3.2PVP积分规则的设计。为了游戏的公平,可以令胜者获得的积分不是固定值,而是战胜越强的对手积分越多。假设在A对B的对战中,A能够获得的积分公式为Sa=对战结果*[100+(A的排名-B的排名)*k],也就是基础获得100积分,A胜利时对战结果取1,失败取-1。如此改变模拟系统中的分数计算公式,对局数设定为80,每个k进行20次模拟,计算玩家排名方差的平均值,得出的部分结果为:
k 0 0.05 0.1 0.15 0.2 0.25 0.3方差1.94 1.94 1.91 1.91 1.95 1.95 2.00
由数据可以看出两点:
从Culpeper的不礼貌框架考量,大可妈妈直截了当的面子威胁行为,很好地呈现了直接不礼貌策略。大可妈妈对于罗佳不恰当的身份标识(“小东西”)的使用则是体现了积极的不礼貌策略。多种不礼貌策略的同时使用,在某些语境下,涉及到积极面子和消极面子的需求。以上对话中,说话人大可妈妈使用了该策略攻击听话人罗佳的积极面子,忽略了听话人罗佳所需要的承认和喜爱,故意传达给对方不合作、不喜欢的信号。
(1)k的值存在一个大于0的最优取值,在本情境中的最佳k值大概为0.1~0.15左右。
(2)k的变化对分辨玩家实力的准确程度的贡献没有场次那么明显。
3.3特殊要素对胜率的影响。在实际情况中,玩家对战的胜率期望值并不是只与双方实力有关的。可以假设有一小部分玩家发现了一种新的游戏技巧,可以有25%的概率直接获胜,25%的概率直接输掉,最后剩下的50%概率则是对胜率没有影响。那么这对排名会产生什么影响?
设实力第100、200、300……900的玩家使用了这个技巧,积分公式系数k取0.1,进行20次模拟,计算这些玩家最终排名的平均值,得到的结果为:
实力100 200 300 400 500 600 700 800 900排名145 210 321 365 519 568 665 782 868
可见,实际排名大体上符合以下规律:实力靠前的玩家,最终实际排名比真实实力更低;实力靠后的玩家,最终实际排名比真实实力更高。
4 结合机器学习的实际运用
上面的部分给出了竞技场模拟系统的简单案例,不过这些讨论都偏向于理想情况。在实际应用中情况是极为复杂的。影响胜负的要素,除了双方的理论实力以外,还和双方的打法或者阵容之类有着非常重要的关系。
这时候可以考虑引入机器学习这一概念,机器学习是当代人工智能领域最重要的技术之一,是人工智能的核心。通过遗传算法、神经网络算法等,它可以在一次次的尝试中逐渐自我进化,从而越来越接近最优解。具体原理此处不再阐述。
以假设中的情景为例,在竞技场模拟系统中引入机器学习算法,由程序模拟双方玩家的操作来进行对战判断胜负,则随着模拟对战次数的增多,“玩家”们发现其中的一些阵容能够在大多数时候克制住其他阵容,从而发挥出超过纸面战斗力的实力。因此,越来越多的“玩家”会选择那些更为强势的阵容,则模拟出来的情况就可以作为实际情况的重要参考。
5 结语
根据《2017中国游戏产业报告》显示,2017年自主研发网络游戏市场实际销售收入达到1386.1亿元,而人工智能技术则是21世纪的核心技术之一,网络游戏竞技场模拟系统就是能够将二者结合从而推进网络游戏发展的一个简单的例子。