写点什么

基于 AS3 显示列表的 2D 游戏渲染优化

  • 2012-11-01
  • 本文字数:2153 字

    阅读完需:约 7 分钟

【编者按】《博文共赏》是 InfoQ 中文站新推出的一个专栏,精选来自国内外技术社区和个人博客上的技术文章,让更多的读者朋友受益,本栏目转载的内容都经过原作者授权。文章推荐可以发送邮件到 editors@cn.infoq.com。


9RIA 天地会小编:龚先生您好,这次您在西南游戏开发者大会上的演讲题目是如何快速开发 Flash 2D 横版游戏有关,为什么要单独讲 2D 横版呢?

龚书:现在页游来看,主流还是 2D,其中横版相对来说更受玩家亲睐,移动端也不例外,当然好游戏跟表现形式无关,3D 游戏也越来越多,抛开游戏内容,就表现形式而言,个人认为 2D 游戏还会是主流,既然是主流,作为开发者不论在工作中,还是在生活中都会面对如何做好 2D 游戏这个问题。出于这个考虑,我就选了这个题目。

9RIA 天地会小编:您有丰富的开发经验,在您看来 2D 横版游戏开发核心是什么呢?

龚书:2D 游戏,渲染是一块核心,首选要讲的是使用什么样的渲染模型,大家都知道的 flash 自身的显示列表,当然还有各种位图渲染引擎。选择什么样的引擎非常重要,重要到什么程度呢?我个人认为跟男入行,女嫁郎一样重要(笑)。其实真的就是这么重要,不同的渲染模型,开发者将会准备不同的技术去支撑与扩展。

我这次主要讲的如何就基于显示列表来开发 2D 游戏,很多开发者认为 FlashPlayer 显示列表机制过于“肥胖”导致渲染效率低下,于是各种位图引擎纷来沓至,其设计核心都如出一辙:用一张或者多张 Bitmap 拷贝其他显示资源的像素。实际上位图引擎有诸多缺陷和使用代价,例如:大面积的拷贝像素效率也会下降,有时图形变化,例如旋转、伸缩、变色还不得不使用 draw()、colorTransform() 等方法效率下降更快,没有鼠标事件,需要完善一套显示对象管理机制,其实 adobe 已经做了。还是让我们回过头来看看 adobe 精心设计的“显示列表”机制吧,其实他真的如你所知的那样好用,但是有着你可能不知道的高效!

所以主要会讲到如何优化你的显示列表以及如何混搭使用 BitmapData,在渲染效率上让开发者满意。

9RIA 天地会小编:请您根据在端游页游两个不同产品领域的经验,为开发者们分享一下从端游开发者过渡到页游开发,有哪些方面需要继承和改变?

龚书:端游整个开发流程和工具都是可以沿用的,更多的应该是开发的思路的转变。页游区别于端游的最大的地方就是快,发展快、开发快、用户进入快。市场机会稍纵即逝,因此在最短时间内开发出最适合市场的产品。

9RIA 天地会小编:对于开发 2D 游戏方面,能不能给开发者分享一下经验?

龚书:要开发 2D 游戏有许多东西要讲,比如不论是页游还是端游都非常重要的资源管理,不过这块经验我的朋友张真在去年成都的会议上与大家分享了,这次呢我会着重讲下 2D 游戏开发中其他必不可少的一些技巧吧,例如多图层以及多图层景深,Avatar,动画等机制建立,我想有了这些经验,开发者能够非常快速的开发效率让人满意的 2D 横版游戏。

可能朋友们会觉得这些东西都在做了,也都会做了,讲这个毫无价值,或许吧,但我认为做技术就是事无巨细。你的横版游戏是否能动态管理图层以及分配不同的景深,场景是一段代码还是一个机制?是否在渲染面积大、元素多时一样保证流畅?你的 Avatar 是否从 OOP 设计出发的?是否同样灵活?渲染是否高效?你的动画是否跟你的显示绑得死死的?还是可以动态的去指定?

当然,对于以上的经验,或许我个人也做得并不完美,不过拿出来跟大家探讨,相互学习进步才是目的。

9RIA 天地会小编:开发者或许更关心实战技巧,龚先生能否以自己的作品为例给大家介绍一下整个开发过程?

龚书:我最近的游戏项目是《忍影堂》,是一个类似弹弹堂的游戏,不过有许多创新点,这个游戏是国内首个动漫横版场景游戏,里面有像愤怒小鸟一样的二段技能而且实现了操作零延迟,非常丰富的 Avatar 等等,但最终这个游戏没能存活,我个人创业也因此失败,流云网络也在鲨鱼哥的《发钱狂》旗下,所以我很想跟广大开发者说,会技术跟做游戏还差好大一步呢,需要完善每个细节。

