145423nbbssnhcc6bpn0sn.jpg
  在5月12日, Unite 2017 S案例分享专场上,YoMob创始人宋晓啸做了全球化背景下中小型团队研发效率及变现优化经验分享。以下为详细内容:

  大家下午好,很高兴今天能够有幸受Unity的邀请,来这里跟大家分享一下全球化背景下中小型团队研发效率及变现优化经验分享,我是YoMob创始人和CEO,一会儿魂世界钱康来也会分享一下我们研发方面的经验。

  简单说一下YoMob和魂世界的关系,YoMob是从魂世界分开的国际化团队,我们在中国和美国有公司,专注服务于整个全球的开发者,帮大家提供变现优化方面的服务。

  整个全球化市场来看的话,中国移动游戏的市场,在过去这几年增量是最高的,但是随着中国移动的人口红利退去,很多中小团队开发者都在关心大方向上的问题。今天我也希望通过分享,通过我们魂世界和YoMob的经验,给大家提供一些有价值的参考。

  魂世界是在2015年开始的战略上转型,我们当时思考了全球化的趋势,开始专注于游戏创新产品的研发和发行,到2016年底,我们陆陆续续发行了10多款产品,过去一、两年来也是被苹果全球推荐最多的厂商。

  之前2017年YoMob做过一个全球移动市场数据的分享,整个中国移动市场的盘子在逐渐的增量上放缓,从之前的增量市场变成了存量市场。在国际来讲,海外游戏的市场一直在稳定的发展。整体来讲,全球海外的移动市场盘子大概是整个中国移动市场盘子的三倍以上。随着中国市场人口红利的减少以后,对于移动开发者来讲,如果我们的产品适用于海外用户的话,其实考虑全球化是未来一个比较好的增长方向。

  很多开发者会觉得现在中国移动游戏盘子增长比较缓了,大厂又这么强势,很多重度产品是中小团队没有办法竞争,因为它需要各方面的资源,包括技术、资金以及IP等等。个人理解,在现在这个时间点上面,对于有优秀创新能力的中小团队,恰恰是一个比较好的时间点。为什么这么说呢?我想讲三方面。

  首先是天时。现在是一个全球化趋势,海外移动优质游戏产品在进入中国,中国有一些优秀的移动产品也在出海。同时,整个全球来讲,主要的移动游戏市场都是存量市场,中国也是其中之一。在这种情况下面,内容是为王的,优秀内容可以帮助咱们的产品获取更多的用户,并且通过口碑相传,可以获取更大的增长,这其实是一个非常有利的一点。

  第二是地利。全球各种各样的应用商店平台,最近这一、两年都在全力的支持创新的产品,一系列的盘子在全球范围内是非常大的。过去苹果商店推出了独立游戏的专区,现在苹果手机商店里面有专栏推荐各种各样独立游戏产品的精品产品。像googleplay也推出独立游戏精品专区。另外上海本地TapTap也是最近一年多基于安卓发展特别快的应用商店。TapTap也是专注于推荐优质精品独立游戏的产品为主。

  第三是人和。中国移动游戏市场从2010年开始发展至今,大概有6、7年的时间,中国移动游戏的从业人员经验也在随着时间的变化在增加自己的经验和技能,最近一两年中国游戏的产品,也在陆续获得全球市场的认可。像之前国内的独立游戏产品获得全球产品推荐,这块我们理解也是对我们的人才是一个能走向全球化的时间点。

  随着整个移动端新形态广告的出现,或者移动端广告平台的发展,现在提供了中小团队新的变现方式。通过优质的内容,咱们能够汇聚用户、聚集用户以后,通过新的变现方法,能够有利的形成一个闭环,使得整个商业模型能够成立。接下来我重点说一下新变现这块的情况。

  说到广告,很多开发者都会嗤之以鼻比较反感,传统的PC端广告移动端广告用户看了以后,小的就直接关游戏,厉害的直接删了游戏。现在随着移动端基础设施的完善,随着用户对于移动广告,尤其是视频类、交互类广告的习惯养成,新广告形态可以完美的结合创新用户体验以及变现。

  下面这个图就是之前2015、2016年,最新我没有找到类似的报告,这是一个调研,主要调研的数据是移动端的开发者,通过商店获取的广告比例关系。大家看到在美国、英国一些国家,移动端对于开发者收益来讲,多部分是内付费产生的。传统的广告不是被游戏开发者所接受,这块大家相对来讲是比较忽略的。现在海外,尤其是欧美,随着整个基础设施提升以及用户对视频习惯的养成,移动视频广告在过去两到三年,在海外大范围被开发者所使用,移动视频广告也是目前整个全球增长最快的广告形态。咱们Unity也有专门的服务,不知道大家之前也没有用过,这块也是专门针对视频广告。视频广告之所以目前发展比较快,原因就是因为它整个形态,用户比较友好,视频也是大家对于信息认知最终的方式。视频广告也是除了内付费以外最好的方法,比传统广告形态变现效率要高5到10倍。

  整个移动端广告目前的发展趋势是这样,越来越原生化,原生化就是用户体验,广告和用户体验结合在一起是一个大趋势。目前原生化广告里面分为四块:

  一块是场景原生,场景原生就是传统的原生广告,我们比如说有一个图片广告可以在应用内某一个地方,比如游戏内有一个广告位,在游戏内,在这个位置上,本身你自己插一个图片是一个假的广告,但这个时候你可以通过原生广告把真的广告植入进来,这也是一个非常好的广告接入方法。

  第二是表现原生。表现原生是在应用类或者视频点播、直播类用的比较多,这种广告就是贴片,爱奇艺等都是贴片广告,它的广告形式和实际产品核心用户体验是一致的。

  第三是交互原生。交互原生价值互换类视频,这种广告形态根本上颠覆了用户看广告的习惯,从原来被动的观看广告,变成主动的观看广告,从原来负面广告观看的体验变成正向的,通过观看广告可以获取新的道具或者奖品,用户大规模习惯于或者接受这样的广告形态。左边这个都是我们之前产品使用广告后的用户评论,我们基本上产品都是在4.5星或者5星以上的苹果商店或者google的用户评论,这些评论都是视频广告的反馈,这里没有写的,都是用户自己自发填到商店里的。现在在欧美发展比较快的另一种广告形态就是可交互类的广告,目前在早期发展阶段,它的表现形态可以通过交互,让用户获取更多的广告内容信息。比如奔驰车的广告,用户可以通过广告交互,可以看到车的内饰,可以了解更多的信息。这个目前随着新技术的发展逐渐成熟,目前很多国外大的广告主正在尝试使用,用户体验和效果也是比视频广告更加优异。

  最后是内容原生,内容原生就是广告的内容和用户当时场景下的应用内容相关,例如今日头条信息流广告都是范畴,随着大数据和AI技术的提升,内容交互类的广告形态越来越多,并且通过这种方式对于用户的体验也会有更好的提升,他可能知道你想看什么样的内容,推送给你就不会特别反感。

  讲到移动广告,大家肯定会想如果这个广告变现这么好,我是不是简单接入就可以了。事实不是这样,移动广告的发展趋势就是原生化或者跟用户的体验相结合,它的优化也是非常重要的。分四个方面,这是我们之前自己产品研发和YoMob客户服务得出的经验总结。

  第一条就是产品化。所谓产品化,就是说广告的场景设计跟产品相结合,成为产品的一部分,不是说把产品设计完了以后,再把广告加进去就可以了。好的产品设计和坏的产品设计,在变现角度来讲,可能有5倍甚至10倍多的区别。对用户体验也是完全不一样的。

  第二条是数据化。数据化是大家了解广告场景涉及具体用户反馈的数据,基于数据我们才可以做优化和迭代。只有知道了问题在哪,我们才能找到问题。

  第三条是运营化。我们找到广告场景用户反馈问题之后,我们就需要场景和数据结合进行迭代,提升整个用户观看广告的效率。

  最后就是智能化。广告的核心本质来讲,就是广告主广告投放目标用户群和媒体开发者用户的画像是否匹配,越匹配用户体验就越好,变现效率就越高。广告内容分配在全国各地,在不同优质广告平台上面,最好的优化方案就是尽可能聚合多的优质平台。YoMob也是我们推荐给咱们开发者使用的广告平台,通过对接多家优质的广告平台,然后通过基于大数据包括基于AI在云端流量调度的控制,去优化整体的广告变现效率,这这一点就是所谓智能化优化的一点。

  这个就是我们之前合作的一个产品叫元气骑士,由深圳团队研发的产品,用户量有几百万。他们使用移动的视频广告作为核心的变现方法,目前整个产品的有500%和600%非常高,这个产品一开始的移动端广告设计有一些问题,通过我们优化的服务,显著提升了整体变现效果。从之前的eCPM10美金提升到17美金,广告观看比例指的是用户观看广告的比例关系,类似于咱们游戏行业里复配率的概念,这块也是提升了11%,整体来讲广告产生的ARPU提升了24%。通过优化,我们总结它的产品成功核心是四点:

  第一点就是留存,重要的事要说三遍。原因在于留存是所有移动端游戏重中之重,优化了才有意义,否则我们都没有用户,优化的再好都没有意义。

  第二点就是用户使用时长。用户在游戏里停留时间越长,通过移动端变现方式,潜在的优化效果也会更好。

  第三点就是控制用户观看广告的次数。每一个游戏产品,它其实都是固定的模型,从统计概论上来讲,一个用户在游戏内观看广告的需求是恒定的,我们不能够过度去消耗这样的需求。比如说一个用户可能在游戏里面,一个生命周期内只想看大概20次广告,如果说过度让用户消耗需求的话,对整体的用户体验和变现效果都不是最理想的。比如第一天就让用户把广告观看完了,这个原因用户在观看广告过程中注意力是递减的,之后他的注意力也会下降,之后整个变现效率也会非常低。

  最后一点,广告场景的产品设计,需要跟产品核心的循环相结合,因为核心循环就是用户在一个游戏或者应用类的使用频率最高的环节。在这些环节上面插入广告的话,对于整体的曝光是非常有帮助的。用户核心循环内,并不是任何一个环节内都可以插入移动视频广告,都不是特别合适,一定要找合理符合用户体验的点。举个例子,比如说游戏里面经常使用日常的任务,用户做任务分为三个阶段。第一个阶段,他要去选择做这个任务,第二个阶段做任务的过程,第三个阶段就是把任务做完以后,他在想接下来干什么,这三个阶段,你植入广告形态,它的效率是非常非常大的。第一个阶段用户想做一个事情的时候,你加入一个广告内容,用户比较反感,他有明确的目的,你打断了他的体验,他的转化率会很低。第二个阶段用户在做某一个事情过程中,这个时候你给他看一个广告内容,他其实是非常反感,甚至会怒删你的游戏。最后一个阶段,当用户做完一个事情以后,这个时候他是属于一个比较放松,在想下一步干什么的时候,你加入一个原生广告,这个时候他的接受度和体验也都相对比较好,转化率和变现效率相对都会有显著的提升。

  总结一下,YoMob核心的成员都是来自于咱们的开发者,我们最早都是做移动应用或者做移动游戏的开发者,是移动游戏开发者服务于咱们的开发者,我们也感同身受,了解咱们开发者的刚需痛点,我们希望帮助全球移动开发者提升变现的优化效率,尽可能帮助大家成功,这是YoMob的初衷。

  接下来我会把时间留给我们的魂世界CTO钱康来。

  钱康来:大家好,我是来自魂世界钱康来,好高兴有机会给大家分享一下我们团队在使用Unity的经验和分享。

  我们团队最早的时候,我们第一个项目在公司成立之前,是用as写的。写了一半觉得这个东西有先天性的缺失,我们使用了另外一个重写,再之后,我们正式投入Unity的怀抱,目前我们整个公司的所有项目组已经全部切到Unity。为什么做这样一个技术上的选择,吸引我们最大的好处就是Unity编辑器非常强大。这个编辑器具体给我们带来什么好处,这里需要摊开来讲一下,不同团队特点下,我们一个团队在不同的时期,它的策划、程序、美术铁三角有不同的侧重,如何组织大家共同完成一个项目,是一个非常项目和难度的事情。

  在这里重要的一点,就是能够合理利用团队内外资源,最大的好处减少重复劳动,降低内耗和消费。这个过程当中,Unity编辑器给我们带来非常多的帮助,它本身是所见即所得大家非常好上手,简单培训一下,就可以拿起来做。另外一方面Unity编辑器有非常多可以扩展的东西,团结在项目推进过程中,可以根据项目的需求,定制出非常多细节性工具和规则,辅助团队成员能够更加好,尽可能减少错误进行开发。这些规则一般都是项目根据自己的特点,比如说一些小游戏,或者强联网的游戏,根据项目类型特点进行特化。

  我会分三大块来给大家介绍一下我们公司层面经验和教训。

  第一个经验是资源制作方面,具体来说,比如我们做一款3D游戏,我们策划需要一个什么什么角色,有了要求之后,美术同学就会进行创作。在流程中,大家经常会遇到一个问题,策划同学觉得你的角色特点不符合我的心思,或者程序同学说你骨骼模型绑的有点问题,这样的流程我说的时候是非常完美顺序的流程,由于各种现实问题会进行返工、打断,就会造成资源浪费。我们如何通过改造Unity编辑器,使得我们的流程尽可能顺畅。我们团队经验教训就是尽可能早的把这些美术资源引入到引擎中,通过在引擎中不断的反馈,有问题及时暴露问题,这样就可以尽可能减少一些返工的消耗。甚至说,团队规模比较小的情况下,Unity编辑器已经可以承担一部分的建模操作,这时候就更加方便。还有Unity有一个非常好的,有一个资源导入操作,会根据你的平台进行操作,便利的操作在之前的时代都是没有的,在Unity你只要点几下就可以。

  我这边贴了一个我们现在在研的项目图,可以看到我想表达一个什么意思呢?我们在展示项目的时候,我们会花一定时间制定美术流程,除了美术流程之外我们还会进行校正。美术同学做的贴图在软件和Unity导入效果的时候,基本上是高度相似的。这样就避免了很常见的事情,美术把贴图调的非常好,一导入Unity发现贴图怎么变得这么暗或者这么亮,这就导致重新返工,重修的过程。如果我们能在美术制作过程中,就可以有效果高度校正的话,后面人肉校正工作完全可以避免。这就是一个非常小的细节,我们推进下来之后,发现一方面沟通程度降低很多,少了很多引擎同学和美术同学扯皮,另外也节约了美术成本的人力。

  第二个是扩展编辑器。Unity本身在UnityEditor有大量API及回调可用。我要给大家安利一个事情,我们可以返回Unity编辑器本身,编辑器本身包括界面包括大量外部本身可以返回很多可读代码,从这些可读代码,我这里贴了一个仓库,有人维护Unity编辑器本身。大家知道私有API之后,大家可以在编辑器把API调出来。下面我贴了一张图,这个图是我们团队的扩展,Unity本身可以抓取内存信息进行展示,但是它有两个非常大的硬伤,我们非常需要对比的功能,我们通过一些私有API调用,自己写代码,花了不到一个下午的时间,功能就扩展出来了。我们自己做了一个非常小的扩展,你可以抓取一个内存信息,在同一个场景可以继续抓取信息,我们小标本就可以对两次内存信息进行比较,可以显示哪些资源多出来,哪些释放掉。这样可以很容易清晰看出哪些资源被内存泄露。这个功能Unity有一个类似的,它虽然是私有的API,但是它的API从4.6到5.5没有变过,没有变的基础上,我们反射的代码其实是可以一直使用的。

  第三个是脏活累活,大家手游上线前有一个阶段就是接各种各样渠道SDK,这些渠道SDK有各种特色,我会分享一下我们团队的经验。会把SDK分为两个部分,第一部分是平台插件,另外一部分是跨平台的封装。我从平台开始给大家解释一下,首先是安卓平台,安卓平台给大家的第一个建议尽早抛弃Eclipse拥抱安卓Studio+Gradle。这两个东西最大的好处会使得你的项目更加整洁。之前我们接入SDK的时候,一大堆零散文件扔过来,这样一个很大的问题,比如我们项目要进行渠道SDK切换的时候,就不是很清楚,比如某一个图片文件是属于上一个渠道还是新渠道,如果我们使用其他的编译,我们可以把每一个渠道文件都可以打成AI包,这样就非常干净整洁,切换也非常简单。

  从代码层次讲,Java可以通过写配置文件,不修改代码情况下,通过排列组合,把代码进行封装,进行动态加载。

  我们之前一直比较讨厌不同渠道经常对文件有些修改,比如我们接支付宝SDK就要把相关权限加上去,如果我们需要切换到其他的SDK也是类似的操作。Unity本身提供一个合并的功能,但是我觉得那个功能非常弱,而且经常容易出冲突,我看到群里经常出包失败。我们这里团队本身写了简单的文件格式,我们完全可以写一个配置文件,比如需要切换的时候,我们就插入几个特定的,当插入到其他的SDK,就是把支付宝相关节点删掉,把其他SDK节点加入,这样就非常干净整洁。最后一个是apktool,它的作用是我们可以把apk包解出来,把我们需要替换的资源替换进去,做一个加密的功能,我们基本上逃不掉这个步骤。所有的东西都替换完了以后,我们可以重新打一个apk包,比较理想的情况下,比如我们要出十个安卓渠道,在代码复用情况下,我们只要出一份安卓apk,其他9个渠道完全可以解包,把新的渠道相关资源加入,再把包打回去,这样相当于一口气生成十个渠道操作。这个在量大之后,甚至我们不同项目需要用不同渠道相关代码的时候都非常有用,这些技巧当大家体量越大的时候,会发现分担成本越来越低。

  到IOS部分比较简单,大家遇到的需求,我们有时候需要手工修改工程XUP的配置。有两个选择,第一个是XUPorter,它是自己完全开元非常好修改,官方已经不进行维护了,项目组本身要进行自己的维护和更新。第二个工程是Unity官方工程,品质有保障,这样有一个问题,如果你需要官方没有提供的功能的话,你就会加的非常难,Unity功能你要么把代码注射进去,要么你就得自己想办法从官方代码仓库自己下载下来进行维护。我们除了常见功能之外,经常要加的修改一些编译属性。我知道有一个小功能非常讨巧,比如说我们要做一个游戏,这个游戏名字我们希望在不同区显示不同名字。第二个功能,可以尽可能减少对官方原代码修改情况下,把自己的功能加进去。第三个我们默认Unity生成的工程,上传到苹果,苹果会给你一个警告。当我们一个项目没有使用远程推送,但是Unity生成的项目默认打开API的时候,苹果就会检测明明没有为什么会使用API,这时候一个非常简单的办法,当Unity出完工程之后,通过小的技巧把这个API直接删掉,非常简单粗暴很有效。还有一点,苹果提供了一个新功能叫自动签名,以前苹果的签名一直老大难的问题,它的证书会过期会产生各种奇怪的问题,它提供一个自动签名,我们使用了以后发现确实非常好用,我们配置自动签名以后一年都没有管它,一直是正常工作。

  这里还不得不提很多团队忽略的,苹果系统和PC系统本身。为什么提这两点,我们开发过程中,如果条件允许情况下,我们会把所有平台SDK接上,这样我们在开发过程当中也会得到行为一致的效果。我们团队最近在接入声网(音)的SDK,这个基础上我们把PC,SDK系统也接入了,包括一些诡异的逻辑我们开发编辑器的时候就解决掉了。如果大家开发平台插件,需要注意一个事情,需要Onapplicationquit。SDK提供了相关的接口,我们把清理工作做好,就没有这方面的烦恼。

  最后提的两点,第一点是C相关的代码。这里面Unity提供了丰富的宏,除了平台相关宏,我们还会自定义宏,我们所有代码都是写在一起,比如渠道A写在一个文件,渠道B代码通过宏定义,我们切换渠道的时候,我们把这边平台自定义宏进行切换,我们代码就会更新,平台自定义宏使用也非常简单。

  最后提一个C++的插件封装,我们会要范围使用一下,Unity提供C++插件的Demo,这个Demo我们可以拿来做一些事情。涉及到C++层主要是三个方面,第一是注意内存释放问题,很多时间我们许多返回数据,这些数据不能在返回释放掉,这样就会产生异常。第二是变长参数的问题,这里写惯C++的老司机觉得很不好,我在C++可以变长参数非常灵活,我们团队需求都是通过JSON来转移的,至于这方面的性能损失各个团队自己要衡量。第三个线程安全,这个就不多说了。第四个是Native Plugin Interface,如果我们需要对SDK进行交互的时候,强烈大家看一下这方面的内容,依然以我们刚才讲的声网例子为例,我们项目在使用声网过程中,制作人有要求,希望我们声网视频流直接内嵌到游戏本身,需要做3D特效,这时候就比较麻烦,一般常见SDK提供的效果就是把视频在游戏上面或者下面,这时候我们就要研究一个问题,如何把视频流从SDK往引擎走。这时候有一个简单的方法,可以把整个图片当成编码,在Unity层一解析。这个从理论上完全可行,但是有非常大的消耗,第一个消耗在C++层数据传递上,第二个消耗是数据流解码编码上,如果大家研究C++层接口,大家可以发现Unity层可以直接在C++传一些贴图流信息,这样跟原生SDK性能上完全等价,会节约非常多的性能。

  最后再分享两点我们的经验。第一点是新的不一定是最好的。举一个最近刚碰到的例子,我们最近把安卓SDK进行升级,发现它的Build Tool官方是不认的。第二个经验,老的缺陷一般是可以靠升级引擎解决的。我举一个简单的例子,早期Unity在5.0还是5.1的时候,Unity在IOS使用完全错误的,这个漏洞我们之前修补特别麻烦,每次生成包以后我们还会写一个脚本,把Unity写错的地方给扭回来,有一次升级5.3的时候,发现这个东西Unity已经搞定了。还有一个新特性带来的性能提升。

  这个是我们在研项目做的测试,我们发现同样是Unity5.4情况下,我们在使用几种不同方法,GPU没有很大的变化,CPU是降了非常多。我在右下角使用了Unity内置的功能,从CPU来看,每帧CPU可以省10毫秒左右,省下来的空间我们可以做非常多其他的事情。

  这里解释一下,我们团队自己相对而言是比较激进的,每当Unity出现比较稳定版本的时候,我们都会升级,而且是整个公司一起升级,这个基础上我们可以享受到非常多的性能红利。我今天分享就到这,谢谢大家!

内容结束代码 人物, YoMob, 宋晓啸111111111111111111111111111111111111111锐亚教育

锐亚教育,网络游戏,网游,新游,游戏,新闻,国内,全球,评论,资讯,专题,图片,焦点,排行,免费,私服,魔兽,传奇,西游,泡泡堂,冒险岛,征途,劲舞团,劲乐团,公会,外挂,17173,玩家,测试,内测,封测,公测,试玩,调查,flash