“玩家”是网络游戏运营过程中的重要课题之一。健康的玩家生态可以帮助一款游戏常青;反过来,糟糕的玩家环境也有可能宣判一款游戏的死刑。

8月14日,由腾讯游戏学堂举办的2022腾讯游戏开发者大会(Tencent Game Developers Conference)首日的主论坛上,来自腾讯互娱光子S工作室总经理、和平精英项目负责人——高丽娜,就以【游戏世界中的玩家网络】为题做了分享。

与过去不同的是,这一次的分享内容, 高丽娜采用了一种更为“网络科学”化的方式。

以下为高丽娜分享实录

 

1、游戏与网络科学

我们人类是一种社会动物,很难脱离群体而存在。在信息社会里,网络游戏作为一种新的社交介质,帮人们连接彼此,解放孤独。因而玩家的社交可谓是网络游戏中最重要的玩法构成。

以一组游戏里的玩家脱敏的行为数据为例的统计来看,可以看到: 超过80%的玩家是组队进行游戏的,有超过50%的玩家是邀请好友一起组队,有超过50%的流失用户再回流也是因为好友邀请他再回到游戏里,而单人进行游戏的玩家的流失率也是最高的。

对于和平精英来说,在一个很大的用户规模下,如何能维护好用户的社交生态也极大决定了游戏玩家的活跃稳定性,所以游戏中玩家的社交健康度是非常重要的。

对于游戏运营来说,一个难点是:比如我们都知道 游戏的活跃、商业化这些都是有成熟的数据指标体系来描述和衡量的,进而可以帮助指导我们迭代和运营游戏,对于玩家社交很重要,但我们一直缺乏有效的描述方式和评估方法。这就是我们今天想要探讨的话题。

美国的天文学家卡尔萨根在他的名著《宇宙》这本书里有提到:我们的宇宙里存在着亿万颗恒星。据估计, 宇宙里可观测到的恒星数量大约有23个0的数字,这个数看起来非常庞大。

但是很有意思的是,相对于一个由30人社群组成的朋友关系网络的数量,“23个0”这个数字就显得非常渺小了。听起来确实有点不可思议。

30人的社群里可以结为朋友的两两组合的数量有435个,当我们要把他们组成一个朋友关系网的时候, 这个朋友网络的数量是2的435次方,这个结果最后大概是131个零的数量级的数字,而我们对比之前提到的宇宙恒星总数也就只有23个零。所以即使是30人社群,里面可能出现的朋友网络的数量也是庞大到非常惊人。

人际关系信息如此的庞大和复杂,如何去描述它就是很大的难点。并且,我们该如何建立起相应的评估体系来评估它呢?

我们找到的这种描述语言就是 网络化建模,幸而我们同时也身处在信息技术非常发达的时代,计算机可以帮助我们存储和分析非常海量巨大的数据。

具体什么是网络化建模呢?比如我们把游戏里的每一个玩家描绘成一个点,而把玩家之间的社交关系连接成一条边,最终我们可以得到一张网络化连接图。

这里我们再展示一个更具体的示例。这两幅图来源于 Pacific RISA的网站,这个网站是评估太平洋区域海岛气候环境变化的一个研究项目。这个研究组织对所有参与研究的331位专业人士的研究关系网络进行了调查和绘制,当把所有与这300多位研究人员有进行过气候相关交流讨论的人员也包含进来以后,绘制成了一个有967人的研究关系网络。

最后他们在网站上公布了绘制出来的两幅图。这两幅图分别采用了不同的布局算法来呈现。图上的每种色彩,标识的是研究人员来自的国家和地区,而圆圈的大小用来表示每个人所拥有的连接数量。

在第一种布局里,是以呈现国家地区为主的社群分布,这个原图是可以放大到非常大的程度,可以让我们很清晰看到这个社群里以及社群间人们的连接情况,也就是说你能很方便地查阅到来自于同个地区的人们互相之间的连接聚集情况,同时也能看到哪些人承担了跨地区连接的桥梁作用。

第二种布局,重点是呈现了那些连接数最高的人,拥有最多连接数的研究人员也被认为是最有影响力、最核心的成员,他们都位于这幅图的中心位置,网站上也把这些人员单独列了一张姓名列表出来,因为他们是核心研究人员。

参照这两个图,大家其实可以感受到,如果我们把游戏里的玩家网络绘制出来,那也将是这样的一种图示的方式。只不过面对数量以亿计的玩家数,我们可以把玩家的连接网络在计算机里绘制出来,但如果把它导出来是很难让人以肉眼的方式来查看和了解信息,因为这基本上已经超出了人通过肉眼处理信息的能力。但是计算机是有这样的信息阅读和挖掘能力的,所以我们可以通过计算机运用多种算法来从不同维度帮助我们透视了解其中的信息。

