您的位置:首页 > 大数据 > 人工智能

手机游戏最新技术选型之Flash AIR

2012-09-27 12:47 417 查看
文章不错,自己留着慢慢看.

相信大家应该对Flash比较了解,但对于Flash AIR可能就不是那么熟悉了,尤其前阵子Adobe宣布将移动版Flash Player停止维护及开发,就让大家误认为Adobe Flash将退出移动平台。

但实际情况又是如何的呢?

Flash 并不只有Flash Player、Flash IDE等一些大家耳熟能详的产品,实际上“Flash平台”是一个统一的称呼,它其实包括五个方面:运行时(Flash Player和AIR Runtime)、 语言(ActionScript 3和MXML)、框架(Flex、TLF、OSMF等)、开发工具(Flash Pro、Flash Builder等)、周边方案(Alchemy等)。而Flash AIR正是Adobe对于移动平台的定制的重头策略。

Flash AIR最开始是Flash对于桌面应用的支持,在移动开发火热之后,AIR开始转变策略,转而为Flash内容的移动App打包进行支持,因为 Android设备上允许安装AIR运行时,所以采用AIR打包为Android设备部署。Flash应用就变得顺理成章(虽然和桌面相比,内在运作机制 还是很不同的)。当iOS拒绝了Flash Player进入之后,AIR又担负起了将Flash应用部署到iOS设备的重任(因为iOS不允许安装运行时,AIR针对iOS的打包策略和 Android设备上又是完全不同的,需要直接编译出本地可执行代码,但为了统一平台起见,仍归属在AIR的范畴之内)。

现在,Flash AIR的核心策略显然已转变为移动开发,而今年Adobe对AIR的开发支持更是空前的强力。加上Adobe在HTML层面对PhoneGap的投资,可 以看出Adobe在移动策略上采用了Adobe AIR(for Flash)和PhoneGap(for HTML、JavaScript Developer)的双保险策略。

下面我就主要从开发时程、效能、跨平台性来说来说一下Flash AIR对于游戏开发的优缺点。

开发时程。Flash多年经验积累下来,为广大开发者准备了一套非常完备的开发流程,从图形动画制作工具Flash Pro到编码工具Flash Builder的每一点,无不体现出“可视化”、“便捷”等特点,让使用者可以最少编写代码来达到想要得到的效果,更加上不可替代的动画支持,让整个开发 过程锦上添花。而AIR同样享有这一切。随便写一个小特效的话,Flash可能只需要几行代码,而其他语言则可能需要几倍的代码量。

效能,对于Flash而言,效能一直是其非常褒贬不一的地方。事实上,Flash的效能完全取决于使用者的优化水平,因为Flash为使用者提供了尽可能多的图 形图片处理方式,这就需要使用者有能力去衡量每一种方式的适用情况。更加上Flash Stage3D已经可以在移动平台调用GPU,Flash的效能就更加得以提高。在iOS平台上,如果优化得当的话,是可以接近Open Canvas的效能的。

跨平台性来讲,Flash也是十分优秀的,PC、Android、IOS、BlackBerry、Windows Phone(未来支持),全都可以用同一个SWF文件去发布,这意味着我做了一个应用就可以轻松发布到其他平台,也省去了移植的一些工作量。

对于以上的几点综合来看,我决定选择使用Flash AIR技术。而对于Open Canvas与Java而言,虽然性能出众,却没有很好的跨平台性支持,而HTML5则由于还是新技术,可能存在许多隐患,制作流程上也显得不够成熟。

事实证明,我的选择是对的,一个版本可以成功打包成很多平台的应用这让我欣喜若狂,而且对于游戏来讲,一般的2D游戏AIR运行起来也是没有压力的,效能也不用很担心。

下面说说关于优化方面需要注意的事情,前文说过,Flash AIR技术需要比较好的图形优化能力,其实就是对于图形图像算法的理解能力,精确运用滤、颜色叠加、动画、动画层次以及内存等元素可能是需要开发者注意 的。此外还有关于内存的处理,Flash技术把内存做了很智能的处理,不需要用户太关心内存回收,但是也因为如此,内存回收变成了一个不可控的元素,我们 需要积极地将用不到的对象的引用消除以保证能够尽快回收。

