zoukankan      html  css  js  c++  java
  • 游戏云间之七-初识游戏分析

    今年的ChinaJoy有什么亮点?上图先:
     
    美人鱼有木有?好啦,ChinaJoy大家网上去搜,各式妹子应有尽有,这里就不细聊啦。
    我们来聊聊游戏分析。在当今的竞争激烈的游戏市场上,开发一个盈利性的游戏是一件极具诱惑而又坑爹的事情。为了有效地开发游戏,游戏行业也越来越多地借鉴其他IT领域所使用的工具或技术,比方说商业行为,项目管理。分析学作为其中的一种方法,也影响着游戏行业和游戏研究。
    分析学,听起来高大上,其实就是从数据中发现和形成模型,为的是解决商业中或者企业决策预估中遇到的问题。基本方法包含:统计,数据挖掘,数学,编程,运筹学,以及数据可视化。而游戏分析作为分析学的一项特定的应用领域,针对的是游戏开发和研究。
     
    游戏分析能带来什么好处呢?
    所谓无利不起早。我们来就不同的角色看看游戏分析能带来什么好处。
    对于游戏设计者、系统设计者和游戏总监而言,游戏分析能提供玩家详细的行为信息,比方说与道具交互、与其他玩家的交互。还有一个重要的应用是,能通过每次的游戏安装来跟踪玩家的喜好。通过游戏分析,设计者可以获知一款游戏给玩家带来怎样的体验。

     
    对于制作方和项目经理而言,他们期望更好地了解产品进度,能对产品状态和游戏功能有更高层的整体把控,通过游戏分析,他们能更加快速地在人员和资源分配上做出项目决定。

    对于游戏用户研究者而言,游戏分析能清晰简洁地显示玩家们究竟在做什么。这有利于研究者描绘出游戏中存在的问题。尽管说通过采访等其他方式也能带来有价值的信息,但对于用户研究人员来说,用数据说话,更利于说服团队其他成员做出必要的设计改变。
    对于市场部经理而言,他们期望使用分析数据来提高游戏销量,需要一个分析系统来及时提供游戏和商品交易信息。通过游戏分析,市场部经理还可以获知游戏的哪些功能有更高的盈利性。
    游戏分析能带来这么多的益处,那接下来看看游戏分析使用的游戏指标。
     
    游戏指标可分为三个方面:玩家指标,性能指标和过程指标。
     
     
    1. 玩家指标:针对用户或玩家,可能是带来收入来源的客户,或者是与游戏交互的玩家。玩家指标可被用于计算与收入相关的指标,比方用户平均消费指标(ARPU,average revenue per user ),每日活跃用户(DAU,dailyactive users )。玩家指标也可被用于调查人们是如何与游戏系统交互,比方用户游戏时间,用户的游戏内好友平均数。
    2. 性能指标:针对游戏的技术和软件框架的性能。一般而言,性能指标包含游戏在用户硬件平台上运行的帧速率。性能指标也会被用来在观察在改变功能,打补丁或升级对用户的执行影响。这个指标我们在此不详细讨论。
    3. 过程指标:针对游戏开发中的实际过程。游戏开发就像IT里的其他创新领域一样,会使用到敏捷开发。在开发的过程中需要一种方式来监控开发进度。类似于性能指标,过程指标中使用的管理和监控方法也不在游戏本身的讨论之列。我们在这里就不详细讨论。
    在这三个指标中,玩家指标在游戏指标中占有最重要地位。下面着重来讲玩家指标。
    玩家指标包含三个方面:用户指标,可玩性指标和社交指标。
    1. 用户指标
    用户指标将所有类型的用户都视为顾客,包含用户获取率,用户留存率(Customer Acquisition and Retention)等。此类信息可用于游戏的市场开拓和游戏开发。
    用户下载安装一款游戏,随后在游戏中或者游戏外的商店购买各种虚拟物品,而这种实际或虚拟货币支付的时间开销越来越小。同时,用户还会参与到顾客服务中,提交漏洞,请求帮助,或投诉。用户也会参与论坛,交流使用体验,这些都可以被用来进行挖掘和分析。而用户的IP地址,年龄,性别以及邮件地址都可以用来构成一个强大的用户指标数据库。
    2. 社交指标
    社交指标包含各个程度上的用户社交活动,比方论坛活动。此类信息便可用于社区管理。玩家之间的交互可能产生于游戏过程中的格斗或者合作,或者来源于游戏间的聊天。玩家间这类的交互构成一个重要的信息源,而挖掘对话信息也可以为游戏设计提供信息。
    3. 可玩性指标
    可玩性指标包含玩家在游戏中的实际行为,例如角色交互,物品交易和地图导航。对于游戏设计和用户体验来说,可玩性指标是最为重要的。不管玩家在游戏中做什么或者即将做什么,五种类型的信息可以被记录下来:发生了什么事情?在哪里发生?在什么时间发生?当多玩家交互游戏时,对谁发生?即使就在一个游戏场景中,玩家会产生上千个行为信息。比方玩家角色的位置,它的当前血量,体能,活跃动作,模式,还有游戏玩家的个人信息,比方姓名,种族,装备,货币。所有这些信息都会从游戏客户端流向收集信息的服务器。
    可玩性指标可细分为下面三类:
    1. 游戏中:包含玩家在游戏内的所有动作和行为,包括导航,交易行为,游戏物品交互。
    2. 接口:包含玩家于游戏接口的交互,包括设置游戏变量,比方鼠标速度,显示屏亮度。
    3. 系统:包含游戏引擎对玩家动作的响应。
    针对不同的类型的游戏,比方说动作类游戏、音乐类游戏、家庭类游戏有哪些有用的可玩性指标,我们会在后续章节中具体描述。
    知道了游戏分析的指标,那怎么来做游戏分析?
     
    游戏分析如何做?让我们一步步地来看。
    1.游戏分析数据的采集
    针对游戏分析的采集可以分为两个方面:客户端和服务器端。
    a) 客户端
    客户端的数据采集是通过在客户端安装第三方SDK,数据自动上传到第三方的服务器来完成。目前市场是有很多第三方游戏分析公司,比方友盟、DataEye、Talking data,还有最早建立体系的盛大PRAPA。无论是那种工具,都是建立一些指标体系,然后出一些报表,涵盖一些运营数据、协助分析的内容等。
    客户端的数据采集仅需要游戏开发者结合第三方公布的SDK,在游戏代码里使用相应的接口调用。这样的好处是框架简单,直接参照集成说明即可。但也有一些问题,比方说客户端的数据采集是否可信,还有就是敏感数据的安全性问题。对于游戏团队而言,像日活跃用户类似的数据放在一个SDK的提供商那里,或多或少会担心,这份数据泄露了会不会影响融资。
    b) 服务端
    服务端的数据采集是通过游戏开发者在编写游戏之初,有意识地写日志或者写历史数据库来完成。相比于客户端的数据采集,服务端需要游戏开发者有清晰的数据分析认识,这样可以做到细粒度的事件采集。对于上面客户端游戏数据采集的问题,服务端的数据是被认为可信,更为重要的是,敏感信息存放在游戏团队认可的服务器上,也会让游戏团队更加安心。
    2.游戏分析数据的存放
    通过前面的讨论的游戏指标,我们了解了要收集哪种类型的数据。问题是,如此巨大的数据量,我们如何存放?让我们简单计算下,如果记录每个游戏会话中的每个用户的游戏事件,那么数据量是会以惊人速度增长:100,000 DAU(每日活跃用户),每个用户平均收集1000 事件,那么一天就有150GB的数据量,一个月超过4TB!
    a) 传统方式下游戏分析数据的存放方式和面对的问题
    传统方式下的信息收集的工作由架设在IDC或者客户自己的机房中的服务器完成。可是如此多的数据怎么办?只能不断新增服务器。好吧,还有一种选择,干脆不收集数据!这确实也是一些游戏公司现阶段的做法,没什么日志,不做什么分析。不过我们今天这里讨论游戏分析的价值和做法,这种啥都不做的方式我们就不讨论了。
    传统方式下的另一个问题是,要在庞大的数据中执行查询,并获取有用结果,对于一个传统的数据库是一件很有挑战的事情。
    b) 在云上如何解决传统方式下游戏分析数据的存放问题:
    庞大的数据量不用担心,因为云的好处之一就是可以弹性扩展。在数据量过大时,可以动态增加资源来满足数据存放的需要。庞大的数据量可以直接放在云的数据库里,比方直接存储到RDS 或者存储到SLS(简单日志存储)里面。而云的可靠性让我们也不用担心数据的可靠性。自动的多重备份,对用户透明。不用担心服务器宕机、数据的流失。如同图中所示,数据库可以使用RDS,弹性扩展并保证数据的高可用性。
     
    3. 游戏分析数据的处理
    a) 传统方式下游戏分析数据的处理方式和面对的问题:
    针对游戏分析数据的处理,如果使用客户端安装第三方SDK的方式收集数据,数据会传到第三方来进行分析处理。如果使用服务器日志的方式收集数据,它处理有几种方式,以文本的形式把日志拉到本地,或者用sql读取日志信息到本地。比方说盛大的游戏分析,以文本的形式把日志拉到本地,然后用脚本进行分析。而空中网则将日志放在Vertica,通过它的接口来查日志。
    它所面对的问题是,对庞大的数据进行处理,这个过程本身就对游戏厂商的服务器有很高要求。另一个问题是,对游戏数据的分析处理过程可能会因为资源的占用而影响主营业务的系统响应。
    b) 在云上如何解决传统方式下游戏分析数据的处理问题
    在云上,可以利用云上已有的各种服务来进行数据处理和分析。日志可以使用云中的日志服务,比如阿里云的SLS。数据库可以采用数据库服务,比如阿里云RDS,并结合大数据分析服务,比如ODPS来进行分析。如上面的图中所示,使用RDS和ODPS结合来完成游戏分析数据的存放和分析。这样不但可以省去部署数据分析系统的繁琐工作,也可以尽可能减少数据分析对生成系统的影响,具体会在后续文章中进一步介绍。
     
    今天就大概聊这些,欢迎大家拍砖或来信交流 game@jiagouyun.com   。感兴趣的话,下次咱再细聊。
    文中的架构图使用的工具可点击查看 工具       )

     
    更多精彩,可参见游戏云官网  http://game.aliyun.com/?spm=5176.383338.201.59.pzyVmn  
     

  • 相关阅读:
    PHP 使用 GET 传递数组变量
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 数据交换
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 景点游览
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
    Java实现 蓝桥杯 算法训练 二进制数数
  • 原文地址:https://www.cnblogs.com/aliyunxiaobian/p/3949400.html
Copyright © 2011-2022 走看看