2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

基于 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:073271

评论

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

如何在今年难找工作的大环境下成功入职阿里?Java架构师面试高频300题:集合

Java 程序员 后端

如何快速成长为技术大牛?阿里资深技术专家的总结亮了!

Java 程序员 后端

如何正确使用Spring Cloud Zookeeper,不懂来学,java教程下载网盘

Java 程序员 后端

如何理解互斥锁、条件锁、读写锁以及自旋锁(1),mysql入门到精通电子书

Java 程序员 后端

太狠了,Spring全家桶笔记,一站式通关全攻略,已入职某厂涨薪18K

Java 程序员 后端

如何在Spring Boot应用中优雅的使用Date和LocalDateTime

Java 程序员 后端

天天阿里,不如先吃透阿里技术官私藏的分布式笔记,最少能到P6

Java 程序员 后端

太厉害了,终于有人把TCP-IP协议整合成864页学习笔记了

Java 程序员 后端

模块二作业

doublechun

「架构实战营」

天才第一步!Java架构速成笔记必备精品成就年薪百万,掌门一对一java面试流程

Java 程序员 后端

太为难我了,阿里面试了7轮(5年经验,java百度图像识别接口

Java 程序员 后端

如何让阿三 Windows 10、11 的恢复分区(Recovery Partition

Java 程序员 后端

如何设计一个百万级用户的抽奖系统?,三面蚂蚁核心金融部

Java 程序员 后端

天真,居然还有人认为java的参数传递方式是引用传递,互联网java工程师面试突击训练网盘

Java 程序员 后端

太全了吧!阿里面试官纯手打:金三银四跳槽必会Java核心知识点笔记整理

Java 程序员 后端

太牛了,Github上标星30K+的SpringBoot实战电商项目mall

Java 程序员 后端

太狠了!阿里技术官熬夜半年肝出来的Spring Boot巅峰之作,爱了

Java 程序员 后端

如何保证高可用?搞定三种集群模式,Redis还不是手到擒来

Java 程序员 后端

如何在分布式系统中正确的使用缓存?别给你的项目引入定时炸弹!

Java 程序员 后端

天真,居然还有人认为java的参数传递方式是引用传递(1)

Java 程序员 后端

太强了!阿里大神亲码“SpringCloud核心手册,2021Java常见笔试题

Java 程序员 后端

架构实战营 - 毕业总结

雪中亮

架构实战营 #架构实战营

头条「2020最新」Spring最易学习教程,百度java面试经验

Java 程序员 后端

如何使用Spring Cloud Consul的其他配置和发现功能,不会来学

Java 程序员 后端

如何让自己像打王者荣耀一样发了疯、拼了命、石乐志的学习

Java 程序员 后端

大厂面试题:有了G1还需要其他垃圾回收器吗?我教你怎么答

Java 程序员 后端

大学毕业年的找工作和学习总结,java中级开发工程师面试题

Java 程序员 后端

太难了,面试官不讲武德!来骗来偷袭,分层架构图案例

Java 程序员 后端

如何保证Redis与数据库的双写一致性?,十分钟带你看懂Netty如何实现C-S

Java 程序员 后端

大四实习生”都四面成功拿到字节跳动Offer了,你还有什么理由去摸鱼

Java 程序员 后端

太难了,救救孩子吧,到现在还搞不懂TCP的三次握手四次挥手

Java 程序员 后端

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