网络游戏数据可视化分析

藏书馆

欢迎来到网易游戏学院藏书馆

网络游戏数据可视化分析

作者:th!nk(用户体验)

  在当下这个数据为王的时代,无论是商业决策还是产品的设计创新,都需要倚重于数据。游戏行业也不例外。如何采集和利用游戏中玩家的行为数据,进行分析,从而改进游戏的设计,一直是我们所探索的问题。可视化是非常好的分析与展示数据的方法。本文将围绕着可视化技术用于游戏数据的若干实例,介绍我们是如何利用可视化和数据分析来帮助理解和设计游戏。

  在当下这个数据为王的时代,无论是商业决策还是产品的设计创新,都需要倚重于数据。游戏行业也不例外:采集游戏中玩家的行为数据,进行分析,从而改进游戏设计的理念已经被顶尖的游戏公司所采用。面对海量复杂的游戏数据,可视化是非常好的分析与展示数据的方法。数据可视化的主要目的是通过图形化手段进行清晰、有效的信息传递。信息可视化并不意味着为了功能而设计成无聊的功能性图表,也不意味着为了美学形式而设计成炫目华丽的画面。为了有效地传达信息,美学形式和功能需要齐头并进,通过对海量的复杂信息进行分析,并以非常直观的视觉手段进行表达。

  通常来说,简单的数据可视化可以从原始的统计图表出发,构建包括饼图、直方图、散点图、柱状图、曲线图等等基本图表,然而,这些基本形式的图表只能呈现基本信息,而当面对复杂甚至大量异构的数据,可视化面临的处理情况会复杂许多。通常来说,数据可视化包括且相关的领域有数据采集、数据分析、数据治理、数据管理及数据挖掘。面对一项数据可视化需求,首先要设计一种表现形式,是立体的、二维的、动态的、实时的还是允许人机交互的;在确定好可视化表现形式后,需要创建对应的可视化算法及技术实现手段,包括建模的方法、交互技术与实现方法、放大缩小等,更复杂的,可能需要考虑表面材质的渲染、动画的生成等;此外,为了尊重数据是随着用户的交互探索而逐步显示的设计理念,需要考虑用户交互行为模式等等。一项好的数据可视化产品是需要综合多方面因素进行设计与实现的,它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉以及人机交互技术等多个领域。数据可视化拓宽了传统的图表功能,使用户对数据的剖析更清楚。数据可视化也是数据挖掘的重要方法之一,数据挖掘过程中的知识发现离不开数据可视化技术的支持,并可以控制数据分析过程。本文将围绕着可视化技术用于游戏数据的若干实例,介绍我们是如何利用可视化和数据分析来帮助理解和设计游戏。


一、多维数据可视化技术及案例

  在实际的游戏数据分析中,我们经常遇到多维数据的处理与展示的问题:如何有效地展示具有时变性质的数据,既能保证时变数据中基本结构能够清晰地得到展示,也能使得整体的展示效果具有一定的美学特征。我们借鉴文本可视化中经常使用到的可视化技术---主题河,应用到多维的游戏数据可视化中。主题河,顾名思义,是将文本中的主题可视编码为河流状,依据我们对河流熟悉的认知,从左到右流淌的特征则映射为时间维度,这样,我们就成功地将文本可视化中用于可视分析文本中不同主题关键词是如何随着时间演变的过程运用到了多维的游戏数据中,分析若干个指标、或维度的值是如何随着时间变化的趋势特征。

  我们将这种可视化技术应用到游戏服务器的合服情况。由于数据具有时变性质,我们考虑两种情况:对于同一台服务器,我们将每一条“河”可视编码为一种指标,“河流”的流向从左到右,代表着时间的流淌。“河流”的宽度(变宽或变窄)代表当前时间对应的指标量的数值的大小,分别生成各时间点上的离散点,并使用三次B样条曲线进行拟合,使得时刻与时刻之间的过渡变得平缓。这种情况是用于展现同一台服务器内不同指标是如何随着时间变化的趋势,或者不同指标之间的相互影响作用等,我们称为指标主题河(图1上);而对于同一个指标,我们抽取该指标在不同服务器的数据,将每一条“河流”可视编码为一个服务器,“河流”的流向从左到右,同样代表时间的流淌。这种情况是用于突出同一个指标是如何在不同的服务器之间随着时间变化的过程,我们称为服务器主题河(图1下)。

