星期四, 十二月 13, 2007

Virtualized Graphics Device (In XNA)


在XNA2.0当中,显示设备也被虚拟化了,很抽象的概念吧?看看后面的解释就知道了。


在XNA1.0当中


在游戏启动的时候,XNA框架将调用LoadGraphicsContent(true),通知你把所有的纹理,顶点缓冲,渲染对象创建好,。如果游戏中运行当中在全屏模式和窗口模式中来回切换,或者其他的程序需要占用显示设备,我们将丢失设备,所有的Draw操作就将不可用执行,当游戏重新获得窗口的时候,有的资源将变得无效,例如,ResourceManagementMode.Manual的纹理和顶点缓冲,渲染对象都将无效,普通的纹理和顶点缓冲还有特效(effect)仍然有效。在这样的时候,xna框架将调用LoadGraphicsContent(false),通知游戏需要重新载入资源,尽管还有一些是有效的。


在XNA2.0当中


所以和显示设备相关联的对象都永远保持有效,而LoadGraphicsContent函数仅仅在游戏启动时会被执行一次。你不需要时刻关心游戏时候仍然独占显卡,关心什么时候应该去重新载入资源,这一切工作XNA2.0框架都将替你代劳


在XBox360当中


根本没有必要考虑这个问题,因为游戏机是单任务的,不会有丢失设备的问题


好了,现在可以说最开始的问题了,所谓的虚拟化,就是显示设备对于游戏程序来说已经是永远可用的了。显然实际上并不是这样,但在XNA2.0的包装下,游戏访问的是一个虚拟的显示设备,它是永远可用的,原来写程序时候需要时刻关心的设备丢失问题已经被XNA2.0帮你处理好了。


星期四, 八月 23, 2007

对十亿人撒谎


最近又看到一些无聊新闻,所谓的18岁CEO张伯宏,这里是它的Blog,新闻里面报道他仅是初中毕业,就当了上海天实网络的CEO,做网络游戏。天呐,游戏业就这么好侮辱的吗?这个天实网络公司,网站都找不到,还可以给这个CEO 7位工资,太牛了。看这小毛孩的Blog,就是一个二流子说话口气!


新闻结束不免拿李想等等出来溜溜,还有那个创智赢家的陈曦。唉,又是和网络有关。那个陈曦的什么手机游戏公司,再哪里啊?大家搜搜畅网科技,就新浪有,几个小游戏,下载地址都没有,评论全部是枪文,公司网址www.cmfone.com从来就上不去。网站的编辑啊,能不能哪天把这些也炒炒,给这些误导社会价值取向的人一些曝光?现在凡是就拿什么80后来说,说就说好了,能不能有选择有验证的啊,另外,请不要侮辱游戏业!


星期三, 八月 22, 2007

中国选手xna开发比赛获奖游戏截图


北京选手作品截图





上海选手截图









Technorati :

星期三, 八月 15, 2007

新的关于XNA的电子书


老外好像都很能写书,不得不佩服,可能这是老外表达自己研究的一种方式,其实蛮好,利己利人。


下载地址http://www.robmiles.com/xna-book-downloads/


如果你打不开,请使用Tor穿墙或者用这个代理www.aaaproxy.com。搞不明白为什么这个也会撞墙。


微软发布XNA Game Studio 2.0


xna logo


新特性



  • 支持所有版本的VS2005(这个我喜欢,不用再去特别安装Express版了)

  • 利用新的网络Networking API创建多人Xbox Live游戏

  • 新的XACT编辑器

  • 支持Mutiple render targets


不过要今年晚些时候才可以下载到这个版本。


星期六, 六月 16, 2007

FX Composer 2 Beta 3发布



Key Features of FX Composer 2





  • Cross-Platform Support




    • DirectX 9 and OpenGL


    • HLSL, COLLADA FX Cg, CgFX shading languages


  • User-Friendly Shader Authoring




    • Shader Creation Wizard with templates


    • Full-featured Code Editor




      • Code folding for functions, techniques and passes


      • Tab stop display


      • Line number display


      • External file modification monitoring


      • Jump-to-include files


    • Properties panel for tweaking shader parameters




      • High dynamic range color picker


    • Material panel for managing materials




      • Display of per-material textures


      • Tone mapping for per-material textures


    • Easy material creation and management interface


    • Hundreds of sample shaders




      • NVIDIA Shader Library integration


      • Sample projects ranging from simple to complex


    • Advanced scene manipulation




      • Create and manipulate basic geometric shapes, lights, and cameras


      • Import .3ds, .fbx, .dae, .x, .obj files


      • Drag-and-drop light binding


      • Drag-and-drop texture binding


      • Skinning and animation


    • Texture Viewer




      • Support for .dds, .jpg, .bmp, .png, .tif


      • Drag-and-drop textures onto object materials


    • mental mill™ Artist Edition




      • Artist-friendly visual shader authoring


      • Ability to export to FX Composer via CgFX and HLSL


    • Convenient Start Page




      • Recent projects


      • Quick Start Tutorial


      • Quick links to User Guide and other useful documentation


      • Single-click access to open effects and create new ones


      • Single-click access to open COLLADA documents


    • Integrated Shader Performance Tuning via NVIDIA ShaderPerf 2.0




      • Support for CgFX, COLLADA FX, and HLSL shaders


      • Compare shader techniques across multiple GPUs


      • View data in tables or graphs


      • See shader throughput, register usage, instruction counts, and branching performance


    • Convenient Pipeline Integration Features




      • Semantic and Annotation remapping


      • Advanced Scripting Support




        • Full Python scripting


        • Custom toolbar for scripting support


      • Extensible plug-in Architecture with SDK


    • Complete COLLADA support




      • Project and Asset Management (Project Explorer and Library Viewer)




        • Author COLLADA assets


        • Create and remove COLLADA documents


        • Move, delete, and copy COLLADA assets across COLLADA documents


        • View COLLADA assets by category


      • COLLADA format support




        • Material Instance Scene Binding


        • Material Instance Vertex Binding


        • Skinning


        • Triangulation with holes


        • Support for rendering COMMON Profiles


        • Vertex Stream Remapper


      • Conversion of CgFX to COLLADA FX Cg


    • Comprehensive Undo/Redo support


    • Comprehensive Documentation




      • User Guide


      • Quick Tutorial

