走不寻常路之经验总结
每位合格应用开发人员都拥有相同的目标:灵机一动,构建独创性原型,克服各种困难,最终吸引投资者将其想法推向市场。 名声、财富以及构建更多应用的机会将接踵而至。 焦虑、改善和重复是开发过程不可避免的阶段。
然而,移动应用和游戏的规则在不断变化。 以开发《Talking Tom and Friends》的公司 Outfit7 为例,这款特许经营的游戏应用基于简单的对讲概念。 2015 年末,Outfit7 在成立仅 6 年后便实现了惊人的 30 亿下载量。 迅速取得的成功让该公司的开发之旅显得与众不同。
更令人惊讶的是,Outfit7 拒绝了早期的天使投资者,使用创办者自己的资金开展业务,并依靠收入增长推动业务增长。 此外,公司团队并未天真地以为通过平常的开发道路便可成为下一个 Microsoft* 或 Electronic Arts*。 他们希望成为下一个迪斯尼*。
最近,一个有趣的现象是,该公司调整了技术发展战略,开始采用 Unity* 引擎。 其主要目标是获取现在包括通用 Windows 平台 (UWP) 的多平台支持。 转向 Unity 的举动有利于 Outfit7 更好地支持英特尔® 架构和未来三年销量预计将达到 10 亿的 Windows® 10 设备,从而实现前所未有的增长。
卑微起步,但不走寻常路
Outfit7 总部位于塞浦路斯利马索尔,并在英国、斯洛文尼亚和中国设立了子公司。 2009 年,之前从事 Web 技术工作的八位好友(多数为工程师)创立了该公司。 创立 Outfit7 的最初计划是将他们对于性能和算法的想法付诸实践,开发一些有趣的娱乐产品。
Samo Login 是该团队中具有远见卓识的重要一员,曾经是斯洛文尼亚一家主流搜索引擎门户 Najdi.si 的创始首席技术官。 为帮助团队快速开发多款应用,他自掏腰包,拿出了 270,000 美元。 通过优中选优,他们于 2010 年 7 月推出了 iOS* 应用《Talking Tom Cat》。
《Talking Tom Cat》发展迅猛,现在加入了小狗、鹦鹉等各种“会说话的朋友”,并增加了猫的数量。 最初,玩家可以逗弄这些汤姆猫,而后者古怪的反应会令他们捧腹大笑,他们还可与朋友分享有趣的对讲视频。 每次发布新版本时,应用体验和可玩性都会有所变化。
后来发布大获成功、备受赞誉的《My Talking Tom》和《My Talking Angela》时,可玩性包括角色成长和照顾。 首次进入游戏时,玩家需要照顾可爱的动物宝宝,为它们提供食物,为它们洗澡,帮助它们茁壮成长。 通过观看广告和营销视频,或玩简单的游戏和获取高分,玩家可快速赢得积分。 积分可帮助玩家购买服装升级、食物、家庭改造选项等。 他们还可选择语音选项。 该应用免费使用,收入来源于游戏广告。
玩家很快爱上了他们的电子宠物,其全球影响力在迅速增强。 有情侣使用语音特性结婚,它能在 Outfit7 游戏的标志性尖叫高音中加入人类语音输入。
《Talking Tom’s Jetski》为《Talking Tom and Friends》世界增添了跑步者元素。 《Talking Tom Bubble Shooter》进一步为这款特许经营游戏加入了沉浸式泡泡射击可玩性,允许发烧友实时玩单人游戏或进入对抗模式。
如今,该公司引发的游戏热已融入流行文化。 《Talking Tom and Friends》的动物角色参加了 2013 年白宫复活节滚彩蛋活动。现在,该游戏有了专门的 YouTube* 频道和动画网络系列。 下一步工作应该是将游戏改变成动画电影。
对于推动业务快速增长所需的软硬件资源,Outfit7 工程师已经想出了妙招。 他们选择了 Google* App Engine作为云技术,从一开始就开发支持多平台的游戏。 初期,他们只能有限地支持英特尔设备。
Outfit7 共同创始人 Marko Štamcar 目前担任高级软件工程师和发布经理。 他解释道,多平台方案对于他们转而采用 Unity 引擎支持未来开发工作发挥了重要的推动作用。 他表示:“我们总是希望支持尽量多的平台和系统,这是我们开始每一个项目的前提。 例如,我们要求应用支持 Facebook*。 不同平台的用户必须能够在我们的应用中看到彼此。”
在最初几年,Outfit7 在专有的开发引擎中使用了自己的技术,以针对两大领先平台 Apple* 和 Android* 创建应用。 他们只能直接支持 ARM 架构,但这已足够。 幸运的是,许多非 ARM 设备的操作系统支持 ARM 转换,但存在问题。 Štamcar 表示:“我们开始发现英特尔设备与我们的应用出现了一些不兼容问题。” 那时,Unity 引擎也不支持英特尔架构,因此无助于解决问题。 他继续表示:“我们只得等到 Unity 支持英特尔架构平稳运行移动应用。数月前(2016 年初),我们终于如愿以偿。 此后,我们针对英特尔设备发布了《My Talking Tom》和《My Talking Angela》。”
英特尔和 Windows® 10 扩大应用市场
Štamcar 和他的团队非常聪明,初期就非常关注这两大主流平台。 根据领先的跟踪网站 Business of Apps,2015 年 iOS 应用下载量达到 250 亿,Android 应用下载量超过了 500 亿。 所有平台的总应用收入预计将从 2015 年的 450 亿美元增长至 2017 年的 760 亿美元以上。
鉴于市场饱和总是难以避免,未来增长应该会由 Windows 10 的 兴起带动。 在所有的 Windows 版本中,这款最新的 Microsoft 操作系统实现了最快的普及速度(基于官方数字),现已配备在 2 亿台 PC、平板电脑和手机中。 未来三年,估计将有 10 亿新售设备加入这一行列。因此,顺应这一趋势对于任何开发人员(无论处于职业发展的哪个阶段)来说都是明智之举。
Štamcar 非常明智。 他表示:“我们支持所有基于 Windows、基于触控屏的平板电脑,和所有手机。 我们非常重视移动设备和基于触控屏的设备,因为我们的所有应用都支持各种触控交互。 我们不会投资于两种不同的用户体验,对于鼠标和键盘毫无兴趣。”
然而,Štamcar 有兴趣支持任何性能出色的平台。 他表示:“Apple 和 Android 不再是移动系统领域的仅有厂商。
实际上,在创业之初,公司团队针对不同平台使用了不同引擎。 他表示:“不同引擎有一些相似之处,但也存在许多差异。 不同引擎的共同点只包括 UI 行为和游戏逻辑。”
两种引擎似乎可以满足需求,但支持大量的设备令它们不堪重负。 Štamcar 表示:“一些游戏引擎非常复杂,无法在所有设备上高效运行,尤其是 Android。 我觉得《My Talking Tom》可支持大约 10,000 台设备。 在这么多设备上完美运行并非易事。为实现想要的质量,我们成立了大型质量保障部门。”
随着业务的发展变化,Outfit7 团队希望移植到单个可为多种平台输出编译代码的开发引擎。 他们可选择三类领先引擎:
与许多其他开发人员一样,Outfit7 选择了 Unity。
对于 Outfit7 而言,转向 Unity 实为明智之举,原因是多方面的。 第一,使用单个引擎可削减管理多个代码库和测试设备的开销。 第二,团队可帮助了解 Unity 的开发人员进入健康的地方市场。 第三,为支持英特尔架构打开了方便之门。
Štamcar 表示:“现在,我们的应用非常复杂。 移动体验受众已经成熟。 2009 年,您能以 1 美元的价格销售几乎任何无聊的应用, 但现在不行了。如今,消费者希望应用能够更复杂。 这意味着,如果没有统一的游戏引擎,针对众多平台开发应用会耗费较高成本。 Unity 是我们的重要工具。”
Outfit7 想要一款支持 3D 的轻量型游戏引擎,但游戏场景不是非复杂, 于是排除了 Unreal - 支持高度复杂的第一人称射击游戏。 他表示:“我们过去不需要,现在仍然不需要像 Unreal 一样复杂的游戏引擎。 我们只需要基本支持和出色的架构,以实现我们的想法。” 2013 年,他们发布了基于 Unity 端口的《My Talking Tom》。
Štamcar 认为进一步投资于专有游戏引擎会付出高昂成本。 选择 Windows 10 开发选项有望带来突破。 Štamcar 表示:“Unity 现已成为业界标准,所有创业公司都将了解和使用它。 现在,我们可在 Windows 10 手机、平板电脑和台式机上运行单个 Unity 应用。”
Windows 10 和 Unity 5.2 将迅速扩张
在 Unity 5.2 中支持 Windows 10 通用 Windows 平台 (UWP) 应用拥有巨大发展潜力。 Unity 5.2 将支持导出 Visual Studio* 2015 解决方案文件,该功能可在 Windows 10 PC、Windows 10 手机和平板电脑上运行。 它支持三种架构: ARM、x86 和 x64。 此外,开发人员可在其项目中使用.NET Core 5.0。
针对通用 Windows 10 应用 (UWP) 构建 Unity 游戏时,开发人员需要下列产品:
- Unity 5.2 或更高版本
- Windows 10 机器
- Visual Studio 2015 RTM(最低版本为 14.0.23107.0)。 Unity 5.2 不支持更早的版本,如 Visual Studio RC。
- 您还需要安装 Windows 10 SDK。
借助 Unity 5.2 中的 UWP 支持,开发人员可为 Windows 10 构建单个游戏,以支持从手机到平板电脑、PC 和 Xbox* 的多种设备。 这意味着,单个游戏支持多种屏幕尺寸和分辨率、不同设备功能和广泛的纵横比。
从 Unity 5.2 开始,Visual Studio 成为了 Windows 上新的默认 Unity 脚本编辑器。 Unity 安装程序可安装免费的 Visual Studio Community 2015 和 Visual Studio 2015 Tools for Unity。 Unity 将自动选择 VSTU 作为安装位置。 脚本可直接通向 Visual Studio,开发人员可在其中编写和调试 Unity 游戏。
Outfit7: 富有创意的成功之路
自 2010 年创业以来,Outfit7 实现了迅猛增长,公司负责人做出了一些令人关注的决策,踏上了其他开发人员避之不及的发展道路。 比如,公司在发展初期便拒绝了外部的资金支持。 当下载量达到 1.5 亿时,Outfit7 团队意识到,凭借良好的财务状况和稳定的月度收入,他们能够掌控发展节奏,不受到银行和风险投资家的干扰。 他们无需在发布日期、质量水平和角色选择方面妥协,开辟了一条属于自己的发展之路。
当像 Outfit7 一样的新团队幸运地拥有自己的资金时,他们便能更理性地安排支出。 他们往往会打破传统,避免急于寻求首次公开募股 (IPO) - 募集现金,向早期投资者和共同创始人还款。 这就是 Outfit7 的发展策略,Login 也多次对此进行了阐述,尤其是在彭博电视就公司的最初成功进行采访时。
经过一段时间的发展,Outfit7 发现自己能够成为更大、更出色的公司,业务无需局限在游戏领域。 事实上,从一开始,Outfit7 就未真得要一味开发游戏。 他们的目的是娱乐大众,唤起每个人心中的童心。 无疑,他们已实现了这一目的。
Outfit7 并未将自身视为一家应用开发商,而是力求打造“全媒体”公司的形象,并将其数字应用创建流程塑造为真正的知识产权。 当《Talking Tom and Friends: The Animated Series》首次现身 YouTube 时,Login 与《企业家*》杂志谈到了公司的迅速崛起,以及玩家如何喜爱游戏中的角色。 例如,应用内特性鼓励用户在社交媒体上分享他们的作品,从而打造了一种超越国籍、性别和年龄的有趣社区。 随着用户使用 Outfit7 角色进行沟通,该品牌快速赢得了更多粉丝。
从创业之初到如今成长为真正的全球性娱乐公司,公司创始人学到了许多。 因此,他们能为创业团队提供有益建议。 Login 对抱负满满的移动应用开发人员的建议非常简单: “可玩性是重中之重”。
他继续表示:“如果游戏无趣,用户不会再次打开游戏。 您不仅要持续扩大用户群,而且要盈利。 绝不要将应用内购买作为唯一的收入来源。 开发人员应该不断探索其他盈利方式,并始终重视整体体验。”
此外,建议您多花时间了解您应用的核心业务。 您为谁设计体验? 您的应用是安装在可放入口袋的移动设备中,而非电脑或浏览器。 Login 认为许多开发人员犯了一个错误,即将现有概念稍作调整后便搬到移动设备中,而不考虑受众的期望。
他解释道:“移动市场可让实现任何目标。 最出色的应用都专注于某一个领域: 实用、教育或娱乐,您需要明确重点,吸引您的目标受众。”
未来,Outfit7 无疑将会几乎完全偏离普通开发人员的发展轨迹,后者总是在坚持最初的想法。 由于非常喜爱《Talking Tom and Friends》中的角色,应用用户会经常与 Outfit7 的作品互动,成为忠实粉丝。 应用的开放性排除了传统的游戏路径,设置了更具破坏性的“爆炸”功能、更卑鄙的恶棍角色、威力更大的武器、更高的级别等。 Outfit7 将继续扩大《Talking Tom and Friends》特许经营游戏业务,加入新角色和与它们互动的新方式,包括电影和视频。
无论未来走向何方,Outfit7 必将继续创造记录,轰动世界。 Outfit7 将为开发人员建立可供遵循的新标准,这无疑值得人们期待。
更多资源
Outfit 7: http://www.outfit7.com
《My Talking Tom》发布在 Google Play 商店中: https://play.google.com/store/apps/details?id=com.outfit7.mytalkingtomfree
《Talking Tom and Friends》的 YouTube 频道: https://www.youtube.com/watch?v=MIVtb1UkTis
Unity: https://unity3d.com
Windows 10 SDK: https://dev.windows.com/en-us/downloads/windows-10-sdk
Outfit7 庆祝其开发工作大获丰收的更多相关文章
-
fir.im Weekly - 聊聊让人向往的远程开发工作
6月30 日,苹果开发者后台贴出一封关于广电总局的醒目通知,申报一个游戏 APP 上架AppStore,你需要文网文+ICP证+软著+版号,审批难度将越来越大,不禁让人感慨中国独立开发者的成长 &qu ...
-
atitit.提升软件开发效率大的总结O5
atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...
-
自学WEB前端能不能找到一份前端开发工作
关于自学WEB前端能不能通过社招找到一份互联网公司WEB前端开发的工作,有无数的人问出这样的问题,答案没有标准的,只能从概率去考虑.有的人可以,有的人不可以,有的人自学就业的概率就是高,有的概率就是低 ...
-
极客Web开发资源大荟萃
前端开发已经成为当前炙手可热的技术之一.此次我们总结的前端开发包含了相关技术和流行趋势,希望从中大家可以挖掘你们所需要的,并带给你们最有价值的帮助!原文来自:极客标签 使用代码回放来愉快地学习前端知识 ...
-
国内物联网平台(7):Ablecloud物联网自助开发和大数据云平台
国内物联网平台(7)——Ablecloud物联网自助开发和大数据云平台 马智 平台定位 面向IoT硬件厂商,提供设备联网与管理.远程查看控制.定制化云端功能开发.海量硬件数据存储与分析等基础设施,加速 ...
-
Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio
原文:Android零基础入门第10节:开发IDE大升级,终于迎来了Android Studio 通过前面几期的学习,我们知道了Android的前世今生,也了解了Android的系统架构和应用组件,也 ...
-
BMDP为常规的统计分析提供了大量的完备的函数系统,如:方差分析(ANOVA)、回归分析(Regression)、非参数分析(Nonparametric Analysis)、时间序列(Times Series)等等。此外,BMDP特别擅于进行出色的生存分析(Survival Analysis )。许多年来,一大批世界范围内*的统计学家都曾今参与过BMDP的开发工作。这不仅使得BMDP的权威性得到
BMDP是Bio Medical Data Processing的缩写,是世界级的统计工具软件,至今已经有40多年的历史.目前在国际上与SAS.SPSS被并称为三大统计软件包.BMDP是一个大 ...
-
Java2年开发工作经验面试总结
Java2年开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二十五家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些 ...
-
Git代码分支开发工作流程
本文的工作流程,有一个共同点:都采用"功能驱动式开发"(Feature-driven development,简称FDD). 它指的是,需求是开发的起点,先有需求再有功能分支(fe ...
随机推荐
-
三层架构dal 层基本代码 非查询/查询
DAL 数据链路层 非查询/查询 using System;using System.Collections.Generic;using System.Linq;using System.Text;u ...
-
.Net连接数据库-曾,删,改,查(AOD.Net)
连接数据库 static void Main(string[] args) { //SqlConnection conn = new SqlConnection();//实例化 //conn.Conn ...
-
openstack(liberty): devstack之screen
在devstack的stack.sh文件中,可以看到所有配置的service启动方式有两种,根据是否USE_SCREEN进行是在screen window中启动,还是直接起. 默认情况,USE_SCR ...
-
FFmpeg 2.0编译配置
./configure --enable-shared --enable-doc --enable-ffmpeg --enable-ffplay --enable-ffprobe --enable- ...
-
Successfully installed matplotlib
Installing /usr/local/lib/python2.7/dist-packages/matplotlib-1.4.0-py2.7-nspkg.pthSuccessfully insta ...
-
如何在.Net中使用Redis
Redis是一个key-value存储系统.和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表).sets( ...
-
ArcGIS导出辖区边界点坐标
1.使用ArcGIS打开.mxd地图文件 2.选择[Geoprocessing][ArcToolbox] 3.展开菜单,选中如图所示菜单,双击打开 4.选择对应的辖区节点 5.点击OK后,会在左 ...
-
代码精简工具lombok
Lombok是一种通过注解的方式减少JAVA实体类中大量冗余代码,诸如get.set以及构造方法等的Java库 一.安装Lombok 步骤一 项目引入lombok插件 1 - 非maven依赖托管项目 ...
-
Python+Selenium爬取动态加载页面(2)
注: 上一篇<Python+Selenium爬取动态加载页面(1)>讲了基本地如何获取动态页面的数据,这里再讲一个稍微复杂一点的数据获取全国水雨情网.数据的获取过程跟人手动获取过程类似,所 ...
-
Spark的任务调度
本文尝试从源码层面梳理Spark在任务调度与资源分配上的做法. 先从Executor和SchedulerBackend说起.Executor是真正执行任务的进程,本身拥有若干cpu和内存,可以执行以线 ...