既然人与人之间的关系是可以用网络化建模的方式来描述,那么对于绘制出来的网络来说,它们之间是不是有一些规律或特点呢?幸运的是,规律和特点确实存在。

这里就要提到,1999年美国圣母大学物理系的巴拉巴西教授和和他的博士生阿尔伯特,他们在《Science》杂志上发表了《随机网络中标度的涌现》这篇论文,以此发现了复杂网络的无标度的性质,从而诞生了研究复杂网络性质的一门新的学科: 网络科学

自从复杂网络的 无标度特性被发现以后,生活中大量的真实网络都被发现是具有这种特点的。例如我们很熟悉的由无数网页互相link(链接)跳转而成的互联网、以及人与人之间进行通讯的电话网等等。

从1999年以来,人们对现实中发现的这些大量的符合无标度特性的复杂网络,进行了很多的论文发表。左边这幅图就是历年来无标度网络的论文发表数量的连线图,其中特别要提到twitter和facebook,它们也对自己的用户连接关系网络进行了相应的研究,然后它们发现自己的用户关系网也是符合无标度性质的,所以它们也在2010年和2011年发表了相应的论文。

所以,现在我们要做的事也是把 研究复杂网络的方法引入到游戏里,为我们研究游戏玩家社交网络提供相应的理论和方法支持

既然 网络科学是基于无标度网络的,那什么是无标度网络呢?这里引用了巴拉巴西教授在他《网络科学》的书籍里,以公路网和航空网为例的两张示意图。

首先对于公路网来说,可以看到它显著的特点是:无论是大城市还是小村庄,一般拥有的公路数量差别都不大,大概在3~5条上下这样一个范围。这种网络我们称之为 随机网络,特点是每个节点拥有的连接数大体是差不多的,没有拥有特别多连接数的节点,整体是遵循泊松分布,而我们所说的差不多其实就是“标度”;而航空网就非常不一样了,比如像芝加哥这样的大枢纽城市会拥有非常多的航班线路,而小城市的航线就非常有限。对于这种大多数节点只拥有少量连接,而少数节点却拥有大量连接的网络,叫做 无标度网络,它整体是遵循幂律分布的,这个分布的尾部会拖的比较长,所以我们说它是有重尾效应的。

接下来我们来总结下无标度网络的重要特点:

符合幂律分布和拥有枢纽节点,在上面一张图里已经讲到了。对于游戏玩家网络来说,经过我们的分析,会发现 游戏里大部分的玩家通常交互的朋友数也只是3~4人,但是有少部分玩家交互的朋友数非常的多,可以达到几十人,甚至几百人。

其次是无标度网络它不是静态的,在具有生长的特性,而在生长的过程里非常重要的特点是具有优先连接的特征的。这个在游戏里也很容易理解, 拥有更多朋友自身也更活跃的玩家通常在游戏里也更容易交到新朋友

然后是社群聚集的特征。关于社群我们也在前面的图例里有进行过相应的展示,我们经常说人以群分,具有共性的人们总是倾向于结成一个圈子,在游戏里也一样,所以 在游戏里基于不同属性的玩家是可以挖掘出不同的社群分布。

最后一个特点是面对攻击的脆弱性,就从这样一张网络连接图来看,当你主动攻击这个网络的时候,你一定会选取攻击这个枢纽节点,因为这个时候的攻击效果最大化的,失去枢纽节点会让它所连接的大量其他节点失联。在游戏里表现为 当枢纽用户流失的时候,同时会影响他周边大量好友的活跃和留存情况,进而会比较严重影响到游戏的局部社交生态。

看完这些特点,我们其实会发现这个无标度网络模型能跟社科学里的一些概念找到对应的。比如幂律分布,就很像我们经常讲到的二八定律,20%的人拥有80%的资源。而且我们也经常说,在地球上如果想找到任意一个人最多只需要通过6个人,但我们都知道地球马上要有80亿人了,那为什么通过如此少的人数就能触达世界的每个角落呢?因为当我们在找人的时候,也总是先找到那些拥有广泛连接的枢纽节点型的人,这些拥有广泛人脉的人的存在,最终促使地球这样一个大世界通过枢纽节点快速地完成了一种连接塌缩,最后的结果就好像我们是生活在一个非常小的小世界一样,这里提到的就是社科学里的六度分隔和小世界。最后的优先连接的点,跟我们经常讲的富者愈富听起来是比较近似的了。

2、玩家网络的运营