星期一, 六月 11, 2007

Gamasutra的Podcast

最近一直听CNN的podcast,虽然是比较专业的新闻制作,但是大多是关于美国的各种乱七八糟事情,不太感冒。今天早上上网翻了一下,发现了Gamasutra也有免费的podcast,立即加入Juice的subscript,在这里和大家分享。
http://feeds.feedburner.com/GDCRadio
在Gamasutra网站也有很多关于GDC的podcast,不过都是要收费的。

星期日, 六月 03, 2007

英国的XNA爱好者组织游戏开发竞赛


这里是官方网站
http://xna-uk.net/content/competition.aspx
英国的XNA爱好者组织了一项游戏开发竞赛,仅对本国居民并且是XNA UK Group成员的爱好者开放,奖金达5000英镑,这次竞赛是有微软官方支持的。
看了新闻,我在想,什么时候我们国家也可以有这样的活动,也可以得到微软支持吗?是否我能去找微软谈?周围朋友有愿意做这个事情并有能力做这个事情的人吗?

星期四, 五月 31, 2007

在Vista上安装XNA Game Studio Express 1.0 Refresh

XNA GSE 1.0 Refresh发布已经有好一段时间了,一直没有去摆弄,今天有点时间就在我的Vista机器上装上了试试。我的操作系统是英文版的Vista Ultimate

首先,需要安装VC# Express,很多朋友机器上可能已经安装了VS2005,没有关系,VC# Express完全不影响VS2005,我的机器就是之前就安装了VS2005,装好后VC#并没有在任何地方添加快捷方式,需要到C:\Program Files\Microsoft Visual Studio 8\Common7\IDE下手动为VCSExpress.exe添加快捷方式到桌面,方便以后启动VC#。

接着需要安装VS Express SP1,这里是下载地址http://www.microsoft.com/downloads/details.aspx?familyid=7b0b0339-613a-46e6-ab4d-080d4d4a8c4e&displaylang=en
只要下载第3个安装就可以。下好后安装之。

1.0 Refresh的Readme中说需要去注册VC#,就是打开VC#后,在Help菜单下选择Register Product...,我去注册了,也收到邮件了,但是收到的邮件里面只是一些相关链接,最终我也没有弄明白什么样算把VC#注册成功(如果你注册成功了,请也告诉我方法,我的邮箱ledwinka@gmail.com)。不管它,启动一次VC#,再关闭,记住,这很重要,必须运行一次再安装XNA GSE。

现在就可以开始安装XNA GSE 1.0 Refresh了,一切顺利,next到底。

再启动VC#,新建工程,可以看到有几个新的工程选项,Window Game,windows Game library,Xbox 360 Game,Xbox 360 Game library,SpaceWar windows starter Kit,SpaceWar Xbox 360 starter Kit。新建一个SpaceWar windows starter Kit项目,ctrl+F5,看到熟悉的Spacewar啦,Xbox 360的我没有试过,有机器的同学可以试试啊。这个Spacerwar不需要修改任何代码就可以使用键盘操作了,比以前的XNA GSE beta方便多了。

星期五, 五月 25, 2007

关于搜索引擎

How to become an MVP

这个是一个老外MVP的blog,很赞同他的观点,大多数的人仅仅是懒得用搜索引擎去查找他们需要的问题答案,论坛里面可以非常方便提问再等人回答。

如果想真的研究什么东西,勤劳点使用搜索引擎吧

星期四, 五月 24, 2007

XNA GSE入门(七)不写代码,制作粒子效果

利用Mercury Particle 引擎中的粒子GameComponent,我们可以很快的制作跟随鼠标的粒子效果。
先去Mercury Particle Engine的网站下载源码,解压缩开。然后新建一个XNA工程,在解决方案中把Mercury的工程添加进来。

切换到Game的设计窗口,在toolbox中拖出来3个组件,分别是Mouse Controller,Particle System,Spray Emitter,

选择Mouse Controller1,在它的属性窗口中,把ControlledEmitter选成sprayEmitter1


选择Spay Emitter1,在它是属性窗口中,把Particle System属性设置成ParticleSystem1,AutoTrigger设置成True,将FinalColor设置成Cyan,将AutoTriggerFrequency设置成10

Ctrl+F5,运行游戏,移动鼠标




XNA GSE入门(六)让GameComponent的属性可视化

上一次说过了可以制作GameComponent实现代码的共享,重用。我们制作好的GameComponent可以直接从toolbox中拖拽到游戏中,而不编写任何代码。

如果某个GameComponent有的属性需要让用户可以通过属性窗口更改,可以在属性前添加如下代码 private int myVar; /// /// Gets or sets the initial myVar /// [Category(”Misc”)] [Description(”init myVar “)] [DefaultValue(0)] public int MyProperty { get { return myVar; } set { myVar = value; } }这样就可以在属性窗口中修改myVar这个属性的值了

补漏:需要在TestComponent.cs文件开始的地方加入 using System.ComponentModel;
才可以正常使用

UBI大量未发布的游戏资源泄露


大量没有发布的游戏的截屏,图标,演示动画被泄露在因特网上,包括很多Far Cry和Splite Cell的新作,下面是涉及到的游戏的名单
Far Cry 2
Far Cry PSP
Far Cry Wii
Lost
Naruto 360
Open Season
Prince of Persia 4
Rainbow 6: Vegas
Rocky PSP
Splinter Cell Conviction
Surf’s Up
Star Wars PSP
Shaun White Snowboarding
Teenage Mutant Ninja Turtles GBA
这个是UBI今年第二次发生类似事件了,今年3月份,一份开发计划被泄露,包括了很多当时未发行的游戏的制作发行计划。

XNA GSE入门(五) GameComponent

GameComponent是什么?
GameComponent在XNA中是实现可视化游戏编程的一个重要方式。从概念上说,GameComponent应该算是一种编程模式,只要按这种模式写出来的代码,就可以在其他XNA项目中重用。这种编程模式非常利于代码的分享,这和XNA定位于免费发放给游戏爱好者是相关的。
GameComponent有什么用?
任何一个GameComponent都派生于GameComponent 类,GameComponent类有3个函数可以覆盖(override)
Draw 添加新的绘图代码
Update 添加逻辑更新的代码
Start 添加在游戏初始化时候需要运行的代码

