Flash游戏的第二次生命:开发者建议
公司FlowPlay的游戏方向负责人克雷格·罗宾逊(Craig Robinson)分享了将游戏Flash项目迁移到现代平台的经验。
罗宾逊用将FlowPlay拥有的社交MMO赌场Vegas World从Flash移植到软件平台OpenFL的例子来说明他的建议。
用于托管Vegas World的新引擎需要符合以下标准:
- 能够继续支持现有的游戏和社区
- 统一的代码库,能够在网站和移动平台上托管
- 尽可能利用现有的ActionScript代码库
- 为开发者提供平滑的过渡到新平台
- 能够使用现有的艺术资产
- 选择非专有软件平台,以避免重蹈Adobe Flash的覆辙
- 支持高质量的游戏过程和未来创新
最初,FlowPlay团队考虑了Unity和HTML5/JavaScript,但最终选择了基于Haxe编程语言的OpenFL框架。
Haxe代码库可以用于运行任何移动和桌面应用程序,以及基于HTML5的浏览器程序。
随着游戏产业的发展,它能够适应新的语言、平台和技术。
从ActionScript迁移到Haxe相对容易,因为语言语法的相似性允许大部分ActionScript代码库的使用。
此外,Haxe/OpenFL的开源代码保证了平台的长期支持和发展。
罗宾逊将Vegas World的迁移过程分为五个阶段。
测试。首先,开发者在Haxe/OpenFL上创建并运行了一款小型游戏,适用于iOS、Android、Windows和HTML5。这证明了平台的可行性,并提供了所需的性能和功能。
自动化。有一系列工具可以自动化从ActionScript到Haxe的转换。但在实践中,发现这些工具往往带来更多问题,而不是好处。FlowPlay决定编写自己的转换工具,并在必要时手动执行其他迁移操作。大多数文件的迁移相对简单,个别文件需要少量干预。
实际迁移。根据将新代码尽可能保持接近原始ActionScript的理念,FlowPlay首先迁移了主要库,然后转向第三方库、游戏外壳、社交房间、头像,最终是嵌入在更大元游戏中的迷你游戏。
错误识别。Haxe/OpenFL支持以与ActionScript相同的格式输出到Flash,因此开发者能够比较新游戏与旧游戏,以识别和修正任何异常。
最终转换。当开发者在性能和功能上达到了可与Flash版本相比拟或更好的水平时,FlowPlay使用Haxe/OpenFL创建了Vegas World的网络版本和移动应用。
“Flash的不可避免灭亡意味着我们必须做出选择——放弃我们的代码、游戏和客户,创建一个新游戏在新平台上,或者找到一个可以继续支持现有玩家并吸引新玩家到移动平台的平台。我们选择了后者,并且这对我们来说效果很好,”克雷格·罗宾逊总结道。
相关阅读:
来源: Venture Beat