进行完比较概念化的一章,接下来具体看一下第二部分:玩家网络的运营。我们先来具体展示一下 游戏中具体的玩家网络建模的过程。

首先为了 构建我们的玩家网络,我们需要对网络的“边”进行定义。

游戏里玩家交互行为是非常多样的,那如果我们想要建立的是一个描述玩家强互动行为的网络,这里比如我们在定义边的时候就可以选取组队、聊天和预约对局这样的强交互行为,假设把这些行为按照1:1:1的权重进行网络边权重的计算,这样就可以得到一张描述强交互行为连接的玩家网络。如果你想构建一张轻交互连接的玩家网络,就可以把观战、点赞这样轻互动的社交行为纳进来做定义。具体的边的定义是可以根据实际研究的需要进行修改的,不同的目的就采用不同的定义方式。我们目前主要是聚焦于研究强交互玩家网络,我们认为 强交互是游戏里更加核心的部分

那有了这些边定义之后,我们就 把游戏中所有的玩家构建出了一张带有边权重信息的玩家网络。当然,这张网很大,它的数据量决定了只有计算机才能够阅读它,所以我们是通过各种算法来从各种维度查看和管理它。

在 全局网络生成之后,就可以进行社群的挖掘。在我们对社群定义里,我们会认为社群是一些紧密连接的节点的集合,这个集合内部连接是非常紧密的,但是它与外部的连接是稀疏的。根据这个定义,我们运用了相应的算法来进行社群发现。最后在游戏里面得到了几百万个社群。这样整体我们在游戏里的玩家全局网络和相应的局部社群信息,就都建模好了。

下面我们来看 如何动态的运营这张网络

因为在游戏中我们研究的都是群体,所以我们就需要借助定义一些标签来定义玩家的群体。首先为了基于社交这个属性进行相应的研究,我们需要在以前已有的用户标签基础上,补充添加一些社交相关的标签信息,以便于对社交属性进行研究。

一方面,我们是在原有的玩家标签里增加了一些比如说标识玩家社交相关的特征的标签,比如说是否偏好组队战斗,是否会进行点赞聊天的社交行为,是不是喜欢主动添加好友等等,尽量用这样一些方式去还原用户的社交偏好,以便更好地为他们服务。

另一方面,因为我们建立了社群,所以我们针对挖掘出来的社群,也给这个社群定义了社群标签,用于标识社群的特征。偏好类的比如有些社群特别喜欢玩团竞模式,有的只玩海岛;属性类的比如有的社群平均段位可能就很高,这样一些类别。

那有了这些标签,我们就可以从用户群体出发来 做一些相应的体验优化了。首先我们关注的是 玩家网络中的生长问题,玩家网络的生长就是网络中的如何建立新的连接关系, 主要有两类:一类是陌生人之间进行交友建联,另外将玩家推荐建联到合适他的群体组织。

陌生人之间的交友联建,目前根据不同的情况和适用性有很多套公开算法,这里举例了其中的两个。这里要提到的重点是,像以前我们运用这些公开算法做推荐的时候,更多我们只考虑玩家的活跃、行为偏好这样一些标签,但是现在因为我们基于社交网络进行了相应的构建,并且 提取和新增定义了社交类的标签。 我们认为这些社交标签能更好帮助我们了解用户在社交方面的特征偏好,所以我们把社交标签融入到算法中来,进一步让我们的交友推荐变得更加精准化,因为一般玩家不是不喜欢交朋友,他们是希望交到自己觉得合适的朋友。

我们在前面也提到过的优先连接的结论,所以这里把算法融入社交标签去改进的目标,就是能够精准地为用户推荐他愿意结交的优先连接的节点,这样他们最后的连接成功率才会比较大。

把玩家推荐到适合的组织也是一样的道理,假设你是一个军团长,你会收到很多入团申请,这个时候你会同意批准什么样的玩家加入自己的军团,其实是有标准的,这里我们的目的就是要融入这些标签,让算法可以更理解这个军团吸纳人的偏好,以便把更适合的玩家推荐进来,才更有可能帮助他们成功地加入到相应的群体中来。

总体这些思路都是 通过将用户社交属性进行细分定义,再把它融入到算法里,提升推荐的精准性,从而促进玩家网络的生长。

除了生长以外,我们还需要做的就是不断地维护这张网络,也就是要 不断地激活网络中的联通关系,促进玩家间实实在在的交互

我们都知道很多玩家间在游戏里确实加了好友,但就再也没有互动过了。从我们过去对流失玩家的分析经验来看,用户流失通常的路径,首先大概率会经历活跃度降低的过程,当降低成一个低活跃用户的时候,因为粘性不足,下一步就很可能会流失了。而 活跃度降低的原因里像关键好友流失、社交行为减少这样的社交原因其实占比是很重的

