Before I start development of an XNA game, I need to choose a 3D game engine to develop upon. Is this belief unfounded? Does XNA have basic object transformation, lighting and mesh/texture importing functionality by which you can develop a decent 3D side-scrolling game?
Chances are I'm going to need a 3D engine such as Torque X to handle most of the special effects, animation and sound for me. What are the engines that you recommend building an XNA game with? What work reliably in your experience? Is XNA alone enough? do you have repositories of code that work directly with XNA to create effects and other game environments with sunlight, fog and rain?
Answer
In short, the most usable 3D game engines written in fully managed C# code (which allows you to develop for the Windows and Xbox 360) are:
- Ox Game Engine - a 3d version of the ButterMilk 2d engine - excellent features, Jiggle physics, reasonable scene editor, shadows. Free.
- SunBurn - AAA rendering with dynamic lighting & shadowing, occulusion, HDR rendering, spectacular, diffuse and bump maps, and includes a 3D Game world editor to edit models, lights, materials. $150 or more. Free version also available.
I would have mentioned Torque X on the top list but the negative response has been so overwhelming that I'm quite convinced it really a mess.
The other engines are listed here:
Open Source
3D
- TXna Game Engine - Includes lighting, camera controllers
- Axiom3d - port of the native Ogre. Multi platform.
- QuickStart 3D Game Engine - particles, rain, fog, water, terrain
- Engine Nine - animation, terrain, sky, post processing screen effects
- The Ship Game and the Robot Game starter kits contain enough code to make a decent 3d engine though they are not documented as such.
- Attolo 3D XNA Engine - Includes particle effects, model loading, terrain, etc.
- Reactor 3D - development stopped
- Titanium XNA Game Engine - fog, lighting
- Tomahawk - Pretty well supported engine.
- Phoenix - still in development
2D
- Flat Red Ball - 2.5d game engine thats been around since the Managed DirectX days. Very well updated and supported.
- Jemgine - 2D game engine with level editor, components, visual scripting language
- Box2D.XNA - A C# port of the Box2D engine
- DEngine - 2D tile engine with basic editor
Commercial game engines
- Kitae - 2D game engine with tile/level editor, collision detection, sprites, fonts, etc.
- TorqueX - (not recommended)
- 2D - TorqueX Game Builder to edit levels from a drag and drop UI.
- 3D - TorqueX World Builder to build 3D game levels with objects and lighting
- Visual3d.net - (Windows only)
Specialist
Physics Engines
If you require code that will run on Xbox 360 or Zune then you need a 100% managed engine.
Most of these are free, or are free wrappers around commercial products.
If you are only targetting windows then you can use any of these:
- PhysX
- ODE (Open Dyamics Engine)
- XPA (XNA Physics lib): XnaDevRu has a nice wrapper for, but it's majorly outdated and ODE is rumored to be bad/unstable. There's very little information about it, but the API is pretty friendly. Pretty easy to get up and running with simple collisions (even I made it!), but its hard to find what you need when problems occur, and its updated very slowly.
- Newton Game Dynamics
No comments:
Post a Comment