开发 Flash 游戏最重要的是效率和定位——专访 Flash 游戏独立开发者李鹏

  • 贾国清

2011 年 8 月 8 日

话题:Java.NETRuby语言 & 开发

InfoQ:当时开发该游戏的初衷是什么,是在一个什么背景下产生的?

李鹏:开发 Stanley 博士的家 2 的初衷有两个,一个是为了答谢 6 年来支持我的玩家们,Stanley 博士的家 1 从 2005 年问世以来,几乎每一天我都能收到来自世界各地玩家的邮件,有的想要攻略,有的想表达对它的喜爱,也有相当一部分是询问游戏是否有续集。所以我做第二部,打算给我的玩家们一个完整的故事情节。第二个初衷是宣传 Flash 的跨平台特性,当时技术环境刚刚成型,但广为人知的实际案例并不多,更有人对 Flash 是否能开发手机游戏一无所知,所以作为 Flash 技术的推广者,我需要用实际的案例来推广和证明新技术的可用性。而且通过我一个人的独立工作模式更能突出 Flash 平台快速开发的优势。

InfoQ:使用了哪些技术和工具?

李鹏:我使用的基本上都是 Adobe 的产品和工具,我用 Wacom 的 Bamboo 绘画板,直接在 Flash Professional CS5.5 里面制作动画和场景,然后在 Flash Builder4.5 里写程序代码,声音是在 Adobe Audition 里编辑的。最后通过 Adobe AIR 2.7 的打包工具发布到 Android 和 iOS 平台。

InfoQ:你认为开发 Flash 游戏最重要的是什么,有哪些值得注意的地方?

李鹏:开发 Flash 游戏最重要的是效率和定位,由于受着硬件的限制,在移动设备上运行的应用不可能有如同在桌面电脑上一般的表现,所以对图形动画的表现形式要做到恰到好处而非绚到极致。对代码的要求更是苛刻,每一行代码都要考虑到对内存和 CPU 的占用情况。此外,需要游戏设计者对基于触摸交互的用户体验有比较好的理解,这都是开发跨平台游戏时需要注意的地方。

InfoQ:对开发者来说,应该具有哪些知识储备?

李鹏:游戏制作一般是由团队来完成的,这里狭义的开发者指游戏前端程序开发的部分,对这部分人来说,技术的选择完全取决于游戏的需求以及平台的选择。目前网页小游戏的主流开发语言仍然是 Flash,手机上的主流开发语言则各自不同,比如 Android 用 Java,苹果用 OBJC。但对于 Flash 开发者而言,掌握 ActionScript 这一门技术就足以在网页,Android 和苹果各个平台上开发应用了。而且基于 Flash 和 AIR 开发的应用其运行效率丝毫不比主流开发语言差,但开发成本却比使用主流开发语言要低太多了。

InfoQ:在运营的过程中遇到了哪些问题,又积累了哪些经验?

李鹏:我是独立开发者,在运营方面精力和经验都十分有限。但最后也总结了几条,可以让同样处境中的开发者少走些弯路。首先是游戏平台的选择,Stanley 博士的家 2 的网页版是在我的个人博客上首发的,空间流量和带宽的限制导致游戏被迅速转载到各个小平台上,无法利用集中的流量来创收是我对这款游戏的一大遗憾。其次是苹果商店中限时免费策略的成功,移动应用商店中,透明度决定了应用的生死。我利用先短期收费后免费的策略,让这款游戏被很多限时免费应用探测器在第一时间监测到并显示在用户眼前,正是这样才创造了 iPad 中国免费游戏排行榜第一的成绩。

InfoQ:将应用放到在 Web App 平台上,给你带来了哪些改变?

李鹏:我并没有抓住最佳的时机把它投放在百度应用平台上,但它每天仍然被使用几千次,而且作为一个免费的 Web App,它还可以通过被使用的次数给我带来收入。

InfoQ:接下来有什么打算?

李鹏:接下来的一年左右,我会制作一部新的游戏,更好的剧情,更好的界面和设计,更好的代码优化,以及更好的运营计划。

InfoQ:现在很多个人和公司都在开发 Web App,请给他们一些建议。

李鹏:Web App 的成功与否不在于技术有多牛,画面有多美,而是用户体验是否做到了位。现在有些开发者和公司花了很多时间去攻破核心技术,也非常注重细节元素的美感,但在游戏故事设计或者操作界面安排上则草草了事。要找不同喜好的人多调查多试验,最终要做到对每一个小小元素的安排都有足够的理由。另外切忌盲从和模仿,要有自己的产品特色和风格,让人一看就知道是谁做的东西。

Java.NETRuby语言 & 开发