自从ActionScript出现以后,Flash便成为了小游戏的最佳选择,快 速的制作流程以及丰富的动画支持变成了Flash技术的利刃。这么多年下来,众多Flasher创造了不计其数的Flash小游戏,后来还有很多优秀的游 戏转移到了其他大型平台,并且销量非常好。这些年,Flash积累了无数的经验及产品,而这些所有的东西都会直接移植到AIR技术上,就让AIR制作游戏 更加如虎添翼。

选择何种技术很重要吗?

很多游戏制作者都喜欢关注游戏使用了哪些技术、用了什么框架等,但事实上玩家完全不会在乎哪一款游戏是用了什么引擎、框架、设计模式,甚至不是很在乎到底是谁制作了这款游戏。

作为游戏开发者,我们要把时间更多地投入在如何让游戏更受大家喜欢,如何让游戏更有内涵或者更耐玩,而对于收费游戏来讲,我们可能要考虑如何让大家很开心的付费。要知道,技术不怎么样但很卖座的游戏其实是不在少数的。

对于技术而言,不用非要追求最好,而是恰当就好,选择最适合的最利于目前开发的项目的技术是最佳选择。

千万不要小看市场

经常有人说:“《Angry Birds》很简单,我们也能做!”之后就几个人开始做一款山寨的小鸟、《Fruit Ninja》,又或是一些别的什么游戏。我个人对于这种尝试还是比较赞成的,因为一旦做了就会获得经验,这样对开发者个人而言是只有好处没有坏处的。

但我想说的是,千万不要小看市场,我们的市场很挑剔,每一个作品都追求精益求精,并不是随便哪个游戏都能够赚钱,不是随便凭借山寨一个什么产品就能够成为 “高富帅”。这个圈子里的赚到钱的人都是在非常努力地做产品,当然不排除有些开发商采用一些投机的方法去谋利,但如果想要真正在市场站住脚的话,还是需要 一定的积累跟实力的。

事实上,有很多开发者连每年支付给苹果的开发者授权费都赚不回来,因此做游戏别太冲动,一切三思而后行。

精准把握玩家行为

我觉得我们需要花费精力去分析玩家行为,这样我们就能对玩家对于某些操作或游戏模式的反应做出正确的判断,也能帮助我们设计出更人性化的游戏,增加游戏的用户黏性,从而让更多的玩家不仅能够接受我们的游戏,还能够长期玩我们的游戏,这样自然也就带给我们想要的利润。

踏实做游戏

很多团队做游戏时就会想到以后会赚多少钱、如何发达等,但只要一旦这样想,就容易走入某些奇怪的误区里,我们还是需要冷静去面对游戏制作的每一个部分,这样才有更多的机会脱颖而出。

团队向心力

团队向心力是比较不好处理且经常出问题的环节,它可能包含了比较多的可能性,例如分配不均,或者内部分裂,又或是由于成员能力不足等原因带来的问题。可能任何一点小小的问题都会导致整个团队分崩离析。

3D加速技术

Flash AIR技术虽然到处可见,但其实大家对这个技术并不是很了解,网上的评论更是曲解的离谱,实际上Flash的发展非常迅速,加上Adobe对3D的投入就 更加让所有开发者欣喜,遗憾的是,在我们的独立游戏《被错过的天堂》中,并没有使用3D加速技术,主要是因为游戏制作时3D加速技术还没有被应用在移动平 台,但在将来的游戏开发中,相信我一定会尝试3D加速技术的。

作者德义,从2007年毕业开始,先后制作了20余款Flash单机游戏,2011年创建独立游戏团队“3000GAME”,其首个独立游戏《被错过的天堂》一度夺得台湾App
Store付费榜榜首。

原文:http://www.programmer.com.cn/13584/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息