在过去的一年中,游戏行业的创新不仅促进了游戏的自由转变。实际上,也许最重要的变化是改进游戏服务,尤其是数据的使用。
我很幸运能在这么多年的游戏中加入电信公司游戏方面的一部分,所以我很早就接触了游戏数据,但是对于许多人来说,这仍然是一个非常新的话题。在这篇文章中,我计划为您提供一种快速,实用的方法,以减少玩家流失并增加广告外购买的收入。另外,我想向您展示使用数据与玩家进行对话的重要性,从而使您在喜欢您的游戏时可以响应他们的更改。
首先要了解的是,玩家的反应和选择不是静态的,它们会随着时间的推移而改变。它们都有固定的模式,但是这些模式对于每个游戏都是特别的。如果我们想了解如何有效激励球员,我们需要了解这些玩家所处的阶段以及在这些生命周期阶段中不同的人群的反应。我将这些阶段分为四个部分:发现,学习,准备和痴迷。了解玩家在某个阶段的工作(以及为什么)是确定我们最佳反应的关键。在这里,我还将详细介绍预备阶段本身的特殊特征,迷恋阶段和反流阶段。您可以在2016年5月3日星期二的文章结束时观看网络会议记录视频。
调查范围在我们深入研究玩家的生命周期之前,我们需要确保我们有一系列术语来了解我们可以获得的各种数据以及它们的意思。
数据类型它们是什么我们能用它来做什么地理人口细分年龄/性别/位置/家庭类别知道我们的球员是谁
游戏中记录的行为知道我们的玩家做什么
操作我们系统的性能数据知道我们游戏的稳定性
一组具有相同设置的玩家会创建一个共同的基线
漏斗分析一种监视游戏阶段定位的方法,我们可以改进
定性玩家个人反馈以了解各种行为原则
我们如何捕获事件?为了获取我们需要的数据。我们捕获玩家在游戏或活动中的真正工作。与定性调查不同,我们不是在寻找玩家的意见或模糊的回忆,我们需要知道他们实际做出的选择或他们做出的行动。为了实现这一目标,我们创建了一系列事件,供代表玩家打开触发点以告诉游戏以捕获一些值。
例如,我们可能想捕获一个在FPS游戏中击中玩家的事件。我们可能会给它一个名字,即击中播放器,然后存储一系列与之相关的变量。这可以包括击中已解决的数据和时间,匿名播放器ID,角色的X,Y,Z坐标,损坏,射击游戏的匿名ID以及游戏的会话标识符。
重要的是我们不需要获取任何信息。有一些类型的数据是静态参考信息。例如,在特定地图的特定位置,只要知道地图版本,就可以使用X,Y和Z坐标来制作后续热点图。只要有一些相关信息,我们也可以从其他事件中推断出大量数据。例如,我们不需要捕获游戏中每个事件中玩家使用的名称,甚至不需要在所有会话中列出所有玩家的目录。我们可以使用特殊的“会话启用”事件获取信息并使用相关的会话标识符,让我们确定在特定游戏会话中发生的任何事情。
特别重要的是要注意,我们希望玩家保持匿名。我们不想和需要侦察我们的球员,但是我们需要了解游戏在所有玩家中的运作方式。
我们应该捕获什么事件?当我们试图了解玩家的生命周期时,根据我们可能遇到的时间表来考虑游戏事件非常重要。我发现从多个用户的游戏体验数据流中标记第一个用户的游戏体验很有用。就个人而言,我不需要在按下按钮时寻找每一刻,我正在寻找包含有意义选择的时刻。这是一个名为HACCP的食品工厂使用的方法。我写了一篇有关此内容的文章的文章,因此我不会在这里谈论细节,从本质上讲,药房就是我们正在寻找的“障碍区”,例如为什么丢失了它们(这意味着离开游戏)和更主动的行为触发器,例如愿意为IAP付费或观看视频广告。
同样重要的是要意识到我们收集的数据将不完整,例如,如果电池用尽或播放器切换到呼叫,我们将无法获得最后的上传数据。对于基于服务器的游戏而言,这不是问题,但并非全部。妥协的是,游戏不能离线玩,这影响了我们为他们创造游戏习惯的机会。
下面列出了一些典型事件(很抱歉使用伪代码变量单词)
捕获事件的数据点
Gamemenulauchn anononplayerid; TimeiconLaunched
Sessionlau TimesEssionlaunched; AnonPlayerId(S); sessionid; levelidselected;选项选择
SessionStart TimesSessionstard; anononplayerid; sessionid;
opprotagreet timeObjectiveset; anononplayerId; sessionid; objectiveid;
objectivemet timeObjectivemet; anononplayerId; sessionid; objectiveid;分数;报酬; xyzlocation
Targethit时间表; AttackerId(AnonPlayerId?); sessionid; targetID(anonplayerId?);损坏,xyzlocation
PlayerDeash TimePlayerDeath; Anonplayerid; sessionid; xyzlocation
LevelComplete AnonPlayerID; sessionId; objectiveid;得分;奖励; xyzlocation
在这样的创建事件中,我们可以推断出大量信息。例如,如果我们想知道完成一定级别的玩家的比例,我们可以计算GameMenulaunch事件的数据和LevelComplete事件。但是我们也可以使我们的分析更聪明。我们可以看到有多少人在特定的levelIdSelected中完成了特定的ObjectiveID,然后将其与后续级别的级别进行比较,以找出是否在早期级别跳过目标是否会对以后的性能产生特定的影响。
这不仅仅是要比较事件的价值,而且是要通过观察游戏中特定活动的时间来找到其他更深层次的问题。例如,如果我们开始发现玩家在菜单页面上使用更多事件,则可能会警告播放器丢失,或者菜单页中的更改会使玩家感到困惑。
我们不知道什么?这样的数据捕获可能非常强大,但是您捕获信息的方法本质上会倾向于您对玩游戏的含义的理解。这意味着我们必须不断检查指标。最大的问题是,我们无法捕捉玩家将要做什么以及他们可能会做什么。这似乎很明显,但是我们将使用洞察力来确定我们的设计决策。如果只有2的人可以自由玩游戏(翻译人员补充说:我们无法获取他们的数据),这意味着我们不知道是什么会触发98的其他玩家的反应。也许我们还是不能说服他们,但是我想表达的是我们无法完全捕获数据,这意味着我们必须意识到统计的重要性,并且应该对相对于相关性的假设因果关系非常谨慎。观察每个玩家的生命周期可以帮助我们减轻这种情况。因为我们可以在每个阶段分解决策,并找到增加玩家在每个阶段切换的可能性的方法。这一切都是关于在正确的时间提出正确的问题。
想想漏斗有一些很好的方法可以帮助我们将数据视为玩家生命周期的一部分。最有用的方法之一是漏斗分析方法。这种方法使我们能够看到一组玩家以及有多少玩家在游戏的下一个级别上玩过。最常见的是手臂漏斗。
有了它,我们首先查看我们通过有组织的安装,直接广告和扩散获得的播放器总数(尽管GameMenulaullunch数据可能更有用,但通常使用总下载)。然后,我们捕获了这些球员的数量,这些玩家在接下来的几天中仍在玩游戏。当我们在第二天(我通常称它为D2,称为D1)与玩家在第7天(即D7)或玩家在第30天(D30)进行比较时,我们可以知道我们的播放器保留率是什么样的。我们将其与付款的球员的百分比进行了比较,我们可以知道我们是否在获利运营方面取得了成功。
但这没有给我足够的细节。因此,当我们使用服务运行游戏时,开发此漏斗以反映玩家的生命周期很有用。我通常称他们为服务渠道。这是非常有益的,因为它使我们能够以有助于发展玩家而不是病毒营销的方式来思考玩家在游戏中的作用(今年大大减少了),并提高了他人在游戏上花钱的意愿。这就是为什么不花钱的玩家实际上增加了游戏——的隐藏价值及其收入来源,例如观看奖励的视频广告。这样,我们可以更好地计划游戏流程以吸引和维护玩家。更重要的是,看看我们在游戏中重复购买的事实。
我们能够做出更好的游戏吗?所有这些似乎都很商业和无聊,实际上,许多设计师认为这种方法杀死了设计师的创造力。实际上,情况恰恰相反。这是基于相关的标志来制作更具吸引力的游戏。我们希望我们的游戏一直在工作,如果他们觉得自己对在游戏中的花费感到良好,他们将想花费不止一次(只要我们可以继续给他们这样做的价值)。
当游戏足够吸引力时,他们的游戏障碍非常重要,使我们可以使用游戏玩法,广告和游戏中的购买来增强游戏的乐趣。
但是,数据对通知设计师非常有帮助,而不是成为障碍。只要您了解数据上的发现,了解您的努力方向,问玩家问题并在玩游戏时观察它们是无价的。进行小组和在线调查可以帮助您进行一些启示,但请记住,玩家基本上无法告诉您他们的工作,更不用说他们将要做什么,但是他们可以告诉您他们对游戏的感觉以及为什么他们做出具体选择。但这需要——的正式设置。问一个总是留在酒吧的朋友并不是很可靠。直接反馈可能非常有用,但是我们必须谨慎使用它,因为它通常将问题描述为特定玩家会做的,这不一定是更广泛的受众所需的。
每场比赛我们在寻找什么?都是不同的,而我在游戏性能和每个玩家游戏阶段的行为方面寻找的下一步。关键问题是我们如何在那个阶段吸引玩家,以及我们需要使他们过渡到游戏的下一阶段。
发现阶段发现阶段是玩家过程的初始过渡阶段,从注意到游戏到他们在自己的设备上安装它。在此阶段,我们的关键是了解我们是否可以使玩家愿意下载和玩此游戏!
l属性——我们需要知道的不仅是我们给用户提供的资源,而且是什么可以带来保留玩家和货币化操作。您可以跟踪这些内容以进行客户细分和行为比较。
LCOMPARE玩家基于他们的过去比赛时间。使用相同的启动数据分割客户非常有效;尽管基于游戏日的比较将非常有效(即使它们不再同时开始)。
l尽管许多广告网络都使用组合,CPI或ECPM来计算广告系列的成本,但我们需要在百分比下载转换中查看每个广告系列的有效性。
Lowndolad不是该行的末尾——您知道在游戏中登录了多少百分比,或者从登录应用程序到玩游戏所花费了多长时间?
学习阶段学习是球员的第一次体验,但是只有在玩游戏成为日常工作时才被认为是结局。这至关重要,因为我们想真正吸引球员并帮助他们成为球迷。我们需要问的核心问题是玩家是否了解如何玩以及如何将游戏整合到玩家的生活方式中。
l第二天的球员保留量是多少(我通常称其为Day2保留金额)?如果我们第二天不能让他们重新回到游戏中,那么这个游戏就无法使他们足够感兴趣以消耗游戏内容。即使这是一款高质量的游戏,这么早就放弃游戏也是一个糟糕的兆头。
l会话的频率和持续时间是多少?每个游戏中的这一点都会改变,并且没有“好”或“坏”标准。但是,我们对此频率如何随时间变化感兴趣。
LIT很无聊地进行单独的分析。但是,我们知道有多少人从第二级开始?或下一个级别。解锁新内容的比率和速率可能会在游戏中表现出真正的兴趣。
l在学习阶段,我不同意让用户消费。通常,早期的消费者用户是一次消费者用户。但是,为产品设置所需值至关重要。有一种方法可以检查一下,以了解有多少人观看奖励广告。
l通常在游戏会话中跟踪最后一个游戏位置通常很有用。它们通常意味着在您应该设置一些“召回行为”的地方自然中断,例如,为了使玩家在一段时间后重新回到游戏的原因。
预备阶段我们通常在预备阶段将其发展为真正的风扇。这就是我们真正需要专注于球员保留和珍视期望的目标。作为设计师,我珍惜“中继器和消费者”。我将一次性消费者视为危险信号,表明我的货币化操作有问题。产生收入的关键是在玩家之间创造价值期望。向他们展示项目的价值(通常在观看视频广告获得高级道具的帮助下实现)。但是我们要问的关键问题是:他们准备好消费了吗?
l这个关键指标仍然是球员的保留率。他们确保玩家愿意花费的影响以及支出的数量与他们准备好多长时间有关。听起来很讽刺,但事实并非如此。它提醒我们,使游戏变得良好,玩家一直想玩它是多么令人愉快。那么您的7天保留率是多少?
Levery游戏是不同的,所有对转换为付费用户的用户数量百分比没有硬性指标的用户。但是,在游戏中获得愉快的经历,不要牺牲自由玩家非常重要。考虑一下玩剪刀石布,如果我购买了蜥蜴- 玻璃的升级(石材剪刀升级游戏),这给了我更多的选择,并使所有其他玩家都改变了。但是我们仍然可以一起玩。
我就像在学习阶段一样,观看视频广告的频率可以启发我们有关您的IAP的吸引力。如果快速变化,它可以帮助您区分玩家从初始阶段切换到愿意购买的意愿(或现有的球员损失风险)。您最大的消费者很可能也是大量的广告观众。
l请注意准备阶段在每个级别的球员的平均获胜率或失败率。挫折可以创建一个好的操作员,但也可以快速背叛您。
l注意平均获胜率和平均失败率的明显变化
另一个重要的技巧是设计游戏中的第一点,让玩家决定观看奖励的视频广告或为IAP付费。这可能是了解为什么要消耗而不是在哪里消费的一个非常有用的点。如果我们希望他们再次这样做,我们需要很多经验。
痴迷阶段将优质的IAP游戏与高质量游戏区分开来的重要事情是,它可以使真正喜欢这种游戏的人希望在体验中投入更多的能力。此外,这不是自我欺骗,但是我们应该能够通过分析来计算哪些球员更加认真,更重要的是,他们更珍惜什么。
林补充,我个人的选择是查看15天的保留率,这是一个非常重要的节点,无论它们是否消耗。
l注意重复购买IAP购买的百分比和频率以及购买类型的变化。这尤其重要,它使您能够识别更多有价值的物品,这些物品将来可以扩大保留率。这就是为什么有些事情可能会给玩家带来回报的原因。对于玩家来说,感觉他们花钱买的东西值得这笔钱非常重要。
l还要注意球员的社会水平。社会资本是一个重要因素,它使人们感受到游戏中物品的价值,与游戏的价值一样重要。
回流阶段名玩家可能会感到困惑并离开游戏,我们应该找到唤起他们的乐趣并确保他们继续从游戏体验中获得最大收益的方法。如果我们可以预处理问题或挫败感,甚至提供新内容,这可以帮助玩家继续做自己喜欢做的游戏。但是有时他们可能只是准备离开游戏。
l球员通常会被更新吸引,但请注意来自不同小组的玩家,以查看他们是否再次被吸引。更新后的任何行为变化都可以提供重要的启示。
l注意玩家对话频率,购买/观看视频广告,社交网络甚至平均获胜率的变化。如果这些价值观放缓,您可以引起他们对您的行动的兴趣吗?
流失球员向左,这是不可避免的。我们的工作是尽可能保持他们的兴趣,并尽可能地给他们激动人心和愉快的游戏体验。意识到时间的流逝也一样重要,就像我们何时能回想起老玩家一样。
在会话频率,长度,会话间隔时间和对更新的层次响应方面,播放器的速率更改模式比上一个游戏会话优先。
我仍然愿意向其他人推荐这款游戏
这些玩家会评估他们不再玩的游戏吗?这是我的关键。因为如果更多的球员仍然乐于离开,那么他们将有更多的可能性在下一场比赛中返回。
图片中的文字:“如果您可以创建积极的游戏体验以使玩家更多地回来,那么受奖励的视频广告也将成为游戏可玩性的一部分。最后,一个好的视频广告体验会带来更多的吸引力和玩家保留,为我们创造利润以我们玩家成长的时间价值为我们创造利润。”
2016年5月3日星期二的网络会议记录的视频:
视频加载.
深入探索Three.js学习项目:从基础到实战的全链路指南
Triph.js作为WebGL的高级包装库,已成为前端3D开发的事实上的标准。通过实践项目学习三个。具有以下重要优势:
1。场景化知识构建:将零散的API知识转换为系统的场景构建功能
2。工程化能力培养:掌握从模型优化到性能监控的完整开发链接
3。前沿技术探索:联系WebGL着色器,物理引擎集成,VR/AR和其他尖端字段
4。职业竞争力提升:满足企业对三维可视化和数字双胞胎等职位的技术需求
核心架构: Scene, Camera, Renderer性能优化: LOD (Level of Detail), Instantiated Rendering, Web Workers交互设计: Raycaster Ray Detection, Physics Engine Integration前沿技术: WebXR (VR/AR), WebGL2 Advanced Features技术栈: Three.js Basic API核心实现:学习目标: Master the initialization process of三.JS核心组件并了解照明模型对材料的影响
技术栈:三。点+ shadermaterial核心实现: –学习目标:了解顶点着色器的工作原理,并掌握粒子系统的性能优化技能
技术栈: Three.js + OBJLoader + Physics Engine关键实现:学习目标: Master the loading optimization of large models, understand the integration of physics engines and Three.js技术栈: Three.js + Shader Programming核心实现:学习目标: In-depth understanding of the WebGL shader language and master GPU-accelerated fluid simulation technology
技术栈:three.js + webxr + react关键实现: –学习目标:掌握WebXR标准的使用并实现跨平台VR VR应用程序开发
技术栈:three.js + cesium.js +点云数据核心实现: –学习目标:掌握地理空间数据的三维可视化,并了解Three Trix.js和Cesium的协作开发
官方文档:三人文件社区案例:示例教程网站:三。 shader optimization and engine development书籍推荐: Build cross-platform virtual reality applications and master WebXR standards三维可视化工程师: Use Three.js to achieve three-dimensional interactive display of complex data setsWebGL开发专家: Use BufferGeometry to replace Geometry merge repeat geometry (BufferGeometryUtils) to apply LOD (Level of Detail) technologyAR/VR工程师: Use compressed texture format (KTX2, DDS) to control texture resolution (avoid textures above 4K) Use WebGLRenderer.toneMapping to optimize color performance数据可视化工程师: Enable instantiated rendering (InstancedMesh) to control rendering frequency (requestAnimationFrame throttling) Use Web Workers to handle physical calculations几何体优化: Use Git to manage project code and establish branching strategies材质与纹理: Configure CI/CD流程实现自动结构和部署渲染优化:4。版本控制:使用SketchFAB进行模型协作设计,并通过Figma进行交互式原型设计
添加图像评论,不超过140个字(可选)
持续集成:三。前端技术沙龙资源管理:核心层:三。仿真协作开发:官方认证:Thrim.JS开发人员认证在线课程:COURSERA WEBGL通过上述系统学习项目系统的特殊课程,开发人员可以逐步掌握Three.js的核心技术并在实践中提高工程功能。
建议从基本项目开始,逐渐加深复杂情景的发展,并最终参与探索尖端技术。
用户评论
站上冰箱当高冷
这篇文章讲得简直太清楚了!我之前一直在疑惑 sessionstart 到底做什么,看了之后终于明白了。用个简单易懂的例子解释真棒!
有5位网友表示赞同!
打个酱油卖个萌
确实,Session 是网页开发中必不可少的工具啊。sessionstart() 能够让我们实现用户登录后的状态保持,比如保存用户的购物车内容等等。这在电商网站上尤其重要。
有9位网友表示赞同!
纯真ブ已不复存在
说得对,有时候我们想让用户完成一个动作需要经过多页操作,就可以用 session 来保存他们之前的行为,这样才能保证体验流畅。不过要注意数据安全啊!
有10位网友表示赞同!
红尘烟雨
讲道理,学习 web 开发还是应该明白这基础知识,sessionstart() 这个函数虽然简单,但作用却很大!以后我项目开发就更注意用了。
有15位网友表示赞同!
迷路的男人
其实我觉得 sessionstart()的使用场景比较有限,有些敏感信息用它存储不太安全。建议结合其他技术比如数据库来更好地管理用户数据
有9位网友表示赞同!
巴黎盛开的樱花
没读懂文章的意思,sessionStart()到底是在网页里执行的还是后台执行的?能不能进一步解释一下?
有12位网友表示赞同!
莫名的青春
感觉这篇文章讲了一点很多废话。直接说 sessionstart() 的作用就行了,比如保存用户登录状态之类的。不需要用那么多例子说明。
有18位网友表示赞同!
莫失莫忘
我之前试过使用 session 来保存一些用户的个人信息,结果发现有些浏览器不支持。看来要根据不同的环境进行处理才行
有13位网友表示赞同!
荒野情趣
这篇文章虽然讲了 Session 的基础知识,但却没有介绍如何使用 sessionstart() 和其他 PHP 库配合的具体方法。希望作者能在以后的文章里补充这些内容。
有18位网友表示赞同!
素衣青丝
session 这个技术真是神器!我以前用 cookie 来保存用户信息,经常会遇到数量限制的问题,使用 session start() 之后就解决了这个困扰
有17位网友表示赞同!
矜暮
如果 Session 的数据量比较大,会不会对服务器造成负担?应该怎么优化呢? 文章里没有提到这些实际问题。
有18位网友表示赞同!
_心抽搐到严重畸形っ°
sessionStart() 的作用就是启动一个新的会话,这样才能使用 $_SESSION 来存取数据。真是太明白了!
有12位网友表示赞同!
太易動情也是罪名
我用过很多编程语言,session 的概念在不同语言中实现的原理都不一样,希望下次能对比一下各种类型的 Session 实现方式
有20位网友表示赞同!
经典的对白
sessionstart() 的安全性比较低,容易被攻击者利用。应该加上相应的安全措施,比如加密和验证机制!
有17位网友表示赞同!
男神大妈
看了这篇文章我对 sessionstart() 更加了解了。以前只是知道它存在,却没想到它在网页开发中如此重要!
有9位网友表示赞同!
命里缺他
学习编程一直觉得 session 这种概念比较抽象,文章通过图示和例子解释得很有逻辑,让我更容易理解。 👍
有12位网友表示赞同!
白恍
文章内容简洁清晰,很容易理解,不愧是博主!我以后来这里查找相关知识了!
有17位网友表示赞同!
╯念抹浅笑
想问一下,假如用户关闭浏览器,session 会失效吗?有没有什么方法可以延长 session 的生命周期?
有5位网友表示赞同!