这里有一张红色点组成的网络图,这个是我们用算法标识的局部社群。在这个算法里,我们把用户的每次互动都看作是一次能量的交换传递,假如对这个社群以月为周期进行标识,就可以得到一个本月的这个用户社群的能量值网络图。这里可以很明显的看出来,这个社群里是存在社交能量远远高于其他用户的大KOL,同样也存在一些能量次之的小KOL,他们就是我们之前讲到的枢纽用户,都拥有非常多的朋友连接数。

可以说社群的形成离不开这些KOL,正是这些有非常高社交意愿的KOL,他们所辐射的高社交能量才使得这个社群被紧密的维护在一起。

而社群是有另外一个典型特点的:当你要传播相应的信息的时候,信息在社群内部会被传播得非常快,但如果想要把信息传出圈传到其他社群就会比较困难。因为我们前面讲过,社群之间的连接是比较稀疏的。

所以当我们想要把重要的信息尽可能地触达到所有用户都了解或关注的时候,往往我们需要借助社群和KOL的力量,由传播意愿最高的大KOL传播给传播意愿次之的小KOL,最终这个信息就有可能借助他们的高传播意愿和高能量,最终被尽可能多地传遍给整个社群所有人知道。

最后依然列举了两种常用的熟人社交的算法,这些公开算法是我们平时做推荐常用的,但是跟前面讲的原理是一样的,这次我们对它的改进是 我们在里面融入了社交特征,用融入社会特征的算法去激活玩家已经建立的连接,从而让玩家间可以更有效地互动起来,加深他们彼此之间的连接。

3、玩家网络的健康度

介绍完我们对玩家网络的搭建和基本的运营方式以后,最后来谈谈我们目前在社交评估方法上的一些探索。

因为各种游戏中的具体情况不同,所以接下来图表中举例的数据仅仅是示意值,但不影响最终结论的呈现。

首先看左边这张图,基于我们前面所探讨的社群的挖掘,我们可以 根据自己的需求设定一些社群规模的标杆值,例如10人以下社群,10~50人社群,50~100,500人以上等等。

当我们去定义了这样一些划分标准的时候,就可以比较方便统计游戏中前面发现的社群里面各种规模的社群在其中占的数量有多少,同时我们也可以很方便地看到游戏中各类社群所能够覆盖到的玩家数量有多少,就如这张图的呈现。对于这张图,如果同比看一些周期,这里面的对比信息就会让你得到比较有启发的结论。

需要注意的是,这里数据展示是基于玩家间在一定周期内的真实互动而生成的,它是区别于去统计游戏里的静态社交组织。我们都知道游戏中通常都会设计比如帮派、军团这样的社交组织,当然我们是可以去统计每个帮派中有多少玩家,但实际上这些帮派里的很多玩家加入后可能已经流失很久了,所以要是基于这样的静态社交数据统计其实没有办法去真实反映出玩家的聚集情况,我们也没法知道玩家们到底身处在什么样繁荣度的朋友网络里。

来看右侧,如果把社群分成不同的规模后,我们就可以进一步去针对不同规模的社群挖掘它的其他规律。右侧这个图就是对不同规模的社群进行当周平均在线时长的统计所发现的结果,可以很明显的看出:当社群规模少于10个人的时候,随着社群规模的增大平均在线时长增长的很明显;当社群规模大于10人以后,增长开始变缓;当社群规模大于50人以后基本上这个值就趋于稳定了。

所以这里我们通过社群的分解和挖掘可以得到一个结论是: 社群的平均在线时长与社群规模呈正相关,但是存在边际效应。

以这个数据为例,我们可以有一个直观的结论: 如果能够把游戏里规模少于10人的社群提升到10人以上,势必会增加不少用户粘性,玩家的社交体验会变得更好。如此就可进一步看出,社群的规模和用户活跃度是息息相关的。

为了进一步研究清楚社群规模和用户活跃度之间的关系,我们又进行了进一步的探索。这里我们要引入图论中的 集聚系数的概念,简称 cc值,方便描述。

首先,cc值在概念上是用来表征一个网络中的点它们之间连接的密集程度的,这个值最小为0,最大为1。

对于一个现实中的朋友网络来说,cc值越大说明这个朋友圈里人们的关系交错得十分紧密,大多数的人互相之间都认识;越小说明关系是比较疏散的,很多人互相之间不认识。

