星期五, 五月 11, 2007

XNA GSE beta中的载入3D模型

今天我在查看XNA GSE beta文档是发现最开始的FAQ有这样一段话

How do I import complex 3D objects into my XNA Game?

The XNA Framework will provide a content pipeline to make it easy to get rich content (3D, 2D, sound, etc.) from content creation sources into a game. The XNA Framework Content Pipeline is a large feature; in an effort to make sure we provide a usable end-to-end experience, we have decided to hold back this feature from the beta release.

顿时觉得有不详预感,作为XNA大势鼓吹的Content Pipeline在我们现在手上的beta版本中还是hold back的。也就是说,XNA对于资源管理的很大一部分功能,我们现在还无法接触到,其中就包括3D模型的载入。我当时作一个最坏的猜测,基于directX的XNA,总应该可以载入XFile的吧。


在文档关于3d图形部分,我们看不到任何关于3D模型载入的部分,在API的文档里面,我也没有发现任何关于mesh管理的参考。

打开昨天编译的SpaceWar游戏,其中管理3D模型的类是工程里面的SimpleMesh,也就是说,这个并不属于XNA的一部分。到此,基本可以认为XNA根本还没有提供如何载入3D模型的方法。

我转到XNA GSE beta的官方论坛,里面有位老兄说到

Those are big words but it does mean nothing else than having to program all the mesh functionality and animated mesh functionality Managed Directx supported all by myself now?It confuses me a little because it was said that XNA takes away all that overhead programming stuff and gets you started writing your game without worrying about anything else.

So in the current version of the framework, is the only way to use “mesh” functionality to define a 3d file format (or use the already existing .x format for example) and then write an a tool that loads that data into a vertexbuffer and material- and texturelist which i then can use to render the whole thing?

原贴地址

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=686368&SiteID=1

他也发现,除非自己写3D文件的载入方法,XNA是没有办法读取任何3D文件的,就是XFile也不行。晕倒……

为了验证他的说法和我的猜测是否正确,我又仔细查看了SpaceWar游戏里面的模型载入方法,果然,在SimpleMesh类里面有载入模型的代码

public static SimpleMesh Load(string fileName)
{
Stream stream = File.OpenRead(fileName);
BinaryReader reader = new BinaryReader(stream);
SimpleMesh mesh = new SimpleMesh();
// Version
Version meshVersion = new Version(reader.ReadString());
if (meshVersion != SimpleMesh.Version)
{
throw new InvalidOperationException(”Mesh ‘” + fileName + “‘ has version ” + meshVersion.ToString() + “. Expected version ” + SimpleMesh.Version.ToString() + “.”);
}
// Source File mesh.SourceFile = reader.ReadString();
// TriangleCount mesh.TriangleCount = reader.ReadInt32();
// VertexSizeInBytes mesh.VertexSizeInBytes = reader.ReadInt32();
……
}
在SpaceWar中用到的模型文件为*.swm。很明显就是Space War Mesh的缩写,具体的文件结构是这样的

数据类型
描叙

string
1.0.0.0v,文件的版本号

string
源文件地址,保存了转换成*.swm文件前的全文件名

int32
文件中三角形的数量

int32
顶点的大小,以字节记

int32
顶点数量

string
顶点格式

int32
顶点集合数量


顶点集合数据
(我自己分析的,可能有纰漏)
Space War这个例子就完全是自己定义的3D数据文件格式,如果需要给这个游戏添加新的模型,需要参考上面的文件格式,并做一个工具将3d建模软件生成的模型文件转为*.swm文件。Space War是不能直接使用XFile文件的,当然,如果你打算自己写XFile文件的分析器,另当别论。
基本上这次算是大家被ms忽悠一下,就凭我们现在手头的XNA,开发一个3d游戏,比我们直接用directX SDK开发更麻烦。不过2d游戏方面,还是值得参考一下的,下篇我将对2d部分做一下介绍。

IMGUI教程

新的IMGUI教程发布在http://iki.fi/sol/imgui/
IMGUI是一个非常适合实时运行程序的用户界面程序,非常容易使用

