2011年6月1日星期三

闲翻译 20110531 Balance Heatmap

by Sean Houghton
http://altdevblogaday.org/2011/06/01/balance-and-flow-maps-2/
(译者:翻译略有删减,但基本表达意思了,需要的同学自行跳转)

Heatmap 是一种非常好的可视化工具,很多时候都会用 heatmap 来表达射击游戏中角色被击倒的位置,最常用的两种 Heatmap 是被击倒者的位置以及发起击杀者的位置。但是,这种简单的描述并没有把事情分析清楚,通过一些小技巧,我们能够做出一种平衡图和流程图来。

这篇文章中援引的数据来自 Transformers: War for Cybertron 游戏中的 Molten 地图。我把地图中的一些元素简单的画在下面了,不过也许最好的方式还是去游戏中实际的地图上体验一下。

The Molten Map

Death Heatmap
让我们先来看一个基本的“Death”heatmap。这种可视化的效果做起来很容易。每次击杀事件中,都将被害者被击杀的当前位置记录下来,并增加热量显示标记来使得这些数据更容易观察。



从图中可以看到,在桥上有很多时间,玩家的被击倒的位置都集中在那里,也许是应为大桥是一个具有战略意义的位置。请勿略图中四个角落的信息,因为那里是玩家的出生点,通常代表着一些无意义的击杀。

Kill Heatmap
Kill Heatmap 和 Death Heatmap 表达的信息类似,区别在它表达的是击杀者所处的位置。


Balance Heatmap
尽管击杀和被击杀的 Heatmap 看上去类似,但仔细看的话就会发现他们有略微的差异。这里其实就表明了这个地图上有些位置并没有很好的平衡 Kill/Death。如果我们用 Kill Heatmap 减去 Death Heatmap 的话,我们就能得到一个 Balance Heatmap。那些正值的区域则表达了这是一个击杀区域,反之则是死亡区域,应该去避免它们。


这个图中所显示的信息,很好的诠释了地图中哪些区域比较危险。

另外要说一下的是原始的数据可能有些位置非常集中导致色彩在集中活动区域过渡饱和,这样的数据其实可以做一些标准化的行为来做更好的表现。

Balance Heatmap 的标准化
(译者:balabalabala,直接上图)


Flow
(译者:略啊略,大家跳转原文自己看吧)

技术细节
这篇文章采用了 Transformers 中某个地图数据。数据来自于公开的 Team DeathMatch 游戏模式,大约有三千万个原始事件。所有的数据都用 InfoBright/MySQL 数据库存储。Heatmap 由 Tableau 生成。Flow 由 Processing 生成。

有爱的同学可以去 Xbox Live 上万到免费的多人演示版本,也许这个文章能帮助大家获得高分。我以后也许还能来谈论一下和 Heatmap 相关的 Web 工具以及 High Moon Studios 的制作方法。