移动游戏架构的艺术

移动游戏架构的艺术

ID:32895469

大小:179.50 KB

页数:6页

时间:2019-02-17

移动游戏架构的艺术_第1页
移动游戏架构的艺术_第2页
移动游戏架构的艺术_第3页
移动游戏架构的艺术_第4页
移动游戏架构的艺术_第5页
资源描述:

《移动游戏架构的艺术》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、移动游戏架构的艺术作者:杨丰盛,轻灵数码研发部经理,精通Java、C/C++等语言及J2ME、BREW、MTK、Android、iPhone等平台。曾领导和参与《三国群英传》、大《航海传奇》等游戏的开发。著有Android应用开发揭秘》。艺术是人的知识、情感、理想、意念综合心理活动的有机产物,是人们现实生活和精神世界的形象表现。文学可以是艺术,雕塑可以是艺术,音乐可以是艺术,电影可以是艺术……那么游戏呢?游戏是一门综合的艺术   无论是单机游戏还是网络游戏、PC游戏还是手机游戏,都需经过如图1所示的逐步进化的过程。图1游戏研发的流程任何一款游戏

2、,都有故事情节、人物、场景、音乐和音效等内容,因此其中每一部分内容都需要追求以艺术化的手段,将游戏的意象情景更生动地展现给用户。作为程序员的我们,之前可能只是以为只有策划人员需要通过艺术来表达游戏的内容、测试人员需要带着艺术去欣赏并完善游戏的体验,那么程序员对游戏的架构和艺术之间又是怎么挂上钩的呢?用程序语言铸造艺术之剑从古至今,有不少人热衷于铸剑,而铸出的剑是否称得上艺术作品,关键就在于它是否能表达出铸剑人的情感和用心所在。那么对于游戏程序的架构来说,也需要能体现出架构师对游戏的整体架构和每一个模块的把握,以及赋予它们的“神力”;同时,好的架

3、构还将贯穿于游戏开发的整个过程。简单的测试一下,你是否也会遇到以下这些问题呢?     感觉游戏框架非常混乱,毫无条理?     开发完成后出现大量Bug,并且不知从何下手去解决?     出现很多难以重现的致命Bug?     添加某个功能或模块非常困难?     经过频繁的修改之后,出现大量冗余代码?   如果出现上述问题,那么说明我们所使用的这把架构之剑并不锋利,可能没有将“力”用在剑刃上吧。这也从另一方面体现出铸剑过程(也就是游戏的架构)的重要性。如果带着这些问题继续锤炼,那么终将铸成一把绝世宝剑。   架构是一个看不到也摸不着的虚幻东

4、西,因此,我们还是结合具体的实例来分析如何将架构艺术化,通过代码来表达架构思想。假设现在有一套策划案,并且美术人员能够为我们准备所需要的资源。“采矿”是铸剑之根本   有了铸剑的意念,就需要去选择各种高品质的玄铁矿石。同样,对于游戏的架构来说,就需要对游戏的各个功能模块进行分析,针对每个模块需要实现的功能和特殊属性进行抽象,概括出各个模块所需要定义的数据结构和接口以及各模块之间的关系。然后,再根据策划文档整理出适合编写程序的流程图、关系图、结构图等。最后,根据这些文档资料配合游戏的运行环境(比如游戏运行的平台)对实现技术进行需求分析,该分析主要

5、针对功能和性能进行。下面我们以Android和iPhone两大平台为例进行分析。在Android平台上,从效率的角度考虑,可以选择C/C++作为开发语言、OpenGL

6、ES作为图形库;从简单方便的角度考虑,可以选择Java作为开发语言、Skia作为图形库。而在iPhone平台上,从跨平台的角度考虑,可以选择C/C++作为开发语言、OpenGL

7、ES作为图形库;从开发的难易程度考虑,可以选择Objective-C作为开发语言、Quartz2D作为图形库。这里我们没有考虑3D的特殊问题,如果进行3D游戏开发,必然会选择OpenGL

8、ES。另外,在i

9、Phone平台上使用Quartz2D作为图形库开发游戏的比较少。   如果要做的是一个跨平台的游戏,我们还需要分析各平台的跨平台能力和特性(包括开发语言、渲染库、资源管理、内存管理等),例如iPhone中内存管理采用了引用计数的机制,那么可以考虑通过C++来实现一个类似的机制,这样就可以保证其他平台也都可以通用该机制。   这里我们也没有刻意地对某个语言和库进行比较,因为它们通常都有各自的优势,需要根据具体的游戏需求进行选择。准备好铸剑的玄铁之后,下一步我们开始铸剑(编写代码)了吗?“剑范”决定“剑气”“剑范”即铸剑所用的模型,“剑气”即剑品的

10、气势,因此,铸剑所用的模型将最终决定宝剑的“主题”。   “剑范”的打造对应于游戏架构中负责全局范围的核心框架,该框架是否合理,将决定整个架构的成败。说到框架,不得不说说大家可能都比较熟悉的MVC框架,作为程序员,应该没有谁不知道MVC的定义,但是关键在于如何从更深层次去学习它,理解它,运行它。曾经一位朋友问我:“你们通常采用什么框架?什么框架会比较好呢?”我回答:“MVC框架啊!”看着他一脸吃惊的表情和一句“也很普通的框架!”的回答,我真不知道说什么好!MVC框架的确很普通,也很简单,而如何让它发挥出其本身的功效却是关键!例如,在iPhone

11、开发中,苹果公司就推荐采用该框架,具体描述如下:     视图(V):由UIView类的子类及其相关的UIView-Controller类来提供;  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。