到时候大家看到的是一个业内的技术会议,我们还是谈技术,谈实战,对于实战过程,其实大家可能真的不想关心,经历过的都知道,非常残酷,三天小改一周大改,结合这些实际情况,我会认真的跟大家讲讲如果设计好自己的代码,做到最有勇气的去面对你的策划,不怕“乱来”,策划朋友别误解,没有你们的乱来就不会有打磨光亮的游戏。

9RIA 天地会小编:除了技术之外,龚先生有什么想对开发者说的呢?

龚书:我个人觉得,不论作为游戏开发者还是应用开发者,技术是个问题,也不是问题,矛盾在于你的项目立项取胜点是什么?是表现取胜?那么你可能还真得回头看看自己的技术。如果是内容取胜,或许你可以把技术问题暂时抛开,好好跟你的策划讨论讨论。

大家都说做技术苦,其实大部分原因可能是只看到了技术本身,很多事物只看本质都会枯燥无聊,就例如看书,看文字真的很无聊,但是当你认知到文字带来的信息会给自己增加阅历时,真的是一件很美妙的事情。所以我希望广大技术人员,出去走走看看,多与各行各业的人沟通,多些爱好,你接触的越多,你的技术就越可能改变世界。

要想现场听取龚书演讲并与他深度交流的朋友请参加西南游戏开发者大会,更多关于本次大会的讲师和精彩内容介绍,请关注:西南游戏开发者大会

查看原文:天地行讲师龚书专访——基于 AS3 显示列表的 2D 游戏渲染优化

2012-11-01 13:073204

评论

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

通过jobleap.cn的岗位信息预测 A 股金融市场行业景气度从而炒股赚钱​

Y11

赚钱 找工作 研究 找实习 炒股

从二维码到 RFID,企业该怎么选?

斯科信息

RFID技术 RFID读写器 RFID标签 RFID手持终端 RFID天线

成语答题赚系统详情

微擎应用市场

选择MyEMS的十大核心优势:为您的企业开启智慧能管新纪元

开源能源管理系统

开源 开源能源管理系统

应用多活综述与实践

陈一之

应用架构 应用多活

BOE(京东方)携新能源领域新品亮相2025服贸会 引领绿色转型新动能

爱极客侠

适合小型企业的项目管理系统推荐:Reddit 用户真实需求

NocoBase

开源 项目管理 低代码 项目管理系统 小型企业

精准企划,智能决策:AI驱动商品全链路利润最大化

第七在线

Z世代如何解决单身问题? Hobby×华为云Tokens服务带来“AI的初体验”

极客天地

德创恋爱话术宝典介绍

微擎应用市场

多多报销小程序系统详解

微擎应用市场

筑牢安全屏障,守护数字中国|绿盟科技与您相约2025年国家网络安全宣传周

科技热闻

如何实现YashanDB数据库的零停机升级?

数据库砖家

海外APP开发的注意事项

北京木奇科技有限公司

软件外包公司 APP外包开发 海外APP开发

厂不大,事不少?中小企业如何用MES打通生产管理“任督二脉”

万界星空科技

数字化 mes 中小企业数字化转型 中小型制造业 数字化转型‘’

海外 App 开发的注意事项

北京木奇科技有限公司

软件外包公司 APP外包公司 海外APP

快速搞定Dify+Chrome MCP:打造能操作网页的AI助手

测吧(北京)科技有限公司

阿里 Qoder 新升级,Repo Wiki 支持共享、编辑和导出

阿里巴巴云原生

阿里云 云原生 Qoder

如何使用YashanDB进行企业培训的效果评估?

数据库砖家

轻工业是否需要采购堡垒机需求简单分析

行云管家

网络安全 等保 堡垒机

AIGEO助力企业破局

跑一跑

geoai

MyEMS:开源的力量,如何为企业能源管理带来颠覆性变革?

开源能源管理系统

开源 开源能源管理系统

如何设置YashanDB的自动化任务以简化数据操作

数据库砖家

入门教程:如何编写一个chrome浏览器插件(以jobleap.cn收藏夹为例)

Y11

JavaScript chrome 找工作 教程分享 浏览器插件

为何选择MyEMS?揭秘开源能源管理系统的十大核心竞争力

开源能源管理系统

开源 开源能源管理系统

HiMarket 正式开源,为企业落地开箱即用的 AI 开放平台

阿里巴巴云原生

阿里云 AI 云原生 Himarket

如何使用YashanDB的API与第三方应用程序集成?

数据库砖家

Playwright MCP浏览器自动化教程

测试人

人工智能 软件测试

AI招聘机器人制造商Paradox.ai因弱密码泄露数百万求职者数据

qife122

网络安全 密码安全

BOE(京东方)IPC电竞嘉年华盛典圆满收官 第三届无畏杯总决赛引领电竞生态发展热潮

爱极客侠

Qoder 全新「上下文压缩」功能正式上线,省 Credits !

阿里巴巴云原生

阿里云 AI 云原生

基于AS3显示列表的2D游戏渲染优化_语言 & 开发_龚书_InfoQ精选文章