APOCALYX v 0.8.9 发布

APOCALYX 是一个基于Lua的3D引擎,在最新的v0.8.9版本中增强的3D硬件加速方面的控制能力,可以使用高级Shader语言
其他的新增功能包括
完全支持 GLSL,
内建人工智能算法 (寻路, FSM, 等等),
简单的 TTS引擎

APOCALYX官方网站Apocalyx Sourceforge site.

XNA GSE beta上手

一 首先安装XNA需要的环境,包括
  • DirectX SDK 点击这里下载

  • Visual C# Express Edition(必须是Express Editon,其他版本比如Team Suite,professional都不行)
    点击这里下载Visual C# Express Edition英文版
    如果你已经安装了vs2005的其他正式版本,也可以安装,他们可以共存,但测试版不行。我和中国 XNA 研发小组群中的琅轩已经做过小白鼠了,可以放心安装。
    如果已经安装vs2005,在安装过程中将不能改变安装路径,如图

  • 一块支持DirectX9.0c 和Shader Model 2.0的显卡,否则无法运行编译后的程序。

二 创建第一个xna程序

  • 打开VC#,在File菜单里选New Project,出现new Project对话框,选择Windows Game(XNA),点击OK。



  • Ctrl+F5,如果没有发生错误,第一个XNA程序就编译完成并运行出来了

一个蓝色背景的窗口,而且不能被缩放
三 编译XNA自带的范例spacewar
XNA Game Studio Express里面自带一个例子,你可以很容易编译这个游戏


  • 打开VC#,在File菜单里选New Project,出现new Project对话框,选择Space War Starter Kit,点击OK。


  • Ctrl+F5,即可以看到游戏的标题画面



这个时候的游戏还不能控制,除非你有xbox 360的手柄。我们需要修改一下才可以用键盘来操作

  • 双击打开GamePadHelper.cs这个文件
将文件头的
// #define USE_KEYBOARD
改为
#define USE_KEYBOARD
Ctrl+F5,这个时候就可以用键盘来控制游戏了,在开始画面按B键进入Retro的版本
按Home回到开始画面,再按A键进入Evolved的3d版本
按Home回到开始画面,按X键进入信息画面



Vista 将支持全面支持OpenGL的玻璃效果

gamedev消息来源
Khronos在最近的发布的一则报告上面表明,Vista将原生支持OpenGL API。通过安装用户驱动(ICD),OpenGL将可以得到完全的硬件加速,并且完全兼容Windows Vista的玻璃透明效果。Khronos还声称当Vista发布时,玻璃透明效果在OpenGL上的效果将会比Direct3D的更好。
此前的7月31号,Khronos宣布接管了OpenGL 规范的定制,相关链接http://www……_khronos_group/

Garage Games 展示基于XNA的Torque引擎

来自gamedev.net的消息,August 15, 2006 8:55:52 AM
2006年8月14号,GarageGames,业内领先的独立开发游戏引擎提供商,宣布发布Torque X引擎.包括新一代的Torque游戏引擎和基于XNA游戏开发平台的工具.这次发布和微软的公告表明XNA Game Studio Express将在这个暑期正式可用.
XNA Game Studio Express 可以让用户通过managed c#开发游戏,并且同时可以在windows PC和零售的Xbox360游戏机上运行.GarageGames的Torque 游戏开发包工具被很多商业化的游戏工作室,独立开发者和游戏爱好者使用,在全球100多所大学和学校里面的游戏开发课程中都有用到.Torque X室GarageGames Torque技术到C#的移植,可以运行在XNA平台上.Torque X是一个全功能的2d,3d游戏引擎,支持Torque游戏构建器里使用的直观的编辑器,还有曾获奖的Torque引擎的shader发生系统,对美术人员非常友好.
在西雅图今天微软主持的Gamefest的展示上面,GarageGames总裁Mark Frohnmayer展示了Torque开发包,展示了Xbox 360 Live上的街街大作Marble Blast Ultra,运行在XNA平台上.”今天,微软公司跨出了革命性的一步,让游戏爱好者和学生们都可以创作新一代游戏机上面的游戏”Frohnmayer先生说”让XNA Game Studio Express和我们的工具连接起来,为每个有创新和动力的人提供快速和容易的解决方案,让他们可以为Windows和Xbox360开发游戏,没有什么可以比这更让人高兴的了”