《网易游戏学院》网络游戏数据可视化分析
《网易游戏学院》网络游戏数据可视化分析
图1.指标主题河与服务器主题河

  合服数据可视化案例:某 游戏的服务器10017于7.28被合服到服务器10026、服务器10023于9.22被合服到服务器10026。这种2+1的合服方式在数据上是如何 反映出来的呢?首先,我们将服务器10017与服务器10023分别在7.28和9.22之前的一段时间各大衡量指标随着时间变化的数据进行可视化,然 后,再对服务器10026在合服时间前后的各大衡量指标随着时间变化的数据也进行可视化,效果如图2所示:

《网易游戏学院》网络游戏数据可视化分析
《网易游戏学院》网络游戏数据可视化分析
《网易游戏学院》网络游戏数据可视化分析
图2.服务器10017及服务器10023在被合服前的一段时间内各大衡量指标随时间趋势走向

   上两图从上到下不同颜色的河流分别代表着不同的指标。从图中可以清晰地看出,服务器10017与服务器10023在大部份指标的总量上都是不断萎缩的;而 对于合服的大腿服务器10026,它的主题河图如图3所示:

《网易游戏学院》网络游戏数据可视化分析
图3.服务器10026各大衡量指标随时间趋势走向

  服务器10026的各不同指标分别在合服时刻有波动,总体情况逐渐趋于稳定状态;

  当然,有人会有些许疑问,这样的可视化形式不易于理解,没有曲线图或柱状图易于接受。复杂的可视化的确会对人的理解能力提出新的要求与挑战,然而,当我们 使用同一份数据,分别使用主题河、曲线图及柱状图来进行可视化,会发现主题河在维度或指标数量剧增,时间跨度非常大的时候的可视效果远远高于曲线图或柱状 图;然而,我们也必须承认,没有一种可视化方法技术能够胜任全部的数据要求,不能以一概全;同样的,不同的可视化方法也的确会产生不同的视觉效果。如使用 同一份数据,分别采用主题河、曲线图及柱状图进行可视化,得到的效果在视觉上却大相径庭。

  图4是使用一段时间内某枪械分别在地图A、地图B、地图C、地图D、地图E及地图F的击杀距离分布:横坐标表示击杀距离,依次为击杀距离<0、 0<=击杀距离<1、1<=击杀距离<2,…,49<=击杀距离<50及击杀距离>=50,纵坐标表示在某击 杀距离范围内所占的百分比,不同的线条或柱状图或河流代表不同的地图。分析这三种可视化效果,从视觉上观察,曲线图交叉太过于严重,如不使用交互过滤的方 法,很难用肉眼轻易地追踪其中的一条曲线;而柱状图的视觉效果更差;而主题河(图5)的视觉效果是最好的,无论是观察整体还是单条河流随着击杀距离分布的 变化;加之使用了交互,当鼠标在上面进行悬浮时,会给出相应的信息提示。

《网易游戏学院》网络游戏数据可视化分析
《网易游戏学院》网络游戏数据可视化分析
图4.分别使用曲线图及柱状图绘制击杀距离数据

《网易游戏学院》网络游戏数据可视化分析
图5.使用主题河绘制击杀距离数据, 横向表示不同的击杀距离,从0~50m


