Posts tagged 2D
基于XNA的应用的研究报告(2D)
May 8th
一、前言
XNA是什么呢?简单得来说是一个C# + DirectX的游戏引擎,同OGRE等游戏引擎一样。总得来说,XNA引擎的架构设计得相当出色,我个人认为超过了OGRE引擎,也许是我更熟悉C#吧(其实我也不太熟悉,我本人从事Java方面的工作)。
笔者最近研究了XNA在游戏方面的应用,并做一个类似连连看的2D游戏,下面讲一下我对XNA的看法。
二、开发效率
基于C#(OOP)的开发,天性拥有迅速的应变能力,开发效率自然是高的。从我编写连连可这个游戏来看,使用XNA开发游戏可以大大缩短游戏的开发时间和降低编码人员的要求,这样作为游戏开发商就可以集中力量把资源投向游戏的策划和美术等方面。
网上有人把XNA和DirectX进行比较,我想这样是不严谨的,他们更本就不是同一类型的东西,何来比较?XNA是一个游戏引擎,DirectX是一个图形处理的接口。如果把OGRE和XNA比较,我更趋向认为XNA会缩短开发时间,当然这毫无根据。
三、运行效果
由于笔者还没有做3D方面的研究,只能说XNA在2D方面的应用肯定是可以的。
笔者的电脑是:
l CUP:AMD 双核1.6GHz
l 内存:2.5G
l 显卡:集成ATI Radeon Xpress 1150,128M
这方面还没有具体实验数据,笔者想在研究XNA在3D上的应用时一起做。
四、安装问题
安装一个基于XNA框架的游戏,对客户端的要求实在是因为XNA的血液原因。首先要在客户端安装.NET框架,这个框架安装的时间不知什么原因比Java 的框架安装的时间要长很多,而且让我感到烦躁,更苦恼的是让用户不知道何时会结束安装。另外会安装一个XNA的框架,这个框架安装时间很短。
这个是个比较致命的问题,不过如果说微软的操作系统直接安装了.NET框架,似乎XNA的游戏将成为一个很不错的发展方向。
五、开发中碰到的问题
在开发中碰到一个问题,虽然没有研究3D方面的应用,不过我想这也是XNA比较严重的问题。由于XNA游戏引擎的封装,对中文字的处理方式,会使编译的时间很长,因为会为每个中文字生成贴图,当然这个问题也有替代的方法,或许也不将成为问题。
六、保密性
那么最关心的问题,代码和贴图等的保密性怎么来保证呢?这又是一个致命的问题。重写贴图等素材的加载方式,可以使素材加密。代码的安全,用混淆来解决,如果降低了代码保护性的要求,这种方法似乎可以让大家满足。
七、总结
就目前我们国家的情况来分析,实在不适合用XNA来开发一个想赢利的游戏,山寨成风,对知识产权的保护实在是没有力度,我想这就是微软加强了中国的市场,但XNA在中国的开拓的力度不够的原因所在,似乎XNA也侧重于XBOX。如果是想通过一个公益游戏来打开市场或者开拓市场我想最好不过了,当然作为一个贵族游戏的首选。还有就是XNA可以跨越PC和XBOX360平台。
由于我对游戏研究的不多,同时对XNA的关注也才几个星期,而且在C++游戏方面没有经验,很多方面都谈的不够全面,或者说是错误的,如果大家感兴趣,不妨自己研究一下,或者等待我下次更加详细研究报告。