星期三, 四月 25, 2007

XNA Game Studio Express 1.0 全新出炉


XNA Game Studio Express 1.0 Refresh已经开放下载
这个版本将有很好的兼容性



  • 你可以将原来1.0版本的内容不加修改的在1.0 Refresh上面编译成功

  • 已经编译好的游戏将可以正常的在安装了1.0 Refresh上面运行

  • 你可以在windows上面使用1.0而Xbox 360上面使用1.0 Refresh

  • 用1.0 Refresh编译的游戏将可以在1.0平台上运行,不过要是使用了新的函数,可能工作不正常

详情见XNA team blog

星期五, 四月 06, 2007

关于目标的游戏引擎

http://tech.sina.com.cn/it/2007-03-26/16451433553.shtml

这条新闻报道了目标进军游戏引擎,好大的气势。目标一直以来还算是我心里面觉得不错的国内游戏公司,连orchild也曾经提过他愿意去这个公司。不过这篇报道看完,让我不得不感慨。
据目标软件副总裁、引擎开发负责人毛海滨介绍,作为成熟的中间件平台,奥世游戏引擎包括游戏开发环境、网络运营平台两部分,前者包括游戏引擎、配套工具、项目管理系统、Mantis Bug跟踪系统等等
Mantis Bug系统什么时候变目标的了?
值得一提的是,奥世平台中还嵌套了强大的物理加速技术,该技术由目标软件的合作伙伴美国AGEIA公司开发
物理引擎也不是自己的。。。。。。

后面也不想看了,会有更多叹气的

精品游戏开发书籍--英文为主

下载链接http://lib.verycd.com/2005/03/26/0000043657.html

Introduction.To.Direct3D9中文版(翁云兵版).rar 8.9MB
#策划#The.art.of.computer.game.design.pdf 381.8KB
#策划#Game.Development.and.Production.pdf 6.4MB
#策划#Game.Design.-.Theory.and.Practice.pdf 34.6MB
#策划#Creating.Emotion.In.Games.The.Craft.And.Art.Of.Emotioneering.Ebook-Lib.pdf 28.5MB
#策划#Chris.Crawford.On.Game.Design.chm 2.2MB
#策划#Andrew.Rollings.And.Ernest.Adams.On.Game.Design.chm 8.4MB
[Scan]-游戏之旅-我的编程感悟.pdf 36.1MB
向量在游戏中的应用——Vector.Game.Math.Processors.pdf 8.1MB
游戏和图形学的3D数学入门教程-3D.Math.Primer.for.graphics.and.game.development.pdf 22.1MB
游戏开发中应用的数学和物理入门教程-Beginning.Math.and.Physics.For.Game.Programmers.pdf 44.5MB
UI制作入门.doc 48.0KB
[精品游戏开发书籍--英文为主].WinMPQ.zip 180.9KB
WOW插件制作指南.pdf 245.7KB
[精品游戏开发书籍--英文为主].CustomInterfaceKit.zip 1.3MB
WOW魔兽世界的APIs.pdf 467.2KB
学习3D模型-Focus.On.3D.Models.pdf 10.8MB
用DirectX编写RPG游戏-Programming.Role.Playing.Games.with.DirectX.rar 33.1MB
游戏开发大全-game.programming.all.in.one.pdf 26.5MB
用PHP语言设计游戏-PHP.Game.Programming.pdf 5.3MB
用Python,Lua和Ruby语言设计游戏-Game.Programming.with.Python.Lua.And.Ruby.pdf 22.2MB
游戏音频程序设计-Beginning.Game.Audio.Programming.rar 21.5MB
Direct3D游戏开发入门教程-Beginning.Direct3D.Game.Programming.rar 7.6MB
3D游戏设计大全-3D.Game.Programming.All.In.One.pdf 17.0MB
DirectX的实时渲染技巧于技术-Real-time.Rendering.Tricks.and.Techniques.in.DirectX.pdf 46.7MB
学习3D中的地形focus.on.3D.terrain.pdf 10.7MB
游戏开发特殊技巧-special.effects.game.programming.rar 126.6MB
DirectX9入门教程-[Beginning.DirectX9][EN].pdf 5.1MB
游戏开发人工智能技术-AI.Techniques.for.Game.Programming.rar 10.1MB
游戏开发图形学-Shaders.for.Game.Programmers.and.Artists.pdf 10.5MB
用DirectX制作高级动画-[Advanced.Animation.with.DirectX].rar 24.2MB
游戏艺术中的2D图形和3D模型-2D.Artwork.and.3D.Modeling.for.Game.Artists.pdf 45.4MB
3D游戏引擎编程-3D.Game.Engine.Programming.pdf 265.2MB
Palm.手掌电脑操作系统游戏设计-Palm.OS.Game.Programming.pdf 27.1MB
游戏教本设计完全掌握-Game.Scripting.Mastery.pdf 52.0MB
青年人游戏的艺术-Game.Art.for.Teens.pdf 34.6MB
学习Direct3D中的2D-Focus.On.2D.in.Direct3D.-.fly.pdf 5.6MB
OpenGL游戏设计入门-Beginning.OpenGL.Game.Programming.ebook.pdf 47.0MB
苹果电脑游戏设计Mac.Game.Programming[EN].pdf 33.7MB
游戏开发数据结构-Data.Structures.for.Game.Programmers.rar