在VC# 2005 EE里面,我们可以通过选择Project->Add New Item添加新的GameComponent,并且向导会为我们生成这3个函数的覆盖(override)代码
Game类里面的DrawComponent函数会依次调用每一个注册过的GameComponent的Draw函数。UpdateComponent则调用注册过的GameComponent的Update函数。在一个Game类里面注册GameComponent,要通过调用Game 类成员变量GameComponents的Add函数,GameComponents是一个GameComponentsCollection的对象。例如:
this.GameComponents.Add(this.testComponent);


GameComponent一般用来封装一些用户操作,也可以用来管理用户界面,比如在3D游戏中对第一人称摄像机的控制代码封装在一个GameComponent中,那么其他人需要实现一个FPS游戏就可以直接用了,如果将一些GameComponent做成dll发布,并将这些GameComponent添加到ToolBox里面,还可以实现可视化的编程。也可以将GameComponent作为游戏中的对象,比如一个游戏中的3d人物,把3d人物更新代码和绘制代码都放入一个GameComponent。不过这种用法我觉得是不可取的,因为这已经失去GameComponent类设计本意了。目前老外已经发布了一些好用了GameComponent了,大家有兴趣可以收集来做备用。如果你写出来也个好用的GameComponent,也请和大家分享。我觉得很有可能以后有专门收集XNA GameComponent的网站:)

XNA GSE入门(四) 输入设备

输入设备的种类
XNA GSE支持三类输入设备,键盘,鼠标和Xbox360的手柄,前两者是在PC上支持的,而后两者在Xbox360上支持。
XNA将输入的内容分为两类,一种是模拟的,输入的内容是有一定数值范围。一种是数字的,只有2种状态,0和1。这并不是说某一个设备就一定是模拟的或者数字的,比如说鼠标,即有数字的输入,比如左右键的状态作为输入;又有模拟的输入,比如滚轮的位置和指针的位置。具体的内容参见XNA文档里面的列表
Input Device
Digital Buttons
Analog Controls
Vibration Effects
Supported on Windows
Supported on Xbox 360
Number Allowed on System
Xbox 360 Controller
14
4
Yes
Yes
Yes
4
Keyboard
> 100
0
No
Yes
Yes
1
Mouse
2
2
No
Yes
No
1
我们可以看到,出了键盘是完全数字的,其他两种都同时包含数字输入和模拟输入。列表中的最后一栏表示支持同时使用设备的数量,手柄可以同时用4个。也就是说,我们最多可以开发4人在同一台机器上操作的游戏。
输入内容的获取XNA的输入部分应该是封装了Direct Input的接口而来的。操作方式和Direct Input的非常类似,通过调用函数查询设备状态时,就是给输入设备拍一次快照,将结果保存在一个结构中,然后游戏根据保存的数据将用户的交互传递给游戏引擎。取得设备状态的静态类主要有Mouse,Keyboard,Gamepad,它们提供访问设备的方法;对应的状态类,保存状态数据和对状态数据做一些基本操作MouseState,KeyboardState,GamepadState。
键盘
KeyboardState类用来保存键盘状态,通过调用Keyboard类的静态函数GetState获得当前键盘状态
例如:KeyboardState currentState = Keyboard.GetState();
测试某个键是否按下currentState .IsKeyDown(Keys.A); 测试某个键是否是松开currentState .IsKeyUp(Keys.A); 取得哪些键是按下的Keys[] keys = currentState ..GetPressedKeys();由于这样一种查询的方式,我们如果要知道这一帧哪个见被按下,就需要做一些额外的工作,而不能像在windows下那么直接去捕获WM_KEYDOWN或者WM_KEYUP,文档中的例子刚好解决了这个问题。

鼠标
和键盘基本一样
例如:MouseState mousestate = Mouse.GetState();
取得鼠标位置 int x = mousestate.X
取得按键状态 ButtonState buttonstate = mousestate. LeftButton;
Xbox360手柄
取得按键状态和键盘鼠标基本一样,具体参见文档。和它们不一样的是,手柄需要可以是否连接上
GamepadState. IsConnected用来表示设备是否连上。不过记住,这个只是一个设备快照,要实时监控手柄是否连上,需要不断调用Gamepad.GetState查询。

游戏引擎列表