二、热力图技术及案例

  热力图,可以非常直观地呈现一些原来不容易理解或表达的数据,比如密度、频率、温度等,改用区域和颜色这种更容易被人理解的方式进行呈现。热力图实际上是 三维可视化的俯瞰,在这,颜色同样代表一个维度。具体到射击类游戏中,由于每个玩家在每场比赛中的击杀死亡行为都被记录了下来,产生击杀死亡的每一发子弹 到每一次购买武器等玩家信息都能在一定程度上反映玩家的行为。在某一副游戏地图中,玩家的击杀死亡分布、玩家流失点分布等等对于地图设计合理性及验证玩家 行为是否符合策划预期都是非常重要的。传统的分析玩家的击杀死亡点或流失点是将这些坐标信息依次绘制在游戏地图中,通过直观的点的分布来了解在游戏地图不 同区域的分布情况,然而,直接绘制点的方法往往对于大数据量的情况是不适用的。如下图所示,在某副游戏地图中,需要分析玩家的死亡点分布信息。在早期的报 告中,可能会使用excel的图表功能,将游戏地图作为背景图插入,并将每一个死亡点使用圆点一个个地绘制上去。这种方式操作比较简单,但在实际应用中并 不适合于较大规模的数据量,且当数据量超过一定阈值时,整副地图便会密密麻麻地被覆盖,如图6所示:

《网易游戏学院》网络游戏数据可视化分析
图6. 使用excel绘制的击杀点分布图(左)及编程实现的击杀点分布图(右)

  考虑到这种情况,我们采用如下算法,先绘制出死亡点的梯度分布曲线图,区分高密度区域与低密度区域,用梯度模板确定各个区域的疏密情况,梯度模板其实就是 一个从中心到四周灰度值逐渐过渡变化的图片,利用梯度模板在整个背景图片上结合坐标游走后,就能绘制出类似于气压图的梯度图,如图7左,地图上各个区域的 疏密情况就能了如指掌。接着,我们使用颜色条,从蓝到红过渡的RGB值,根据疏密的取值不同,映射到梯度图中,产生如图7右所示的热力图。

《网易游戏学院》网络游戏数据可视化分析
图7.编程实现的梯度分布图(左)及热力图(右)


三、动画技术及案例

  在数据可视化领域,一个相当重要的交互方式是通过动画实现的。这里说的动画,包括增加入场动画、交互过程的动画及播放动画的方式。入场动画是指在页面载入 后,给图表一个动态“生长”的过程,取代“数据载入中”这样的提示文字。交互动画是指用户发生交互行为后,通过动画的形式给予及时的反馈。而播放动画的方 式通常与时间轴进行绑定,提供播放功能,像看视频一样,让用户能够完整看到数据随时间变化的过程,可以直观地感受到所有数据的变化。由于入场动画与播放动 画大致过程类似,我们将其划为一类,称之为时变动画,另一类则为交互动画。下面主要结合相关的游戏数据应用案例介绍交互动画(由于载体的限制,动态图显示 不了动画的效果)。

  在射击类游戏中,数据通常是以一局一局的比赛进行存储的,同样是回到击杀死亡分布这个问题上,传统的处理方式是将击杀死亡点单独处理,分别绘制击杀点的热 力图及死亡点的热力图,从而观察在地图设计上是否符合策划预期。然而,这种处理方式忽略了子弹轨迹问题,即一次击杀死亡行为是如何发生的,子弹是从击杀点 沿着一条轨迹到达死亡点的。这种关键信息的丢失,使得分析某场比赛策略战术的可能性成为泡影,找不到战术点和线路,找不到猥琐点,无法从战术上分析并战胜 对手。在这样的背景下,我们开发了子弹轨迹图,用于交互式地探索击杀死亡伴随的子弹轨迹,并成功地运用在了电子竞技比赛中,用于分析对手的行为轨迹。

  图8展示了某射击游戏在某游戏地图两个不同阵营的击杀死亡分布及子弹轨迹图,红色点表示子弹发生的地点,绿色点表示子弹击中的地点,黄色的可移动的箭头表 示子弹从击杀点到死亡点的轨迹运动,使用的是狙击枪AWM的击杀死亡数据,狙击手一般需要远距离的直线空间进行射击,所以可以看到子弹轨迹比较长,分布在 狭窄的巷道两端。最明显的是中门处那狭长的对狙点。

《网易游戏学院》网络游戏数据可视化分析
图8. 狙击枪AWM在某游戏地图上的子弹轨迹图(左右分别为两个对抗阵营的击杀数据)

