热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

页游开发在Flashplayer与AS3上的博弈

随着AdobeFlashPlayer版本的不断更新,网页游戏在游戏的表现力上也在不断的得到提升。其中,FlashPlayer11引入的stage3D技术

随着Adobe Flash Player版本的不断更新,网页游戏在游戏的表现力上也在不断的得到提升。其中,Flash Player11引入的stage3D技术,Adobe推出一系列面向游戏的功能库和开发工具,GameSDK游戏库,Flash Builder4.7,ActionScript3。尽管有了优秀的工具的支持,但是因为Flash Player本身运行环境有限,所以想开发出真正高性能的游戏还是一件很难的事。

\u0026#xD;\n

今年7月18日-19日在ArchSummit 2014上,上海江游英雄神殿网页端主程马强将会就《网页游戏开发中的性能优化和分析工具的使用》这一话题进行分享。在大会开始之前,InfoQ请马强就页游架构及开发瓶颈等话题分享一些自己的观点,采访内容如下:

\u0026#xD;\n

InfoQ:请您简单介绍一下您目前的工作和关注的领域。

\u0026#xD;\n
\u0026#xD;\n

马强:我目前的工作主要是完成《英雄神殿》网页端架构的设计和实现,带领我的团队按照项目的要求完成各个功能模块的开发,保证程序的稳定和流畅。关注的领域还是主要在游戏相关的开发上,目前主要集中在页游相关的开发上,从技术上怎样提高网页游戏更好的表现力,怎样提供更好的程序架构,保证开发的进度;同时在培训自己的团队,找到一些合适的方法提高团队其他程序的技术能力。

\u0026#xD;\n
\u0026#xD;\n

InfoQ:针对《英雄神殿》的页游架构,如何解决游戏性能无法提高的瓶颈,具体用到了哪些方法?

\u0026#xD;\n
\u0026#xD;\n

马强:Flash Player作为浏览器的一个插件嵌入在浏览器里面运行,其运行效率必然不能很高,同时Flashplayer又采用帧作为运行的驱动力,这就导致每帧内不能做太多的事情,需要把要做的事情尽量分摊到每个帧上去。比如角色图片的解码,可以采用使用的时候再解码的方式,每帧使用哪帧的图片,再解码哪帧的图片,而不是在一帧内解码所有的图片,这样很容易造成程序运行的不平顺。

\u0026#xD;\n

Flash Player的内存回收是由Flash Player自身控制的,开发人员并不能控制何时进行内存回收。即使开发人员释放了不用的内存,Flash Player也不是立即做内存回收,内存回收的效率是很低的。为了尽量避免Flash Player进行内存回收,我们采用对象池的方式缓存当前不需要使用的对象,尽量循环利用已经申请的内存,同时设置Flash Player的内存回收频率,尽量在场景切换的时候让Flash Player回收内存,在其他时候尽量少进行内存回收操作,保证程序平顺的运行。

\u0026#xD;\n
\u0026#xD;\n

InfoQ:AS3的快速游戏开发与Flash Player有限的运行环境,您是如何平衡、博弈两者之间的关系的?能否举例说下。

\u0026#xD;\n
\u0026#xD;\n

马强:AS3作为Adobe推出的第三代开发语言,确实在开发效率上有了很大的提高。AS3作为一种高级语言,为我们在内存管理,底层控制上做了很多的封装,恰恰是这些封装导致开发人员不能有效的避免Flash Player有限的运行环境。

\u0026#xD;\n

比如内存的管理,AS3提供new方法让开发人员可以任意的申请内存,但是Flash Player的内存回收机制,并不能很好的帮助开发人员管理好内存。这颗定时炸弹什么时候引爆,开发人员并不能有效的控制,导致开发人员必须小心的管理自己申请的内存。

\u0026#xD;\n
\u0026#xD;\n

InfoQ:有人说页游玩法核心是数值,手游核心是关卡。从开发的角度,您如何看待页游与手游之间共性和差异,如:开发时间、平台、工具、交互、测试等。

\u0026#xD;\n
\u0026#xD;\n

马强:无论页游,手游,端游,可玩性才是一个游戏的核心,表现力才是游戏的灵魂,从技术的角度来看,是因为技术达不到对游戏表现力的支撑,才导致了页游偏重于数值,手游偏重于关卡,我相信随着技术的不断进步,游戏还是要回到她的本质上的,玩家还是喜欢酷炫的游戏。

\u0026#xD;\n
\u0026#xD;\n

InfoQ:这些年,您从一个玩家到游戏主程,最大的感悟是什么?

\u0026#xD;\n
\u0026#xD;\n

马强:玩了那么多年的游戏,很佩服那些游戏制作者,一款款的经典游戏总是勾起我们美好的回忆,如今自己也能成为一名游戏制作者,心中充满了无尽的感慨。

\u0026#xD;\n

现在做游戏有太多的急功近利了,没有太多的人愿意沉下心来做好玩的游戏。同时现在的游戏开发已经像一个工厂,出来的都是几乎相同的游戏,相同的玩法,相同的交互,相同经济系统……真正颠覆性的游戏,像俄罗斯方块,魂斗罗,超级玛丽这样经典的游戏很少很少。也可能每个时代对经典游戏的定义不同吧!

\u0026#xD;\n
\u0026#xD;\n

马强最后总结,Adobe已经意识到了游戏这块对于Flash后面的发展有着至关重要的作用。它已经把更多的精力投入到了游戏这块上,GameSDK的推出,stage3D的不断完善,都说明Adobe在注重游戏这块的发展。但是随着目前手机技术的不断进步,Adobe的air在手机上的表现并不理想,页游究竟还能走多远,手游技术的发展空间在哪里,手机的硬件发展能不能再有一个新的高度,这些问题对游戏开发的影响都很大。

\u0026#xD;\n

82e1f131ecbef0f557b39cd28d627b4b.jpg\马强,从小热爱游戏,为了能做自己喜欢的游戏,高考选专业时所有的志愿都是计算机专业,毕业后一直从事和游戏开发相关的技术研究。先在51.com游戏事业部从事游戏前端的开发,又在盛大云计算研究院从事网络及后端架构的开发,通过前后端技术的研究开发,对整个网络游戏的前后端架构有比较清楚的认识和见解。目前担任上海江游《英雄神殿》项目组网页端主程,全面负责网页端技术的架构

\u0026#xD;\n\u0026#xD;\n

ArchSummit全球架构师峰会即将于7月18-19日在深圳举行,此次会议重点解析九个当前最受关注的领域,包括:SNS、移动互联网、金融、大数据、智能硬件、游戏、云计算、自动化运维、电商等专题。目前正在火热报名中,感兴趣的读者可以访问网站主页了解更多信息。

\u0026#xD;\n

感谢郭蕾对本文的审校。

\u0026#xD;\n

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。


推荐阅读
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 智慧博物馆信息系统建设方案
    3.信息化系统建设3.1博物馆RFID藏品管理系统3.1.1系统概述博物馆藏品保管是一项十分复杂又繁琐的工作。从事保管工作除了经常、及时地进行藏品的登记、分类、编目、保养和修 ... [详细]
  • 现在不少人开始关注并学习Flex了(至少比以前多了),但是现在关于Flex的资料并不多,国内的资料就更少了,而 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 前端图片合成技术_靠谱的前端需要做哪些准备?
    Web前端开发源于传统的互联网,互联网普及让人才需求量居高不下,随着移动互联网的高速发展,移动终端的前端开发也越来越受到重视, ... [详细]
author-avatar
陪你浪迹天涯萱萱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有