3DTrue - 3D Tools & Software
3DTrue - 3D Tools & Software
 
3D
3D
3D Tutorials Home Previous Page - Getting Started in 3D Next Page - Getting Started in 3D 8 Items 12345678

3D Engines

3D Tutorials

Are you a do-it-yourself-er? I am, or mostly am. But 3d is not quite the do-it-yourself field. This topic briefly covers engines. What they are how they work and why you don't want to write your very own. Note, some of you do want to write your very own. If so, you shouldn't be reading this, you've got a ton of work to do.

The basics of every 3d engine rests in converting three dimensions to two. Your computer screen is the two dimensions, width and height. Here's where i kick myself for not paying attention more in trig. It is a ton of math. So much math, that even the engine writers use some pre-written math functions to get their engine off the ground. Engines main focus, besides showing you the polygon, is speed and more speed. Computer chips are no where close to where 3d engineers need them to be. To compensate millions of math calculations are ignored by engines if they are found to not be visible from a certain viewpoint. I call this "backface culling" from the old vrml methodology, but it has many names. One formula seems to be the most popular with most engines where coders use an infinite plane formula to determine visibility. If the formula returns a negative 1 then face is not shown. So even with ignoring faces, engines still need to do math.

Ray-Tracing is actually not a part of most video games. It simply cannot handle the math in real time. With ray-tracing you actually trace light waves as they bounce from object to object. This plays havoc with the aforementioned backface culling trick. Raytracing is better left to the serious graphics user. Pixar is all about raytracing. Quake or Doom, or any other popular game don't even touch raytracing in its truest form. Instead, they try and fool the effect by burning textures to imitate shadows etc. Some wonderful effects have been developed to full ray-tracing but its still nowhere close to the real thing. Ray-tracing also means a render of one image can take hours or days depending on the complexity. Still-image rendering programs like Poser focus on raytracing to give their images more life. Reflections and refractions cause light to distort and do some amazing things. Without raytracing, a pond in 3d looks more like a parking lot. Some of your video games will have cut scenes with raytracing. But you can not interact live in the world with it being raytraced. It simply takes to long to calculate.

Physics are also crucial to games. More so than raytracing in fact, hence there lack of visual perfection. But take a gun into a 3d world and you have real-time physics, explosions, damage points, near misses, and even 3d sound. Game engines allow you to interact live with your world through their physics engine. Buildings cannot be walked through, if you walk off a cliff you fall until you hit the ground. The ground hurts too from 50 feet. These math calculations are all done in real-time by your game's engine. Just as a point of illustration, i do not know the exact figures. Let's say there are 2000 games available for sale on the market today. Of those 2000 games, there are probably only twenty engines which run them. Each games will tweak their engine of course to make their games unique. Most of these engines are sold to developers for this purpose and include an SDK (Standard Development Kit). This SDK is the blueprint game makers use to rewrite their game for their audience. XBox has its own game engine via DirectX. Sony and Nintendo also have game engines for their platform. By studying your platform's SDK, a gamer can create a world with very detailed interactions.

Some engines are absolutely free. I have downloaded and tested several. A majority no longer work though because of the lack of support. So many changes in operating systems make it impossible to keep a free game up to speed. If i had to pick one free engine, i would recommend the Blaxxun engine. It has just about everything you need to get started. Gravity, avatars, speed, flight, walking, waypoints, and collision detection. Not much on projectiles or missiles, but it could be added without too much trouble. All the pieces are there which is important. Blaxxun also specializes in community building. So chat and messaging are highly scripted and ready right out-of-the-box.

Since i don't have a trust fund. My first game engine for the money was the Torque engine from GarageGames.com. It really does have it all, and a bunch of games are currently produced with the engine. This means several problems have already been tackled and the solution is just a google away. The Torque engine is a measly $100.00 and is a steal for everything you get with it. If you bought torque today, you could build a basic game in a couple of days. Torque features an in-world editor which lets you edit terrain, paint, place objects, sound, and artificial intelligence. Major downside to Torque is the inability to import characters from any major file format. Torque uses two 3d file formats, dts and dlm. The dts file is the simplest but only goes so large. Dlm files are used for interiors and despite what they say, cannot be imported from another file type. It's the biggest bummer about Torque is lack of importing. To be fair though, most 3d apps out there have been really lazy about universal file types and importing/exporting. But still i recommend torque. The file types are wacky for a reason, so much physics to calculate. Torque also supports networking too and runs on all three platforms: Win, Linux, and Mac. I even heard you can publish a game to XBox Live 360 with Torque but have yet to see how to do this.

You can write an xbox game too. First, buy the Microsoft compiler (Visual Studio .NET). After you buy the compiler start learning DirectX. After six months of training, you can probably write something. Then, when you are ready to go to market, save $70,000 which Microsoft takes to listen to your game idea. After they cash your check, they can tell you if they will allow you to release the game or not. I didn't make that part up, it really does work that way. Microsoft only wants big and good titles. No chance in being a little man in their world unless you win the lottery. A few firms out there will accept your game idea and publish it as their own. I've not had much experience though with them so i can't recommend one over the other.

Sony will sell you a developer PlayStation. It's under $1000.00 and will let you develop a game on it. Sony's code is rather mythic though. You probably need someone who has worked for Sony to really understand it. Of course, i saw the new PS3 demo and if that really is real-time game play, you may want to start learning Japanese. Sony has really innovated the industry. I wish i knew more about the PSP and programming.

Sorry, no information about Nintendo. They mainly make their own games.

Recently, we tried out the free Ogre Engine. It's a very advanced engine which runs on VC7.0 or greater and a few other ports. VC6 is no longer available. Ogre is very advanced and offers a lot of high-end graphic card features built into their world. Ogre is not really a game engine as much of a graphics engine, but the physics library and shadow work are really stunning. Compiling the source examples can be done, but beware, there's a serious documentation gap out there which really trips up the first timer. It took me about 12 hours to make it compile. The VC Wizard which is offered as a helper for newbies is more of a black hole of despair. But to be fair, this has been true with just about every engine we've tried. We've only included the ones that worked for us in this article. Believe me, there were a lot of em.





Renderosity
All Site Content © 2006 3dtrue.com / Hits / Web Hosting by Gigfoot