《网易游戏学院》网络游戏数据可视化分析
图9. M4A1步枪在某游戏地图上的子弹轨迹图(左右分别为两个对抗阵营的击杀数据)

  在这个可视化中,我们还可以选择不同的类别来观察不同的枪械的击杀死亡分布。比如步枪和狙击枪两种武器的子弹轨迹就不一样,如图8及图9。步枪使用率比狙 击枪高许多,基本上到处开花。有时,我们更关心某个区域的地图设计是否安全,或者不安全,观察的重点是区域而非个别分散的点,因此,我们增加了交互功能, 如图10所示,当鼠标在地图上游走时,会默认出现一个半径为25像素的黄色圆圈,可视化只保留所有与这个圆圈区域范围内有关的击杀死亡点和子弹轨迹,而淡 化其他的击杀死亡点和子弹轨道。此外,从区域范围外部打入区域内部及从区域内部发出的子弹数将被自动统计,以了解该区域的安全性设计是否合理。该区域范围 的半径可以被控制,半径越小,包含的区域范围越小,区域所对应的击杀死亡点就越精确。

《网易游戏学院》网络游戏数据可视化分析
图10.鼠标在地图上游走,交互调整区域半径

  然而,当可视化的数据量变大时,将全部的击杀死亡点及子弹轨道可视化将是一场悲剧,不但找不出任何有规律的特征,也给视觉上造成了繁重的负担。如使用某游 戏地图一个月内产生的所有击杀死亡数据,当默认全部显示所有点时,即频率大于等于1以上的点全部显示;因此,考虑交互仍然是必要的,但此外,我们需要继续 计算并得到其他相应的辅助信息,以帮助过滤提冗余不重要的数据,从而突出重点数据及其中隐藏的规律模式。我们计算点分布频率,一个点代表的是该地方的发生 击杀或死亡的频度。当显示子弹发出或击中频率大于设置的阈值时,调节不同的频率,使得子弹轨迹慢慢变清楚(图11);.

《网易游戏学院》网络游戏数据可视化分析
图11.只保留子弹发出处或击中处的频率大于设置的阈值的子弹轨迹

  当显示子弹发出且击中频率均大于设置的阈值时,调节不同的频率分别为30及50(图12)。我们发现,地图上所剩下的击杀死亡点就几乎被划分为两种:一是 挂机行为导致的数据异常,一方玩家冲到另一方玩家的出生点绕背击杀;二是在高台处或在出生点进行远距离击杀,使用狙击枪的概率较高。

《网易游戏学院》网络游戏数据可视化分析
图12.只保留子弹发出处且击中处的频率大于设置的阈值的子弹轨迹


四、小结

  游戏很多时候都是在模拟真实世界,因此游戏中玩家的行为数据也和现实生活中人们活动的数据相似。对于包含位置信息的游戏行为数据来说,热力图等与地图结合的方式是最显而易见的可视化了。对于其他的行为数据,例如玩家的日常行为规律、路线、玩家之间的社交关系,游戏任务完成情况,武器和种族的均衡,都是非常有意思并且具有 挑战性的可视化问题。能将这些复杂的数据用直观的视图表现出来也能很好地帮助游戏设计师进一步优化游戏设计的。

  当然,数据可视化的范围非常广,根据目的的不同,可视化强调的途径也不一样。比如为了观测或跟踪数据的变化,可视化需要强调实时性、动态变化及运算能力, 需要生成一份不停变化并且可读性强的图表结果;为了分析数据,则需要强调数据的呈现度,相应的可视化形式需要满足检索性与交互性;而为了发现数据之间的潜在关联,可能需要生成一个多维的交互性的可视化图表。此外,我们在生活中常见的利用漂亮的颜色、动画创建的生动、明了、具有吸引力的图表,主要是为了帮助 普通用户或商业用户快速理解数据的含义或变化,而经常出现在街头、广告手持、杂志等上用于教育、宣传或政治目的海报、课件等等,它们拥有强大的说服力,使用强烈的对比、置换等手段,可以创造出极具有冲击力直指人心的图像。在国外,许多媒体会根据新闻主题或数据,雇佣专门的设计师来创建可视化图表对新闻的主题进行辅助。而在国内,数据可视化正逐渐蔓延到各个领域,帮助人们更好地理解数据。