假设,比如你新建了一个群,这个时候刚把你的朋友们拉进去,准备介绍他们互相认识,但这个时候他们互相之间是不认识的,那这时这个群的cc值就是0;但是当你认真地介绍了每一个人的情况,他们这个时候互相都知道了彼此的情况,互相之间也添加了对方为好友,大家都认识了,这时这个群的cc值就是1。

比如具体看三幅图的第一幅图就是介绍cc=0的情况,比如看左上的四个点,其中有一个点跟另外三个点之间都是有连接关系的,如果这个点就是你,就是说这里你是认识你三个朋友,但是他们三个互相之间都是不认识的,这个时候如果你流失了,那这个网络便从这里断开了,他们变成了三个无社群的散点;但是如果你一直留存,有可能你会邀请他们三个一起四人组队游戏,这样他们之间可能互相就认识了,也加了好友,他们互相间也形成新的连接关系,cc值就变大了。

同理,后面的两幅图,呈现了cc=0.6和cc=0.92的时候,图中的点互相之间连接的紧密度的情况。

事实上在真实的社交网络里,我们的密友之间他们往往也是朋友,所以真实世界的社交网络通常集聚性是比较高的,大家是以一种圈子的方式在生活。在虚拟世界里,同样这也是我们努力的目标。

那有了cc值的概念,我们再来看几组和它有关的挖掘的结论。

继续以10人群为例,看第一幅图,横坐标是cc值,纵坐标是一周的平均对局次数,明显会看到随着cc值的增大,平均对局次数也在不断增大,是一个正相关的关系,cc=0.6的时候大约刚好是中间值。

下面一张图是cc值和留存率的关系。很明显也是正向增长的关系,随着cc值靠近1,这个留存率会达到一个非常高的程度。

这两张图都说明在一个社群里,当cc值很高时,玩家的社交网络是非常致密的,每个人都身处在一个熟悉的环境里,朋友圈内部关系很亲密,良好的社交支撑带来了高度的活跃性。

由这两组例子我们可以看出, 社群cc值跟社群的活跃度、留存情况是正相关的。所以我们在日常的运营中就可以去查看各种规模社群,按不同cc值的数量分布的情况,即右边这张图,这样查看可以让我们比较直观地了解到用户网络的紧密与活跃情况。

当然我们努力的目标就是要尽量去通过各种方法把社群的cc值向上引导,让玩家的社交网络更加活跃健康,从而改善玩家社交的游戏体验。

在之前的讲述里,我们可以知道在游戏中因为枢纽用户的流失,大社群会被拆分变成多个更小的社群。

我们进一步统计各种不同规模社群的占比变化,就可以发现里面存在一些 数据上的关联性,比如说50人以上社群每减少1%,那么下一个周期2~5人社群就会增加0.3%;10~50人社群每减少1%,2~5人社群下一周期就会增加0.5%。

而如果我们把游戏里不同规模的社群人数占比随着时间画成一张图,我们也明显看到这种占比变化是存在周期性的,比如在每年春节这样的大节点,因为很多人有时间了,各种玩家的回流,大社群就会多起来,游戏里的社交就会呈现一种非常繁荣的迹象,当假期结束很多人重新忙碌起来,大社群就会拆分,小社群变得多起来。

但总体来说, 游戏里的无社群和小社群占比的增加,与活跃度是负相关的,所以我们日常努力的目标依然是要维稳社群,这对游戏的活跃是非常重要的。

目前基于对这样一些变化关系的观察, 我们在游戏里也实现了相应的无社群预测模型,可以帮助去预测接下来的周期里,如果没有一些相应的引导,可能的无社群的情况以及相应的流失情况。

来到最后,经过前面的介绍,我们总结一下玩家网络生态整体的一个动态运行方式。

首先是网络的生长和修复:我们通过对陌生关系的破冰去促进网络的生长,在里面运用融入社交标签的陌生关系推荐以及社群推荐算法,去帮助玩家更好地结识新朋友;其次注重做好回流玩家的承接,运用熟人关注推荐算法,帮助玩家重新激活和修复原有的社交网络。

再次是对社交关系的带动加深:这里会关注运用社群化传播方式来最大化的带动触达到网络中的每一个用户,致力于去提升玩家社群的cc值,加深玩家间的连接紧密性,从而提升玩家活跃度。

最后是在整个过程里,会 不断地从对全局指标和局部指标的观察出发,来分析玩家网络波动的原因,同时也会开展一些主动的预测,去及时引导和加固相应的社群,维稳活跃。

在PPT的右侧简单示例了全局的指标,比如说第一个连通性的指标,它的意思比较简单,就是在全局网络里有组队交互的玩家占比,下面的繁荣行广度、深度相应也是有自己的定义,这是一些指标的例举。