“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

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

  • 2014-07-05
  • 本文字数:2201 字

    阅读完需:约 7 分钟

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


感谢郭蕾对本文的审校。

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

2014-07-05 00:232699

评论

发布
暂无评论
发现更多内容

知名网络安全硬件平台厂商铵泰克加入龙蜥社区

OpenAnolis小助手

开源 网络安全 龙蜥社区 CLA 铵泰克

喜报 | 旺链科技签约汨罗市文旅体产业项目,打造“链”上数字乡村

旺链科技

区块链 产业区块链 乡村振兴 汨罗市

工资管理系统该如何使用?

低代码小观

企业管理 工资 管理系统

技术干货 | Linkis1.0.2安装及使用指南

康月牙

开源社区 微众银行 WeDataSphere Linkis 使用实践

低代码分析盘点:银行业低代码应用需要规避两大误区

易观分析

代码 银行

Java 对象如何安全的 toString

HoneyMoose

Ubuntu20.04设置静态IP

echeverra

Linux 静态IP

基于模板配置的数据可视化平台

百度Geek说

企业数字化转型该如何做?三个融合、三个转换

小炮

ARM64 上的性能怪兽:API 网关 Apache APISIX 在 AWS Graviton3 上的安装和性能测试

API7.ai 技术团队

AWS 网关 arm APISIX

数据产品学习-实时计算平台

第519区

实时计算 数据产品 数据开发 大数据平台

数据安全刻不容缓,国产智能化厂商首获SOC 2鉴证报告有何意义?

王吉伟频道

RPA 数据安全 机器人流程自动化 智能自动化 SOC 2

kube-apiserver调度器核心实现

申屠鹏会

k8s

元宇宙产业投资全景图,快人一步走进元宇宙新时代!

博文视点Broadview

分布式数据对象:超级终端的"全局变量"

OpenHarmony开发者

OpenHarmony

后端适用,Apifox接口文档设计和调试教程【工具篇】

Liam

Java 后端 Postman 后端开发 API文档

精益产品开发体系最佳实践及原则

阿里云云效

云计算 阿里云 精益开发 产品开发 开发

构建基于React18的电子表格程序

葡萄城技术团队

React 表格 纯前端表格技术

大数据培训Flink高频面试题

@零度

flink 大数据开发

web前端培训React如何原生实现防抖

@零度

前端开发 React

Springcloud Oauth2 HA篇

Damon

微服务架构 安全架构 6月月更

陕西西安等保测评单位有哪些?在哪里可以查到?

行云管家

西安 等保测评 等保测评机构

各厂商的数据湖解决方案

五分钟学大数据

数据湖 6月月更

细说腾讯如何做到直播延时降低90%以上方案

C++后台开发

WebRTC CDN 音视频开发 视频直播 直播低延迟

defi存币生息理财dapp系统开发逻辑

开发微hkkf5566

618 大促来袭,浅谈如何做好大促备战

阿里巴巴云原生

阿里云 微服务 高可用 云原生

《数字经济全景白皮书》银行财富管理篇 重磅发布

易观分析

理财 银行理财

InfoQ 极客传媒 15 周年庆征文|我为InfoQ写作社区定制一款机械键盘庆生

法医

前端 InfoQ极客传媒15周年庆

为什么 SQL 语句使用了索引,但却还是慢查询?

okokabcd

MySQL

网络安全等级测评和商用密码应用安全性评估是一回事吗?

行云管家

网络安全 等级保护 商用密码

技术干货 | Linkis实践:新引擎实现流程解析

康月牙

Apache 开源社区 WeDataSphere Linkis 使用实践

页游开发在Flashplayer与AS3上的博弈_语言 & 开发_景琦_InfoQ精选文章