XNA Game Studio 3.0 CTP让Zune不仅仅是媒体播放器
2008-5-8 XNA Game Studio 3.0 CTP悄悄发布了,下面引用其他网站的介绍:
今天,微软发布了XNA Game Studio 3.0游戏开发工具的首个社区技术预览版(CTP),最大的亮点就是支持Zune游戏。
XNA Game Studio 3.0正式版预计到今年年底才会发布,目前的CTP预览版仅支持Zune游戏开发,尚不支持Xbox 360游戏。除了Zune游戏外,该开发工具还能够访问Zune播放器中存储的非DRM保护音乐,允许开发者自定义游戏背景音乐,或开发出实时音乐虚拟游戏等等。另外,使用它开发的游戏还能够支持ad-hoc点对点互联,支持多台Zune无线联机对战。
XNA Game Studio 3.0 CTP仅支持32位Windows系统,需要Visual Studio 2008 Standard Edition或以上开发环境的支持(必须安装C#,或至少安装Visual C# 2008 Express Edition)。现在网络上已经有首批Zune游戏放出,可以通过XNA Game Studio 3.0 CTP在Zune上安装试玩。
下载地址
Visual C# 2008 Express Edition
http://www.microsoft.com/express/vcsharp/Default.aspxMicrosoft XNA Game Studio 3.0 CTP
http://www.microsoft.com/downloads/details.aspx?FamilyId=DF4AF56A-58A7-474C-BFD0-7CF8ED3036A3&displaylang=enZune游戏
《Galactic Wars 3》
http://focusedgames.com/downloads/GW3_050708.zip
《Allien Aggressors》针对Zune 30
http://nick.gravelyn.com/2008/05/07/alien-aggressors-zune-edition/
同时官方网站也给出了一个示例:AlienGame,http://creators.xna.com/en-us/zune_development:
这个示例中的源代码值得好好学习一下,尤其它的ScreenManager文件夹包含了开发游戏的一些基础功能。如果我后面有时间的话,会和大家分享一下对这个示例剖析。
对于Zune 游戏抱有热情的人还有这位:http://www.zunexna.com/,上面的一些博客文章对于Zune的游戏开发很有用的。
另外对于Zune玩家,http://www.zuneboards.com是绝对不能错过的网站,http://www.zuneboards.com/forums/zune-games-171/下面有好几个游戏和应用程序(包括Clock,Calculator,Instant messaging)。
我在上面收集了一些Zune Game,打包上传到这里了 :http://www.fs2you.com/files/9810075c-38f5-11dd-a51a-00142218fc6e/
之前,我也谈到过对Zune支持游戏的看法:
Zune既要vs iPod,又要vs PSP。
不过Zune现在销量不是很好。其实功能和iPod没有太大区别,主要是iPod认同感多得多。
对于PSP来说,感觉Zune终归不是专业的游戏机,没有内置GPU,按钮操作不是针对游戏的。但是不排除Zune 三代会提供更好的游戏体验,反正现在Zune的游戏开发平台基本已经铺通。
在知道Zune可以支持XNA开发游戏后,我就在想Zune里面应该内置了一个.NET,但之前一直有这样的疑惑:
我一直没有搞懂Zune用的是那个版本的.NET,是.NET CF还是.NET Micro,还是专门定制的。
反正,我往Zune部署游戏的时候,首先部署了mscorlib,System,Microsoft.Xna.Framework等程序集。
但是加载程序集和JIT方面的东西,没有部署,应该是已经和firmware集成在一起了。
我看到Zune的about里面,有Bootloader 1613,Xldr 2.2.1040.0的字样,这个应该就是.NET的启动内核了。
不过现在我知道了,刚刚为了研究Zune UI Framework(这个下面来说),才发现Zune内部使用的是.NET CF(3.5版本),但和标准的.NET CF 3.5又有所不同,子版本和大小都不一样,包含的命名空间和类是否相同,我没有深入研究。
XNA for Zune | .NET CF 3.5 | |
mscorlib | 3.5.8044(168KB) | 3.5.7283(209KB) |
system | 3.5.8044(64KB) | 3.5.7283(109KB) |
system.xml | 3.5.8044(92KB) | 3.5.7283(101KB) |
好了,现在来说说Zune UI Framework(或者说XNA UI Framework)。我们知道XNA Framework是用于开发游戏的,所以它只提供了针对图像,2D,3D操作的功能,但要开发一个应用程序(我说的是Application,而非Game)的话,一个易于编程的UI Framework是必要的。
当然开发简单的应用,如Clock的话,自己使用XNA的Graphic命名空间就可以完成。
要开发XNA UI Framwork,有两种方式:基于XNA提供的图形库开发一套Windows Forms,或基于图形库开发一套WPF(Windows Presentation Foundation)。
第一种方式,已经有人在做了:http://forums.xna.com/forums/p/2396/68400.aspx
不过它这个“User Interface in Xna”还只是XNA上的,主要针对Windows和XBOX,如图:
不知道这个东西能否移植到Zune上。毕竟针对Zune的XNA都还是有所区别的。
第二种方式,就是我想到了,基于XNA的图形库,以及Zune版本的.NET CF,来实现一个Zune版本的WPF。这个不是天方夜谭,其实WPF已经出现在了.NET Micro里了,这里有一个示例,也是游戏。我截了个图,大家看一下.NET Micro的命名空间:
现在我们要做的就是把这个Tiny WPF移植到Zune上。
其实,还有第三种,就是微软推出可运行于Zune下的Silverlight版本(本质上和第二种类似)。
对于Zune UI Framework只是我个人的想法,要实现还需要不断的研究。
=============
最后说一下,对于想体验Zune游戏的朋友,买个Zune是必须的。如果你是MVP,应该可以在微软的商店买到(不过据说现在已经US Only了)。不过,现在淘宝上有工厂流出的次品(是外观有问题,功能没问题,配件无法确定是否正品),也比较便宜,700RMB,Zune 8G。我就是买的这个。
这里是我的Zune 8G(桃红色,没办法没有黑色了):
http://picasaweb.google.com/redmoon17/Temp/photo#5211209217067685458
http://picasaweb.google.com/redmoon17/Temp/photo#5211209262034293618