从WINDOWS PHONE8的发布看游戏开发的未来

                    从WINDOWS PHONE8的发布看游戏开发的未来

      前几天看到WINDOWS PHONE8发布,可能很多朋友会纠结WP7到WP8的升级问题,但是我觉得做为开发者,我最大的感触莫过于微软高调宣布支持DIRECTX,并承诺WIN8上的DIRECTX的代码将与WP8兼容。
      曾几何时WP7上还完全是XNA的天下,那时我感觉XNA将会像.NET平台统一桌面及企业级应用那样,在微软的游戏帝国中独领风骚。但是从目前的进程看,在移动平台的竞争中,对于第三方开发者的支持是重中之重,在接下来的竞争中不太可能出现像微软推出COM组件或者苹果推出OBJECT-C时那样直接标新立异引领潮流的情况,无论什么公司都要去顺应潮流,DIRECTX现有的应用数量是微软在推出WIN8及WP8战略的规划中不可能忽视的因素。因为XNA框架发展时间较短,之前的应用只在XBOX和WP7上有体现,所以感觉微软为保证娱乐应用的数量肯定会对DX关爱倍加。
那么DIRECTX与XNA相比又有哪些异同呢?如果做为一个游戏平台的开发者你将如何选择呢?
     其实DIRECTX的确是一款划时代的产品,我们知道DIRECTX其实就是为游戏而生的,微软在设计DIRECTX的时候,其实很多游戏厂商都在面临这样的困境,那就是显卡的硬件水平已经足够强大了,但是由于各种显卡之间的加速机制千差万别,而显卡提供的通用标准显示接口却难以将显卡的性能完全发挥出来。这时候应该怎么解决问题呢,其实这里用到了设计模式的思想那就是面向接口编程,实现也不依赖于细节。DIRECTX是类似于适配器模式或者说类似于桥模式的中间层,支持DIRECTX的显卡针对于DIRECTX提供的接口进行硬件加速,而游戏开发者只需要调用统一的DIRECTX接口就可以完成高性能的渲染工作。由于DIRECTX是微软的主打产品,所以游戏开发者基本上会选择DIRECTX来实现自身在WINDOWS平台上的游戏开发,这些应用的数量是可想而知的。
     但是虽然DIRECTX是一款非常划时代的游戏组件,但是由于推出时的局限,DIRECTX是基于COM的,而并非是托管的.net框架,所以DIRECTX的运行虽然也有前后缓冲区的机制,但是从根本上说DX的程序还是基于WIN32程序框架的消息机制,而且各个DX组件如DIRECTINPUT,DIRECTX3D之间完全不是在一个统一的框架上实现的,他们是各个完全独立的组件。需要开发人员来把这些组件整合在一起,虽然微软做过一些将DIRECTX托管化的工作,但是始终无法突破DIRECTX一些基本的限制。
    所以XNA游戏应运而生,首先XNA是基于.net的,他提供的不是一个个单独功能的COM对象,而是将游戏中需要的元素与组件能够有机整机的程序框架,我在前文介绍过,XNA的运行机制是完全是针对游戏而生的,他有程序框架中先进行初始化,调入资源,然后就是不断的UPDATE和DRAW,使得游戏的制作由DIRECTX的消息处理与缓冲结合的机制,变成了依据用户的输入(UPDATE),然后绘制(DRAW)的互动式电影的方式,随着XNA在XBOX上的大获成功,让很多人都相信XNA才会代表将来游戏开发的趋势。
     所以如果你习惯了DIRECTX你会发觉他是如此的经典,而你如果接触到了XNA你会发现他是如此的舒适。其实说了这么多一句话DIRECTX如此之多的应用数量,注定了他还会散发第二春。而如果你是一个入门者那也大可不必纠结于DIRECTX的繁复,XNA的HELLOWORLD是如此的简单,使你可以很多的喜欢上游戏的开发,而不是在不断的坐标变换中迷失自己。

 

你可能感兴趣的:(WP7,XNA游戏开发系列,移动动态)