星期二, 三月 06, 2007

转载:微软游戏开发竞赛开幕 总奖金4万美元

转载自http://games.enet.com.cn/article/A0220070305016.html

在今天的GDC 2007游戏开发大会上,微软与Intel同时宣布了各自的游戏开发竞赛,其中微软的称为“Dream-Build-Play”,总奖金高达4万美元,而且冠军的作品还能发布在Xbox Live Arcade上。  “Dream-Build-Play”的工具是微软去年12月针对业余创作者推出的游戏开发套件“XNA Game Studio Express”,包括GarageGames Torque X平台。这是一项全球性赛事,任何对Xbox 360平台游戏感兴趣的开发人员都可以免费参加,时间截至2007年7月2日。  20多名胜利者将在8月13日西雅图的微软Gamefest 2007大会上揭晓。他们将分享微软、Alienware、AMD、Autodesk、Softimage提供的总计价值4多万美元的大奖,其中冠军奖金1万美元,而且其作品会赢得Xbox Live Arcade发布合同,可以在Xbox Live上展示给广大玩家。  赛事细节和参赛需知可参考竞赛官方网站:http://www.dreambuildplay.com

星期一, 三月 05, 2007

Game for Windows live beta开发注册申请



Game for Windows live将使得PC玩家和XBox玩家一同游戏。

通过xbox live平台和windows live的对接,这2个不同平台的玩家将可以同场竞技。注册的时候会要你的windows live ID,还要回答一个简单的调查问卷,其中有询问你是否有xbox live 帐号,我没有,不知道是不是会影响申请成功。

有兴趣参加的朋友抓紧申请吧!我已经完成申请,静待佳音:)

星期日, 二月 25, 2007

基于DirectX 10的游戏开发工具


这是这个开发工具的官方网站http://www.fpscreatorx10.com/
通过这个工具,你可以不需要很高深的编程经验,也可以开发基于directx10的绚丽FPS游戏,不过,你需要vista和GeForce 8800显卡!

星期三, 二月 14, 2007

Dream Build Play的XNA游戏开发竞赛



Dream build play发起了一次XNA的开发竞赛,前5名可以得到500美金的奖励,这个比赛将是全球范围的。