Engines
_AI Engine
BioGraphic Technologies - Advanced AI for Games, Animation and Simulation
FEAR — Foundations for Genuine Game AI
OpenSteer
_Net Engine
Rakkarsoft
Gamewiz
Arkhart — Arkhart
The ADAPTIVE Communication Environment (ACE)
enet
Hawk Software - HawkNL (Hawk Network Library)
www.lonesock.net - _The_ home for stuff
OpenTNL
_Physics Engine
Open Dynamics Engine - ODE
Tokamak Game Physics SDK
NovodeX - game development technology
Newton Game Dynamics
OPCODE
Antics by Kelseus
meqon – physics engine middleware for games and VR – Naturally Realistic
EZPhysics - Home
2D Engine
Tile Studio
The Scrolling Game Development Kit Homepage
OpenRPG Online Virtual Tabletop
SxDL Game Development Toolkit Latest News
Explorations 32bit (Official Home Page)
Cyberjoueurs.com Corporate Center
YOV408 Technologies - Projects
CDX Library
Game Maker Pages
Game Maker Games Home
Features
BYOND Games!
OHRRPGCE - News
Planet ZZT++
z2
The CImg Library - C++ Template Image Processing Library
Allegro.cc - Main
The SDL Archives
g2 graphical library
libAfterImage Imaging Library.
http–www.artofcode.com-libart.html
ImageMagick - Convert, Edit, and Compose Images
ClanLib - ClanLib Game SDK
DXGame Engine For Visual Basic - 2D Game Engine For Visual Basic - Program your own games using Visual Basic - The 2D Arcade Game Engine For Visual Basic
Wiz2D Game Engine
Haaf’s Game Engine - Hardware accelerated 2D game engine
Developer’s Lair
The Game Development Search Engine
Game engine for Mac os X and Win 32
crowsoft.net
Intro Page
Grim 2D API - hardware accelerated 2D graphics
freedesktop.org
Jarrod Davis Software
GemRB Infinity Engine Emulator Your personalized Infinity Engine Emulator
Official OpenGUI home page
K-werkx 2d REALBasic Game Engine Source Distribution - K-werkx Inc. Download Center
SciTech Software, Inc - Better Ideas, Open Solutions.
SourceForge.net- Project Info - engine testbed
Chunked LOD
New Virtual U - Home
Adventure Game Studio
Eclipse 2D Game Engine
OpenPTC
The Demo Effects Collection
Visual Effects Engine - VEE
SpriteWorld 3.0
OpenPTC vs. TinyPTC
isometric
IsometriX project - free isometric engine
PPTactical Engine
Other
HZ - a real-time action strategy engine
Links
Ultimate 3D Links - 3D Programming DirectX
Pcvelocity.com Computer Help Forum
WEB-GEEK.COM Computers Programming Games Libraries
Online
Quazal Multiplayer Connectivity
The VERGE game creation system free games since 1997.
The Cycon Online Gaming (COG) Engine
The Lost Realm of Anoria
. Sekoya etc. . Open-Source Game Dev.
Crossfire - The Multiplayer Adventure Game
Daimonin MMORPG
Underworld - Free Online Multiplayer Game
Ovorp The Worlds Most Powerful 2D Game Engien
Shadow Worlds Bruderschaft der Schwerter
BYOND Games!
3D Engine
- 2003 GameDev Vault
.. Auran Jet ..
3D Engines List
3DGE v2.2 - The Original Twilight 3D Engine
4D Rulers AMP 3D Engine
A6 Editions Table
AMP 2 Engine Demo
Aztica.Com
Crystal Space 3D
Crytek.com
Curriculum Vitae of Arnout van der Kamp
Cyberjoueurs.com Corporate Center
DarkBASIC Professional - Home
Fairy Engine’s Page
Flat Four Engine
Fly3D.com.br
FreeCraft - A free real-time strategy game engine
freshmeat.net Welcome to freshmeat.net
Game Programming, Easy 3D Development Engine
gameSpace - 3D game tools
GDSE - The Game Programming and Design Search Engine
Genesis3D Open Source Engine
http–alias25.cfxweb.net-
Jet3D
JTGame - 3D Game Framework for DirectX - Introduction
Nebula - WebHome
NeHe Productions Main Page
NeoEngine
OGRE Object-oriented Graphics Rendering Engine
Opus System Solutions Hosting Network Design Web Page Design Hardware Solutions
Panard Vision Realtime 3D Engine
Paralelo
Particle Systems API
PathEngine home
PLIB A Portable Games Library.
QSDK Administrative Authentication
Qube Software
Radon Labs GmbH Berlin Homepage
Radon Labs Homepage
Real-Time Rendering Resources
Real.com - Guide - Games
Reality Factory Open Source Project
RealNetworks.com - Request for RADS
Relic Developers Network
Revolution3D Graphics Engine
S.T.A.L.K.E.R. - X-Ray Engine
S2Games
SeriousEngine.com - Main - WebHome
SilverBack Technologies - IT monitoring software solutions
SourceForge.net Project Info - OGRE (O-O Graphics Rendering Engine)
SourceForge.net Project Info - The Nebula Device
Synaptic Soup - News
The Engine Software Homepage
TrueVision3D When you have a clear picture, you have TrueVision3D
UDN - Main - WebHome
Ultrafast DirectX 3D Game Five Elements Masters Ultrafish 3D Tic Tac Toe
V3X - 3D ENGINE - Realtech-vr.com
Vulpine GmbH
Welcome to RenderWare
Welcome! - Quest3D
Nolf Girl - The Ultimate Nolf Site - @ NEW Server!
Axiom A free, open source C# 3D game engine for the Microsoft.Net platform
Nevrax.org home
Powered By Unreal Technology
Delgine Project
http–www.cyberloonies.com-game-engines.html
codecult - the realtime company
Hawk Software - HawkNL (Hawk Network Library)
cfxweb
open source
Irrlicht Engine - A free open source 3d engine
Definition of Game engine - wordIQ Dictionary & Encyclopedia
Devlib Central
OpenGEL’s Website Site Web d’OpenGEL version 2.0
Agency9 AgentFX 2 - 3D-engine
3D 3DSTATE
Gamebryo.com ~ Home
Zona - The complete MMOG Network Solution
Free Graphics Libraries, 3D-2D Engines, Image Drawing, Animation Source Code (thefreecountry.com)
Ovorp The Worlds Most Powerful 2D Game Engien
WikiNeL - Main.HomePage
CMLabs Simulations Welcome to CMLabs
Xeonx Studios Home of RealmForge, the open-source game development framework for Mono-C#
Source Licensing
DESGRAFF multimedia
kjAPI Home Page - Redirect by ulimit.com
Welcome to V3X.NET - 3D ENGINE
Game Physics Downloads
Welcome to MAXON - 3D for the real world
Panda3D Home
Reality Factory Game Creation Suite
WXP - The Whole Experience - Xbox Game Developers
The New Phantom Cyberspace 3D
GL Excess - The OpenGL Demo
TVDN Online Help
Visual Effects Engine - VEE
3D Object Converter
Aurora Interactive Aurora 3D Rendering Engine
OpenSceneGraph - the high peformance open source graphics toolkit
Prototype 3D Engine for Game Programming and Multimedia development.
Mythic Perspective
kjAPI - 3D GAME C++ API
http–www.ssassh.com
The Official Blitz Website
Magic Software
Titan Project
..– Auran Jet –..
Sylphis 3D Developer Network -
Ca3DE - Carsten’s 3D Engine - A high-quality, extensible, real-time 3D graphics engine with multi-player network support
Artificial Studios & Reality Engine
Soular Souls - X-VP Homepage
BuNg- 3D Game Engine
http—zengine.gotdns.com-
.- IrrlichtNX - Startpage -.
A U R A N . C O M
Gryps Engine
Bieh Software
The Omicron Engine Project
http—www.crack.com-golgotha-
Tanzanite TechNature
PC Game Programming
ELDERMAGE.COM - Your Internet Resource for music lyrics, sports, fun and online casino gambling
Link Portal to GizmoSDK (GizmoBase,Gizmo3D)
QBism Game Engine
SyFlex - The Cloth Simulator
ShaderWorks.com
Cal3d - Character Animation Library
Agency9 — AgentFX™ 2
Arkham Development
Eternity 3D Engine — home
Insanity3D - technology behind games
Virtools, The Behavior Company
OPCODE
The Yake Engine
physics
PC Game Programming
Tokamak Game Physics SDK
NeL
nel-all Archives
mtp-target
Shadows of Arborlon A Massively Multiplayer Online Role Playing Game
NeL - Summary [Savannah]
Index of -download-cvs
NeL - CVS [Savannah]
Gryps Engine
Unreal
Unreal Technology presented by 3DBuzz.com - Forums
Online
Psyberia.com - Home of PsyberSpace-3D!
XMUD
Vicarious Visions, Inc Technology
Gamebryo.com ~ Home
X-NAS Home
PlaneShift - A 3D Fantasy MMORPG
Nekeme prod. — Nekeme prod.
Athena - Welcome
eAthena Message Board Home
FSO Classic 1.4 The OFFICIAL first star online server - hosted by the creator.
Micro Forté
Welcome to the WorldForge Project.
Evil Gamers We Make The Game You Make The Rules
MindEngine Development
www.Eternal-Lands.com - The official EL Website!
Sauerbraten SourceForge Web Page
BigWorld Technology
Zona - The complete MMOG Network Solution
PLANESHIFT - A FREE 3D FANTASY MMORPG
Genecys
Arianne - A Multiplayer Online Role Playing Framework to develop games -
Nevrax
Ovorp The Worlds Most Powerful 2D Game Engien
Reality Factory Open Source Project - Advanced Game Creation Suite
The Official Blitz Website
Neo Productions.net - Release date When we feel like it(tm)
The Mana World Home page
Welcome to V3X.NET - 3D ENGINE
The Genecys Project - The Genecys Project
RuneScape - the massive online adventure game by Jagex Ltd
Amar o Sigon - MMORPG
Zero Point Gameplay
Nautix Let your Avatar rule the Planet…
Chrono Resurrection - Project discontinued
http–tdpteam.sourceforge.net-
Nebula
Cygon’s Nebula Device Tutorial
Nebula compilation notes
Links
3D Engines and 3D Game Engine
3dengines.net
CFXweb Links 3D_Engines-Demos
flipCode - Game Development News & Resources
GameEngines
DevMaster.net - 3D Game and Graphics Engines Database
Engine
Game Creation Resources
http—www.cgengine.com-
codemonsters programming
Info
3DAvenue.com - 3D Game Engines
Commercial
Ca3DE - Carsten’s 3D Engine - A high-quality, extensible, real-time 3D graphics engine with multi-player network support.
Cipher - Game Engine
Crytek Technology CryENGINE Specifications v1.0
Deep Shadows entrance
Quesa
crytek news v1.3
Seriously! - Official Fansite for the Serious Sam Series, Alpha Black Zero, and Nitro Family
Nevrax.org home
FarCry News Current
Welcome! - Quest3D
http–reality.artificialstudios.com-twiki-bin-view-Main-WebHome
Gamebryo.com ~ Home
4D Rulers AMP 3D Engine
IOI - Glacier Page1
Favorites
Haaf’s Game Engine - Hardware accelerated 2D game engine
codemonsters programming
Radiant
ゲーム開発系ニュース@ゲムデブ
kjAPI - 3D GAME C++ API
The Code Project - Free Source Code and Tutorials
Crazy Eddie’s GUI System
level Editor
Radiant
GUI
Programming
Irrlight
Irrlicht Engine - A free open source 3d engine
Irrlicht A GoGo - Top
Engine Lists
3dengines.net
DevMaster.net - 3D Game and Graphics Engines Database
http—www.cgengine.com-
TWINTAIL LOVERS.
GamDevPukiWiki - ライブラリ
3DEL- All engines
3D-Engines - Your 3D-Engine List
3DLinks.com - Ultimate 3D Links - 3D Programming - Engines & Toolkits -
Physice Engine
Open Dynamics Engine - ODE
PC Game Programming
OPCODE
Tokamak Game Physics SDK
Nevrax
NovodeX - game development technology
EZPhysics - Home
Network Engine
The ADAPTIVE Communication Environment (ACE)
Rakkarsoft
OpenTNL
OGRE
OGRE Object-oriented Graphics Rendering Engine
Ogre Forums Index
OGRE Tutorials
SourceForge.net- Project Info - OGRE (O-O Graphics Rendering Engine)
DIE
Jeff’s Ogre Projects
Crazy Eddie’s GUI System
Index of -nogredex
Icetec Studios
Green Eyed Monster
Ogre Forums — View topic - The OgreOde Thread
Bad Camel Gaming - Site News
Games
Pizza Game
Soccar- Soccer with cars
Engine
Scott Beckstead’s Home Page
openFRAG
Pages
Primed Games
Tools
3D Object Converter
Demos
water rendering with projected grid
Allegro
Allegro Vivace (seventh draft)
Allegro.cc - Main
ClanLib
ClanLib Game SDK ClanLib - Documentation
ClanLib - ClanLib Game SDK
SourceForge.net clanlib-user
TCL TK
Tcl-Tk中文网
TCL WWW Info
Tcl Developer Site
Torque
TorqueTerrain
ToRKGameDev Game Development with Torque
GarageGames - Torque Game Engine - Home Page
GarageGames - Forum Areas
Truevision3D
Truevision3D When you have a clear picture, you have TrueVision3D
Truevision3D Community Forums
.[ TV3dFilez ] .
Tokamak
adamdawes.com - Tokamak physics
NeoEngine
NeoEngine - Open Source 3D Game Engine
openFRAG
Nebula
T H E - F L O A T I N G - I S L E
Nebula - WebHome
Nebula Device Tutorials
The Nebula Device 2
SourceForge.net Forums for The Nebula Device
SourceForge.net- nebuladevice-discuss
SourceForge.net- Mailing Lists for The Nebula Device
Radon Labs GmbH Berlin Homepage
Core Nebula Device
enet
Japanese
3D Engine
NETDIMENSION Home Page
TWINTAIL LOVERS.
Irrlicht A GoGo - Top
バーチャルゲームライブラリー GameCatapult Ver0.3
Lamp:教育的かつ実用性のあるゲームミドルウェア
GamDevPukiWiki - EasyLinkLibraryまとめ
Links
各種ライブラリ紹介スレ
2D Engine
C MAGAZINE - ライブラリ
BM98′S ROOMつう
DXライブラリ置き場 HOME
Electrical Fireworks
LINKS
GamDevPukiWiki - ライブラリ
各種ライブラリ紹介スレ