比赛的要求很简单,只要是使用Spacewar Starter Kit的内容,随便是用到了源代码还是资源,或者同时用了两者,并且使用XNA Game Express开发的就可以了。

比赛的截至日期是2007年2月28日。要参加的抓紧时间了,不过错过了也没有关系,这只是一系列比赛的最开始。

星期五, 二月 09, 2007

如何在vista下面运行XNA express


Vista已经发布近2个星期了,很多软件都有不兼容的问题,xna也不例外。
目前现在已经有人成功的实验了如何让xna在vista下面运行了,注意,这不是微软的官方消息,并不保证有任何技术支持。

http://letskilldave.com/archive/2007/02/08/Getting-XNA-Game-Studio-Express-to-run-in-Windows-Vista.aspx

星期四, 二月 08, 2007

EA宣布夺得首款1080p XBOX 360游戏桂冠





昨天才得到SEGA的消息将发布支持1080p的Virtua Tennis 3。今天EA立即发表最新消息,本月 20日,NBA Street Homecourt将发布,这将是最早上市的1080p游戏,同样,NBA Street Homecourt也支持XBOX Live多人对战。PS3 的版本将在之后的2个星期,3月6日发布。


玩家们,买新电视去吧!

星期三, 二月 07, 2007




近期世嘉宣布其正在开发的Virtua Tennis 3游戏将是第一款XBOX 360平台上支持1080p的游戏。此前,2006年10月的时候,微软通过XBOX Live更新使得XBOX 360支持1080p游戏和电影,但是一直没有支持1080p的游戏出现,Virtua Tennis 3将是第一款。


世嘉的游戏创意总监Matt Woodley还说Virtua Tennis 3的XBOX 360版本将是全新的一代网球游戏,世嘉不仅要制作非常好玩的游戏,而且会运用XBOX360上最先进的技术。


同时,Virtua Tennis 3的PS3版本也将支持1080p,世嘉的发言人表示,他们将尽力保证不同平台上有完全不同的游戏体验,在XBOX上将支持XBOX Live,而PS3上将支持独有的高精度高速6轴感应系统。


对于游戏玩家来说,更新1080p的电视可能是目前最重要的了,现在虽然大屏幕液晶电视天天降价,不过支持1080p的还是不多,买电视可要看好了,1080p!!!


作为游戏开发者,3D游戏开发的门口将更加高了。越高的分辨率意味着越高精度的模型,程序也需要更加优化,对3D美术和程序员的要求将更高。

星期二, 二月 06, 2007




这个日本网站上的视频是用XNA制作的,画面相当精美,日文我不懂,大概感觉直接从managed directX 移植过来的,可以在XBOX 360上运行。

国内的视频。。。。。。好像目前还没有基于XNA的比较震撼的出现,加油吧,国内的开发者。

星期一, 二月 05, 2007

Google code是google的开源网站,类似于sourceforge.net,以前好像不支持个人随便开始项目,不过现在已经完全可以啦




















有一个基于XNA的FC模拟器项目就架设在这个网站上
xnasharpnes
这个项目并不是从头开发,主要是基于一个叫SharpNES 的开源项目,仅仅是转而用XNA实现而已
目前这个模拟器使用起来并不方便,你需要一个Creator club的帐号(99美元一年或者49美元4个月)
另外,在调试模式下,仅能以正常游戏的60%-70%的速度运行游戏,在XBOX360上则可以全速运行。

现在看了网上很多关于这个的中文报道,翻译实在是不尽人意,完全错误理解了原作者的意思,甚至说这个模拟器就是收费项目。希望正真关心XNA的朋友还是去原网站看个明白。

星期三, 一月 31, 2007



最近打算重新开始拾起XNA,组建虚拟团队的问题又重新凸显出来,下面的图片是摘自


http://www.lifegrowing.com/danny/catalog.asp?tags=%E5%9B%A2%E9%98%9F%E5%8D%8F%E4%BD%9C


觉得这个图里面总结的不错,只是xnacn.com的朋友们还不习惯mail-list这样的合作方式,团队建设还真是要很多功夫的啊