关于XNA中如何显示汉字的讨论

XNA GSE beta版并没有字体显示的接口,但在游戏中字体的显示是必不可少的。下面就我收集到的关于解决这个问题的方法做一些简单讨论,我并未完整解决这个问题,所以本文只是给希望实现汉字完美显示的朋友做一个引子。
第一种方法:和显示英文的方法一样,将需要用到的汉字放入图片中,用2d texture载入,再根据一定算法显示出需要显示的汉字。这个方法的缺点是显而易见的,汉字最常用的就有1000多个,而英文只有26个字母加几个符号。是不可能同时将所以纹理同时载入内存的。对此方法的简单改进是,只把当前需要显示的字的纹理载入内存,在不用的时候适当释放,可以减轻内存压力。不过在最坏的情况下,即要显示的文字分散在很多纹理中,那么还是需要所有纹理都载入内存,仍然可能内存不足。此方法老外已经有人做了简单的实现(Creating and using bitmap fonts in XNA
第二种方法:在windows下面的XNA可以link .net的System.Drawing类,将系统里面的字体写入2d Texture,然后和第一种方法一样,将2d Texture的内容显示到屏幕上。作为cache的2d Texure可以在运行时被更新,可以运用LRU等算法管理里面的汉字,当出现cache miss的时候就用Drawing类把系统中的字体写入2d Texture,这样,只要cache miss不是很严重,游戏速度是有保证的,内存的问题也可以解决。不过用Drawing类写入Texutre的surface比较麻烦,要实现这个可以参考这篇文章(Writing to Texture Surface)。不过这个方法仅限于windows上面的开发,XBox360上面是不可以的。
第三种方法,其实不是方法,等待XNA正式版。我相信作为游戏开发RAD工具的XNA不会对于显示汉字这样一个简单问题都解决不了吧,在dx9中我们尚且可以简单的用sprite快速高效的显示汉字,XNA需要我们绕巨大一个圈子去研究这个,有背于它的初衷啊。即使XNA正式版不能,后面用TorqueX引擎这样的东西总不会再要我们自己写字体类了吧。我这样想的出发点不是想偷懒,如果是在directx下面开发,要我重新写个字体类,我觉得理所应当,但是,谁让它是XNA呢?

Evo FX 引擎将移植到XNA

3D Evolution的EVO FX引擎是一个基于.net的游戏引擎,用c#基于Managed DirectX开发。现在这个引擎准备移植到XNA Framework,计划于十月15日发布。这个引擎将在XNA beta期间是免费的,最终产品应该是收费的。
访问3D Evolution网站浏览更多信息
http://www.3devolution.net/

XNA开发的首款多人格斗游戏


这款游戏支持两人对战,需要用到USB手柄。这是目前第一个用XNA开发的对战格斗游戏。
开发者的blog
http://www.geekswithblogs.net/gambit_sunob

XNA Exchange

XNA Exchange是给自由职业的开发人员一个合作的平台。开发人员和团体可以提交他们的项目,在这里展开合作,这里目前是完全免费的。
XNA Exchange的链接
http://www.thexnaexchange.com/

一个俄罗斯团队宣布开发XNA物理库


XNA Physics API (XPA) is physics API designed for XNA.

It is based on OPAL (Open Physics Abstraction Layer) [url:http://ox.slug.louisville.edu/~o0lozi01/opal_wiki/index.php/Main_Page]At initial stage it will support ODE (Open Dynamics Engine) http://ode.org but later it will support something else for XBox360 support.
What is XPA?

XPA is a high-level interface for low-level physics engines used in games, robotics simulations, and other 3D applications. Features a simple C# API, intuitive objects (e.g. Solids, Joints, Motors, Sensors), and XML-based file storage for complex objects.
XPA Mission

Our common goal is to create a set of open source physics tools for the development of virtual environments.
XPA Philosophy

XPA has two main goals:1. to provide a high-level physics interface, and2. to provide an abstract interface that is independent of the underlying physics engines.Although some similar libraries focus mainly on #2, XPA is more focused on #1. Even though #2 is important for comparing physics engines or using multiple physics engines in the same application, XPA’s primary concern is giving developers a simple, powerful interface with high-level constructs.

东京电玩展游戏数量超记录

这次的东京电玩展向公众展示了573款游戏,比去年多了57款游戏。
在2002年由一年一次改为一年两次后,东京电玩展在最近几年有衰弱之势。然而经过日本电子游戏产业的复苏,E3展览宣布缩写展览规模后,东京电玩展也开始复苏。
这573款游戏中有,127款PC游戏,125款手机游戏,100款PS2游戏,52款NDS游戏,33款PSP游戏,20款Xbox 360游戏,18款PS3游戏,仅5款Wii游戏。
东京电玩展将于9月22日-24日进行。
消息来源
http://www.gamasutra.com/php-bin/news_index.php?story=10873

Wii 日本发售细节披露

在日本的Wii发布会上透露的新消息,Wii将以25000日元(213美元)的含税价格在12月2日在日本正式发售,比索尼的PS3晚3个星期。
和美国的发售不一样的是,日本的发售将不会捆绑Wii Sport。将单独以4800日元(41美元)出售。塞尔达传说:黎明公主的定价是6800日元(58美元)
任天堂表示将有30款游戏在发售时候同时发行。
消息来源
http://www.gamasutra.com/php-bin/news_index.php?story=10871

跑跑卡丁车同时在线超过70万人

跑跑卡丁车的运营商世纪天成星期一宣布,Q版3D赛车游戏跑跑卡丁车峰值同时在线人数在9月10日超过70万人。世纪天成从今年的3月7日代理运营跑跑卡丁车。目前已经有7000万注册用户。跑跑卡丁车中的人物也是Nexon的炸弹人游戏泡泡堂的人物。盛大在2003年开始代理这个游戏。在顶峰时期,盛大宣布泡泡堂同时在线70万人。世纪天成是上海邮电公司的子公司。
消息来源
http://www.pacificepoch.com/newsstories?id=74998_0_5_0_M

UBI发布Wii的首款外设


最近UBI公布了即将面市的Wii外设Wii Steering Wheel 。它将作为Wii大作GT Pro Series的附件有著名的外设提供商Thrustmaster开发的。
这个方向盘其实没有着地的部分,仅仅是把Wii 的遥控器放入其中作为控制器。
很显然Wii Steering Wheel 兼容UBI即将发布的大作怪物四驱:世界巡回赛(Monster 4X4: World Circuit)和其他的UBI发行的Wii游戏。
消息来源http://www.gamasutra.com/php-bin/news_index.php?story=10818

XBox 360 秋季Dashboard界面预览


这是首次泄露的XBox 360 秋季Dashboard界面更新,其中引人注目的就是新增加的XNA Lanch pad,通过这里就可以玩到那些游戏爱好者自己开发的游戏了。新的白色的 Xbox Live arcade LOGO取代了原来的LOGO。全新的界面将和一些新的特征和游戏在今年11月正式发布。
消息来源http://www.maxconsole.net/?mode=news&newsid=9846

星期三, 五月 23, 2007

XNA也可以使用C++

XNA除了可以用M$说的VC#EE开发,还可以用C++,以及一切CLR语言(VB,Iron Python等等)来开发。
我之前只有猜想应该是可以这样,现在已经看到老外朋友可以做到了,他的文章在http://mawsoft.com/blog/?p=31
源码下载地址http://mawsoft.com/blog/XNATest.zip
在运行代码前你需要安装了VS2005和XNA Game Studio Express beta。那些不想用vc#ee开发的朋友,在装好XNA Game Studio Express beta后就可以卸载VC#EE了,只是在建立工程时需要手动添加对XNA的引用,当然,你也可以自己建立一个工程模版,那样就和用VC#EE无异了。不过安装XNA时还是需要先安装好VC#EE:(

XNA GSE入门(三) 2d图像基本特效

XNA GSE入门(一) 显示图片一文中只是简单的把图片显示出来了,现在,我们在那个程序的基础上添加一些新的功能1. 添加透明效果
你需要先准备一张带alpha通道的图片,jpg是不支持透明色的,png图片可以支持,也比较小。(这里是我用的实验图片)
将编辑好的图片保存,并修改Construct函数里面载入图片的地方
ObjectTexture = Texture2D.FromFile(graphics.GraphicsDevice, “logo_head_transparency.png”);在draw函数里面做如下修改,设置绘制模式为alphablend
ObjectBatch.Begin(SpriteBlendMode.AlphaBlend); Vector2 pos = new Vector2(0, 0); ObjectBatch.Draw(ObjectTexture, pos, Color.White); ObjectBatch.End();这样图片中透明的部分将不会画出来了。

2. 半透明效果
在原先的绘制中,SpriteBatch的Draw函数第三个参数一直是设置成Color.White,就是让所有的颜色都绘制出来。其实Color出来包括RGB,还有一个A,就是Alpha值。如果我们设置Color的Alpha为0~1之间,就可以半透明的绘制图片了。
创建一个Color:
Color color = new Color(new Vector4(1.0f,1.0f,1.0f,0.5f));Color构造函数里面的向量的第4个参数就是Alpha值了,这里我们设成0.5,就是50%的透明,你也可以设置成其他的值。将绘制函数的第3个参数设置成我们的color
ObjectBatch.Draw(ObjectTexture, pos, color);就是半透明效果了



3. 反转图片颜色效果
ObjectBatch.Begin(SpriteBlendMode.InverseColor);这个就可以反转图片颜色了



这些是2d游戏里面常用的一些效果,SpriteBlendMode结构还有一个参数是Additive,也是一种特效,但是我怎么也试不出来如何使用,如果你知道请告诉我ledwinka@gmail.com


XNA GSE入门(二) 在三维世界中显示图片

上一篇文章中讲叙了如何在2d的世界中显示一张图片。我们知道XNA是支持3D的,这一篇和上一篇一样,显示一张图片,不过是在3D世界中。本文中需要牵涉一些基本的3D数学,比如世界矩阵,视矩阵,投影矩阵,纹理坐标,HLSL等等,如果不明白这些概念的读者,请先补充以下相关知识。接着我们进入正题。
建立一个工程,取名DisplayPicture3D,并保存工程。(方法同上一篇,点击这里看上一篇)
在Game1类文件中添加如下代码
//texture and effect object纹理对象和shader对象 private Texture ObjectTexture; private static Effect effect; //view projection matrix and view point投影矩阵和视矩阵,以及视点坐标,世界矩阵在这个程序中不改变,所有没有定义了 public static Matrix Projection; public static Matrix View; private static Vector3 ViewPosition = new Vector3(0.0f, 1.8f, 5f); //record last mouse wheel state记录鼠标滚轮的位置,用来控制视点的移动 private static int mouseWheelValue = 0; //vertex array顶点数组,这个程序中没有用复杂的模型,所以直接将顶点数据写在程序中了 VertexPositionTexture[] nonIndexedCube; 这些就是我们建立3D世界需要的元素的了
和上一个例子一样,我们用Construct函数初始化我们的资源
protected virtual void Construct() { IGraphicsDeviceService graphicsService = (IGraphicsDeviceService)this.GameServices.GetService(typeof(IGraphicsDeviceService)); //Inital textures, 从文件中创建纹理 ObjectTexture = Texture.FromFile(graphics.GraphicsDevice, “logo_head.png”);//从DisplayPicture3d.fx文件中创建效果对象 CompiledEffect compiledEffect = Effect.CompileEffectFromFile(”DisplayPicture3d.fx”, null, null, CompilerOptions.None, TargetPlatform.Windows); effect = new Effect(graphicsService.GraphicsDevice, compiledEffect.GetShaderCode(), CompilerOptions.None, null); //init vertex,初始化顶点 nonIndexedCube = new VertexPositionTexture[6]; Vector3 topLeft = new Vector3(-1.0f, 1.0f, 1.0f); Vector3 bottomLeft = new Vector3(-1.0f, -1.0f, 1.0f); Vector3 topRight = new Vector3(1.0f, 1.0f, 1.0f); Vector3 bottomRight = new Vector3(1.0f, -1.0f, 1.0f); Vector2 topLeftT = new Vector2(0.0f, 0.0f); Vector2 bottomLeftT = new Vector2(0.0f, 1.0f); Vector2 topRightT = new Vector2(1.0f, 0.0f); Vector2 bottomRightT = new Vector2(1.0f, 1.0f); nonIndexedCube[0] = new VertexPositionTexture(topLeft, topLeftT); nonIndexedCube[1] = new VertexPositionTexture(bottomLeft, bottomLeftT); nonIndexedCube[2] = new VertexPositionTexture(topRight, topRightT); nonIndexedCube[3] = new VertexPositionTexture(topRight, topRightT); nonIndexedCube[4] = new VertexPositionTexture(bottomLeft, bottomLeftT); nonIndexedCube[5] = new VertexPositionTexture(bottomRight, bottomRightT); //compute Porjection matrix and apply texture,计算投影矩阵,设定纹理对象 Projection = Matrix.CreatePerspectiveFieldOfView((float)Math.PI / 2.0f, (float)Window.ClientWidth / (float)Window.ClientHeight, 0.1f, 1000.0f); effect.Parameters[”UserTexture”].SetValue(ObjectTexture); }添加Construct函数后,在Game1()中调用它public Game1() { InitializeComponent(); Construct(); }
在Update函数中添加如下代码
protected override void Update() { …… //move camera according wheel state,根据鼠标滚轮位置移动摄像机 MouseState currentMouseState = Mouse.GetState(); int mouseoffset = mouseWheelValue - currentMouseState.ScrollWheelValue; mouseWheelValue = currentMouseState.ScrollWheelValue; if (mouseoffset != 0) { ViewPosition.Z += (float)mouseoffset / 5000; } …… }
在Draw函数中添加如下代码
protected override void Draw() { …… //设置顶点格式和消隐模式 using (VertexDeclaration decl = new VertexDeclaration(graphics.GraphicsDevice, VertexPositionTexture.VertexElements)) graphics.GraphicsDevice.VertexDeclaration = decl; graphics.GraphicsDevice.RenderState.CullMode = CullMode.CullClockwiseFace; //update camera position更新视矩阵,重新计算转换矩阵,并通过effect设置它 View = Matrix.CreateLookAt(ViewPosition, Vector3.Zero, Vector3.Up); Matrix matrix = View * Projection; effect.Parameters[”WorldViewProj”].SetValue(matrix); //开始应用效果 effect.Begin(EffectStateOptions.Default); effect.Techniques[0].Passes[0].Begin(); //绘制三角型 graphics.GraphicsDevice.DrawUserPrimitives (PrimitiveType.TriangleList, 2, nonIndexedCube); effect.Techniques[0].Passes[0].End(); effect.End(); …… }
和上一篇一样,添加logo_head.png到工程中来
新建一个DisplayPicture3D.fx文件,并添加到工程中,这个文件将用HLSL语言将纹理应用到我们的顶点模型上来。Fx文件的内容如下
uniform extern float4×4 WorldViewProj : WORLDVIEWPROJECTION;uniform extern texture UserTexture;struct VS_OUTPUT{ float4 position : POSITION; float4 textureCoordinate : TEXCOORD0;};sampler textureSampler = sampler_state{ Texture = ; mipfilter = LINEAR;}; VS_OUTPUT VS( float4 Position : POSITION, float4 TextureCoordinate : TEXCOORD0 ){ VS_OUTPUT Out = (VS_OUTPUT)0; //转换顶点 Out.position = mul(Position, WorldViewProj); Out.textureCoordinate = TextureCoordinate; return Out;}float4 PS(float2 textureCoordinate : TEXCOORD0) : COLOR{ //将纹理应用于顶点 return tex2D(textureSampler, textureCoordinate).rgba;}technique TransformAndTexture{ pass P0 { vertexShader = compile vs_1_1 VS(); pixelShader = compile ps_1_1 PS(); } }
Ctrl+F5,就可以看到运行效果了,用鼠标滚轮控制图片的远近 ,




欢迎与我交流分享ledwinka@gmail.com

XNA GSE入门(一) 显示图片






一 最简单的图片显示
在Visual C# 2005 Express Edition(以下简称VCSEE)里新建一个XNA工程,取名DisplayPicture
点击ok,生成一个xna的工程。在菜单中选择View->Class View,打开类视图,双击Game1类
在打开的Game1.cs文件中添加下列语句(红色部分为添加的)
partial class Game1 : Microsoft.Xna.Framework.Game { //the sprite to be displayed private SpriteBatch ObjectBatch; private Texture2D ObjectTexture;为Game1添加一个新的成员变量ObjectBatch,(用来显示精灵对象),一个纹理对象ObjectTexture
添加一个新函数Construct(),用来初始化精灵对象和纹理对象,
protected virtual void Construct() { //Inital textures, SpriteBatch here. ObjectBatch = new SpriteBatch(graphics.GraphicsDevice); ObjectTexture = Texture2D.FromFile(graphics.GraphicsDevice, ” logo_head.png”); }并在Game1()函数里面调用Construct函数。public Game1() { InitializeComponent(); Construct();
}

在Draw函数中DrawComponents();语句的后面添加如下代码,绘制我们的图片
ObjectBatch.Begin(); Vector2 pos = new Vector2(0, 0); ObjectBatch.Draw(ObjectTexture, pos, Color.White); ObjectBatch.End();选择File->Save All将整个工程保存。然后将logo_head.png文件(也可以是任意其他图片文件,只要是和Construct函数里面写的文件同一个名字就可以)拷到工程所在目录。选择Project->Add Exist Item,将这个文件添加到工程,并修改文件的Copy to Output Directory属性为Copy if newer。按Ctrl+F5,就可以看到我们的程序效果啦。


星期五, 五月 11, 2007

EA预计Madden NFL 将打破销售记录

EA宣布八月22号发布的《Madden NFL 07》已经销售了大约二百万份,是这款游戏的新的销售记录。
这款游戏目前在Xbox 360, Xbox, PlayStation 2, GameCube, PC, Nintendo DS and PSP,都可以玩到,Wii和PS3的版本也将在今天这2个平台发布是放出

WowMapViewer的sourceforge点被关掉了

今天在linghuye’s blog 上看到了wowmapviewer已经被关掉了,不免感到惋惜,在那个项目开始没有多久我就关注了。这是继blizzardhack网站后又一家被关闭的网站了。linghuye的blog上说最新的版本是0.47,我记得好像我硬盘上有0.5的,不过linghuye blog里面的wowmapviewer的wiki是很有用的。

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日发布。


玩家们,买新电视去吧!