Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Open Source vs Affordable Indie 3D Game Engines?

Posted by Cliff on Sat May 26, 2007 04:20 PM
from the which-direction-would-you-choose dept.
TBBScorpion asks: "Lately I have been investigating 3D game engines. I was mostly paying attention to open source engines like Ogre3d, Irrlicht, Crystal Space 3D, and the like. Then I found out about cheap Indie licenses for commercial game engines like Torque Game Engine ($150), Torque Game Engine Advanced ($295) and the C4 Engine ($200 + free upgrades). I found a list of top commercial and open source game engines at devmaster.net in case anyone is interested (I didn't want to take the time to list all the engines, but there are more good ones that I did not list on this page). Now for my questions. Now, here's my dilemma. Which of the engines are worth investing in? Should I buy an indie license or hold out for open source? Or should I start with an indie engine and switch later if open source catches up?"
"Torque Game Engine 1.5 works on Windows, Mac OS X, and Linux but lacks modern shader support (except for something about a free modernization kit). I mostly do cross-platform software development so I like this feature.

However, there is Torque Game Engine Advanced (TGEA) which adds shader support, the Atlas terrain paging feature, and a few other nice features, but since is DirectX9 based it is no longer cross-platform. I have also heard rumors about support for the engine to be a little on the lacking side, yet the Torque community seems to be rather large compared to other commercial engines. Are the complaints just from people who don't really know how to program expecting to be able to edit the C++ of the game engine, or are capable people really having trouble? I've heard rumors about stability of TGEA compared to TGE? For those of you who have used TGE or TGEA, would you recommend it over other engines?

The C4 Engine looks nice as well, but seems to be under active development and less mature, but might it potentially be a more modern game engine? Also, it supports Windows XP and Mac OS X, which is better then just Windows.

Here are the features I am hoping for are: a cross-platform engine, if possible; modern shader support; a built-in terrain paging system; and model, material and animation import from Blender 3d.

When it comes to the open source engines like Ogre3D, the main thing that seems to be lacking is the built-in editors, and at least Ogre3D is currently mostly a graphics engine rather then a complete game engine (i.e. physics built-in; does provide wrappers for ODE and other physics engines). My assumption is that is just a matter of time before Ogre3D and other engines catch up with the top Indie commercial engines?

Lastly, I will be using the game engine for not only making games, but for some scientific applications as well. Also, I started using C++ 10 years ago and have been using Python since January 2002, so I'm ready to dive into the engine code."
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • by unDiWahn (599102) on Saturday May 26 2007, @04:41PM (#19285577)
    I can't stress enough to avoid TGEA. I can't speak for the original engine (TGE) but the new version has no documentation, and a pervasive attitude of "If you can't figure it out without help, you shouldn't have gotten the Advanced Engine".

    The engine is simply not geared towards direct interfacing. If you're happy using TorqueScript to do everything, then give it a shot. If, like me, you need to interface with other C++ components, you're in for a tough ride.
  • by Anonymous Coward on Saturday May 26 2007, @04:52PM (#19285669)
    The time spent trying to figure out the Torque engine is better spent just developing your own engine, the documentation is terrible, tools for torque are outdated, just don't waste your time.
    • Re: (Score:3, Interesting)

      Hehe, I agree in some way with this sentiment... the last time I tried to use the CrystalSpace engine you had to compile it from source which meant hacking around with the code (it didnt compile in my Windows XP out of the box)... I got very frustrated and, after emailing to the guys in the mailing list asking for a precompiled binary (I just wanted to test the different capabilites and play with the available API) they told me to compile it and in other words told me "if you cant compile it then you are no
      • Reasonable perspective, actually.
        It's for programmers, not people wanting to play a game. Programmers can compile things. By definition. If you can't jump that hurdle, the whole thing is certain to be useless to you, so why should anybody waste their time trying to support you wasting yours?
      • Yeah, it is like the time I went to a car dealer, to buy a car. I wanted to test drive this machine, but because I can't drive, they wouldn't even help me get it started. You would think the least they could do was provide someone to drive me around. If they can't even provide that low level of help, then please don't waste your time buying a car. It appears they want you to be a Formule one race driver, before they will help you.

        What do you think the engine is for? And there are demos (depending on how lon
    • I couldn't agree more. I loved TGE when I first started, but eventually I spent so much time wading through WTF moments of poor documentation, broken functions and the like that I could have brewed my own, or used a well-crafted engine like Irrlicht.

      Don't even get me started on its Linux "support." Linux is a second-class-citizen in Torque, the engine even stubs out(!) some important things like joysticks.

      If your projects are small, I'd recommend homebrewing your own framework. If you're really not into gra
    • ...I paid for Torque, but never could get very far with it...documentation is pretty scattered.

      Just seemed easier to start from scratch. I won't have all the cool stuff torque has, but at least I know what the hell is going on with the stuff i have.
      • As far as existing engines go, it also depends on the type of game. If building an FPS, by all means take the Quake 3 engine as your starting point! The whole engine has been GPL'ed (not content, but that doesn't matter if all you want is the engine)

        Don't tell me Q3 can't do single-player. Medal of Honor (spearhead, and breakthrough also), and the Jedi Outcast/Academy, and Elite Force have all used the Q3 engine as their base.
  • Doom or Quake... (Score:5, Informative)

    by apathy maybe (922212) on Saturday May 26 2007, @05:10PM (#19285825) Homepage Journal
    Have you investigated the open source versions of Doom and Quake? While maybe a bit dated (the Quake III engine is from 1999), they are GPL and have a lot of community support.

    The original Doom engine has been used in a shit load of games since (including games available for a wide variety of platforms, such as portable music players).

    The Wikipedia page, http://en.wikipedia.org/wiki/Quake_III_engine [wikipedia.org] has a lot more information about the Quake III engine, and a lot of handy links at the bottom (such as http://www.icculus.org/quake3/ [icculus.org] "A project to remove bugs, clean up source code and to add more advanced graphical and audio features via SDL and OpenAL, and to act as a clean base package to build other projects on.")

    Go get it!
    • Re: (Score:2, Informative)

      by Anonymous Coward
      http://xreal.sourceforge.net/xrealwiki/ [sourceforge.net]

      from their faq:

      Q: I'm looking for an engine for our game project. What can XreaL offer?
      A: XreaL provides a complete toolchain for game content creation. You will get:

      the Quake 3 Arena engine with many renderer tech updates
      a customized GtkRadiant level editor for Q3A/Doom3 style hybrid mapping
      a customized XMap compiler based off Q3Map1
      • Re: (Score:3, Insightful)

        There are two aspects to the game: the data and the engine. The data is separately copyrighted. The engine is GPL, so any engine modifications must be published as source if they're published at all. So if you come up with an uber-cool stealth mod to Quake 3 and distribute it in your game, I can use the mod, but I don't have any more license to the textures, scripts, and world than you choose to give me.

        You can have a viable commercial game released on an open source engine. You just have slightly less prot
      • you can sell a GPL game, the PROGRAM will be under the GPL but the content, maps, textures, models, music can still be copyrighted.

        others will then be able to use the code you wrote but it won't make your game available to download for free.
  • jMonkeyEngine (Score:4, Informative)

    by Anonymous Coward on Saturday May 26 2007, @05:25PM (#19285963)
    jmonkeyengine http://www.jmonkeyengine.com/ [jmonkeyengine.com]

    Runs on OSX, Win, and Linux. Advanced Shader Support. Open.

    • And it's bloody java, so you're looking at 70 meg for a 10 fps "hello world" map. I wish people would stop wasting time and effort on java where it's clearly unsuitable just because that's what they were taught at university.
      • Re:jMonkeyEngine (Score:4, Interesting)

        by macshome (818789) on Saturday May 26 2007, @07:21PM (#19286959) Homepage
        Java isn't always slow. Jake2 is pretty damn fast...

        http://bytonic.de/html/benchmarks.html [bytonic.de]

        • Re: (Score:3, Insightful)

          and it is also based on a ten year old game engine (1997). It is about as relevant to the state of current gaming as world war II planes are to the development of our next stealth fighter airplane.

          Nice hobby project though.
            • Bad analogy. The parent is saying that Jake is like building better WWII planes today that run faster than the ORIGINALS. Sure we can but that does not help as much.
      • But for a game does 2 seconds of loading time or whatever comes from Java matter at all? Qnext is an im-client supporting msn, icq, aim, yahoo, webcam and voip conference, games, filesharing, musicsharing and photo albums, written in Java and uses less memory than Microsoft Messenger ...
          • One thing to bear in mind:

            I highly doubt the jmonkeyengine actually does the heavy 3D lifting in java itself. It probably uses Java3D which is a wrapper to native OpenGL calls. So the bits that need the most speed are still native, but the rest of your core game logic etc. is in Java.

            The performance overhead of using Java3D is pretty negligible compared to accessing OpenGL from C/C++.

            Of course, writing a game in Java has other problems. It's much more trivial to extract the original source from compil

            • Re:jMonkeyEngine (Score:4, Insightful)

              by 49152 (690909) on Sunday May 27 2007, @04:58AM (#19290523)
              jmonkeyengine is not a competitive 3D game engine.

              You also need to do a hell of a lot more in a game engine than just call OpenGL rendering calls, which would be fine if all you need was to render the same static frame again and again. In any game you will also need to do lot of CPU intensive tasks like intersection testing, physics simulations, skinning and other types of animations, AI and similar with real time performance and in addition to you game logic. OpenGL will not do this for you (yes, I know there is work being done, moving much of this to hardware, but that is not an option until everyone runs DX10 or later compatible GPU's many years down the line).

              All this is of course possible with Java but it is not optimal and sub-optimal simply wont cut it in the game industry.

              jmonkeyengine is a nice piece of work for small games and hobby projects. But it is a long way from being competitive in the serious gaming industry. But by all means, if this is just a hobby for you I'm sure it is more than good enough.

              To put it in other words, "Bang Howdy" is a cute game but it is not exactly Halflife2.
                • Hello anonymous coward!

                  Obvious trolling, but I'll bite anyway ;-)

                  I probably do know a lot more than you do since I program 3D real time graphics for a living, not games but we do much of the same stuff. Btw: I do not own a playstation (or Xbox for that matter), although I would have to admit my main PC is excellent for running the latest games ;-)

                  1. ODE and OPCODE are excellent open source libraries not written in Java, I've used both on a regular basis. If your going to do everything using native libraries
                • It's funny, you have Playstation 3 syndrome. It is not enough that the game be fun and the art be well designed, but must also utilize UBER RAY TRACED PARALLAX SHADER MAPPING and other "next gen" techniques.

                  It seems that most consumers have this "Playstation 3 syndrome." I enjoy The Battle for Wesnoth [wesnoth.org], but that doesn't mean that it could sell copies like God of War. Given that the topic regards game development, perhaps for deployment, PS3 syndrome may be something that he has to deal with.

    • The first wow-lookalike screenshots looks awesome, also the water.
    • 3D on LUA (Score:3, Interesting)

      This is a great thread. There are so many 3D alternatives out it will be great to see what this thread comes up with. I am only disappointed this topic didn't get rated as a major story on Slashdot.

      Not to downplay the benefits of programming in C++, I think it is better to focus game development using scripting language rather than for C++. When I started writing games on the Apple II+ I wrote everything in 6502 assembly but with lores B&W graphics. Today the successful game developer no longer has that
  • by abes (82351) on Saturday May 26 2007, @05:55PM (#19286233) Homepage
    After going through all the choices and possibilties, I ended up with Ogre. It's true, it's 'just' a graphics engine. But it's made that way. The designers have many times over said they don't wish it to be anything more than that. But that doesn't mean you can't use it in conjunction with other packages out there. Projects like Yake are attempting to do so.

    It in some part depends on specifically you want to do with the engine. For example, physics stuff can be handled with ODE, Newton, Novadex, or others. There are even Ogre bindings to use these (Gangsta wrapper abstracts this process, though there does exist OgreODE and OgreNewt as well). You'll also find, basically all open source projects end up using OPCODE for collision detection, though you might not want to use it directly (there is also a wrapper for Ogre and OPCODE).

    I ended up writing my own code for interfacing with ODE, since I desired collision detection, but not physics. Since the code you can find is open sourced (a good amount is free use without any restrictions -- I believe this is true for anything posted or related to Ogre).

    Not having an editor is somewhat problematic, though there does exist world/terrain editors out there -- both free and for pay (some are reasonably priced). For basic 3d modeling there is of course Blender, which can also do scenes, though it does have a fairly large learning curve. If you search around Ogre's web page, it actually provides a ton of links to the other resources out there.

    For input management, the new version of Ogre comes with OIS (open input system), which is cross-platform. And you can use OpenAL for sound. So all the components are there, but you do have to assemble them. I like this strategy, as each component has its own dedicated group of people who worry about it, and try to make it the best possible.

    However, if you like things prepackaged, you might also want to look at the Irrlicht engine. They've taken the opposite approach to Ogre, and provide a self-contained engine. I haven't used it myself, but I am of the understanding it is much faster to learn and use than Ogre, though I don't know how the performance compares..

    One last thing I would add about Ogre, and what convinced me to use it was that there are a bunch of profressional games out there that use it. Again, if you go to the Ogre web page, you can peruse the comercial games made.
  • by Anonymous Coward on Saturday May 26 2007, @06:27PM (#19286521)
    To give you my background, I'm a TGE, TGEA licensee as well as a licensee of the RTS kit and many of their content packs. I imagine I'm going to get shot for this post, if even half the Torque fans from Gamedev.net visit here also then I'm expecting a -1 Troll moderation within around 30 seconds, but seeing as I can give an honest, first hand, from the trenches opinion of Torque, here goes:

    It's probably one of the things I truly regret spending money on the most. Garagegames put a lot of money into marketing and hype but never pull through on their promises. TGEA arrived 2 years late and by the time it arrived had many major features cut from it such as the promised built in terrain editors, OpenGL support and so forth.

    The RTS kit was another scam in this respect, it doesn't contain pathfinding, support for RTS AI or anything of the sort by default, Garagegames claim this is because "all games need different pathfinding/AI requirements" however this argument is extremely weak - let's face it, core AI is pretty standard and surely it's better to provide at least some AI to the demographic they sell the engine to on their "why make a mod when you can make a game" premise that provide nothing at all. Also, the RTS kit is about 3 versions out of date with the main Torque Game Engine - Garagegames don't keep it up to date with the main codebase, they simply tell you to do it yourself.

    TorqueX is yet another example of Garagegame's cutting of features and delays, it was meant to be ready with 3D support included for XNA GSE's release in their original press release, now however it's still entirely unreleased and anything other than basic 3D has been cut from the initial release.

    Do not trust Devmaster.net, it's sponsored by Garagegames and is heavily biased, in it's top 10 list of commercial game engines (http://www.devmaster.net/engines/) Torque is always listed first, even when the site's very own ratings system shows TGE as only have 3.5 stars when the likes of C4 has 4.5 and TV3D SDK 6 has 4!.

    Other than that the issues with TGE and TGEA are that the engines have just turned into such messy hacked together swamps of code over the years they're really tough to use. Many features of the engine are also half-assed or extremely dated compared to other offerings on the market, some are even suffering from long running bugs that can even result in fatal crashes - physics and vehicle support for example really need a complete rewrite for anything other than the very simple games that you see in the Garagegames store. The other problem that plagues all GG's products other than TGB is a severe lack of decent documentation - this is really bad when the engine is such a nonsensical mess. The Torque code base is ancient and new features have been hacked in through the years - it's either time to write it off and start from scratch or a MASSIVE refactoring session to clean up and update the code base. The sad fact is, the learning curve for the combination of such a messy engine, non-intuitive scripting system, poor documentation, requirement to fix a lot of things yourself means that you're not far off writing your own engine from scratch over using TGE/TGEA.

    So is all of Garagegames stuff bad? No not at all, Torque Game Builder is pretty good if it's 2D your after, that's one product that has a whole lot of polish, good documentation, a good toolset and so forth. Arcane FX is absolutely fantastic too, but this is a 3rd party addon to TGE and is hence unfortunately absolutely wasted on this engine.

    I think the problem Garagegames has is bad management and a marketing department that doesn't seem to worry about outright lying to make sales (not that that's a rare thing in marketing of course!). The management problems I'm referring to is the fact they keep announcing new engines or product lines without completing their last projects! Torque Game Builder game along when they were claiming they were too busy to fix the RTS kit. TorqueX came along when not only was the RTS still neglecte
  • Panda (Score:2, Interesting)

    http://panda3d.org/ [panda3d.org]
  • Ogre3D is great (Score:3, Informative)

    by l3mr (1070918) on Saturday May 26 2007, @06:55PM (#19286753)
    I did my masters' thesis using Ogre3D, and i'd choose Ogre again immediately. I also evaluated Torque and Irrlicht, but Torque is just a mess, and Irrlicht didn't seem as complete ( as far as graphics functionality goes ). Yes, Ogre3D is a 3d engine, not a complete game engine, but it does that ( graphics ) really good. If you need Physics, use ODE or Newton, networking can be easily implemented using RakNet, scripting with python (or lua, or...) and for sound there's OpenAL. In my eyes, using a specialized library for the different things is a real advantage - if something doesn't work as expected, you can replace that part. And Ogre doesn't need to cath up to Torque; Graphics-wise it's more than on par, and the api design is (imho) far better. Ogre has also been used for commercial games already; Ankh comes to mind...
    • Personally, I found that the Ogre3D game engine was great for making Demos and the likes. However, the supoort was the typical "RTFM, Noob" responses on their forums. The API was nice, but support was really tough to get a hold on, especially if you're new to vectors and the likes.
        • Oh, don't get me wrong. I'm not saying you shouldn't know about vector math, or use a 3d engine as a learning point for that. I'm just saying that if you had a "noob question" it was *really* tough to get an answer from anyone.
  • It doesn't have the cross-platform compatibility you're looking for, but you mentioned you're a Python programmer so Panda3D might interest you. I've been learning Python and decided to learn by making a game, so I've been using the Panda3D [panda3d.org] engine because it has Python bindings. I think it also has a blender exporter, but I'm not 100 percent sure about that.
  • It's a tad bit more expensive than Torque, and the development environment is Mac based, but Unity is awesome. It can make executables for OS X and Windows, as well as making use of a web-browser plugin for 3D in a web browser. It's filled with features and gaining more all the time, it's easy to install, easy to learn, easy to use, easy to update, and all around easy to get going with. It supports programming and scripting in many different languages, it supports all kinds of plugins. It gives you exten
  • Inside scope (Score:5, Insightful)

    by PhoenixOne (674466) on Sunday May 27 2007, @03:23PM (#19294239)

    Having worked on a 3d engine for the last 7 years the most important advice I can give you is "only invest in a game engine that can do what you need right now".

    Every game engine I've seen, ours included, have a list of great upcoming features. But there is no guaranty that any of those features will be implemented by the time you need them (if they are added at all).

    • More important, when you want EVERYTHING in your engine, by the time you're finally done you can start over because everything got turned inside out in the new interface and you can't simple adapt your code to use the new features. So you're facing the decision to change enough to warrant a complete redo, or stick with an outdated engine.

      This is especially true with DX I don't know why, but MS manages to change JUST enough every time to make a redo sound like less work than adapting. How did you solve that
  • Ogre + Blender

    The latest Blender revisions offer tight integration with Ogre, not entirely unlike UnrealEd.
  • I'm not quite sure what the difference is between a game engine and a scene graph, but perhaps you should give Open Scene Graph [openscenegraph.com] a try. It's Open Source, well documented, supports import of models from many popular 3D modeling toolkits, and (I believe) recently added shader support. Works great on Windows and Linux (with a relatively even percentage of developers on both platforms who use it) and gives stellar performance. No licensing fee for commercial use either.

    While it doesn't provide audio/input sup
    • Re:Torque on linux? (Score:4, Interesting)

      by xtracto (837672) on Saturday May 26 2007, @04:42PM (#19285587) Journal
      Please correct me if I am wrong (which I am almost sure I am), but last time I had a look for all the Open Source game engines available they where focused on First Person Shooter type of games... I was doing a 3D puzzle game (sort of like Tetrisphere)... I ended up finishing it in raw OpenGL and SDL... although I would have liked to use an engine to easly add particle effects and other stuff...

      I personally hope to find nice answers in this thread... also, from what I have seen in the Gamedev.net forums people over there do not like Open Source stuff... of course I saw some 2 years ago... things surely have changed by now.
      • For at least Ogre and Irrlicht, there is no such requirement. If you go to Ogre's web page, you can see a bunch of games made with, and a good number are not FPSes.

        With that said, it is probably what the engine get used for most of the time.
      • Re: (Score:3, Informative)

        Crystal Space is certainly not only for FPS projects. In fact FPS projects are the minority. Most projects using Crystal Space are MMORPG type games like PlaneShift (http://www.planeshift.it).

        Greetings,
        • by Anonymous Coward
          You are confusing the game with the game engine. Which is the product that a customer is paying for? They aren't buying the SoCool Engine; they are buying the Hot Barbie Surfing 2007 game.

          For a very few developers like id and Valve, their engines are state of the art, and intended to be sold as products in their own right. There is an argument to be made that id is no longer a game company; they are really a middleware company that sells game engines, and releases tech demos every 5 years or so.

          For all s
    • Re:Torque on linux? (Score:4, Informative)

      by borfast (752138) on Saturday May 26 2007, @07:00PM (#19286809) Homepage

      Yes, getting TGE to run on Linux is an ungrateful task, to say the least.

      Some time ago I got lured into buying it because they used to state on the product page that they supported linux. I bought both Torque Game Engine (3D) and Torque Game Builder (2D).

      Long story short, the Linux version is far from the quality of the Windows and OS X counterparts (when it runs at all) and the company dropped Linux as a supported platform, "because it consumes too many of their resources". Instead, the Linux version is now supported by the community - but it bears the same price tag, nonetheless...

      There used to be a guy who offered himself to help with the Linux version of the engine. He did this *for free*. Garage Games used to take months to reply to his e-mails when he sent them a message saying "hey guys, you just released a new TGE version so I took care of making a linux release, it's ready for you to put on your page". There was somewhat of a revolt on the forums and Garage Games eventually worked with this guy for some more time (still for free) and after that, I just gave up on Garage Games, because their support really suck. It's just as UnDiWhan said on another comment [slashdot.org]: a pervasive attitude of "If you can't figure it out without help, you shouldn't have gotten the Advanced Engine". This is also valid for the regular TGE and TGB.

      Things may have changed, though, because Garage Games created a buzzword for their documentation and also a site to host it. But again, just like the Linux versions are "community-supported", the documentation is mostly (all?) user created content - it's a Wiki...

      As for Ogre3D, I wouldn't say it's slow, it's actually pretty good and pretty fast. But if you don't use it correctly, it can kill your game. I've seen games using Ogre very efficiently and others that were slow as hell.

    • by CrazyJim1 (809850) on Saturday May 26 2007, @09:10PM (#19287837) Journal
      I like the documentation on CS because it is an API that's easy to understand. But what really shines in CrystalSpace's favor is it's community. I wouldn't be able to code in 3d if it wasn't for handholding by the developers. They walked me through compiling and building, and then they answered my questions when I got stuck. I think they're so friendly, that I casually talk about my game I'm making in help questions that I post to the mailing list. CS is the 3d engine that I am writing: www.roamingdragon.com

      I'm not saying the other engines could be bad, but I know that CS is awesome.
      • Re: (Score:2, Interesting)

        RoamingDragon looks interesting. You might want to take a look at Project Angela [rpg-gamerz.com], which has similar movement requirements. You may be interested in their ideas on physics-based movement.
    • I'll agree it had the general form of an advertisement, but if you look at the actual text it would be one of unprecedented candidness and modesty. Then again, looking at the comments Torque is getting, I suppose it would have reason to be.
    • Re:Crystalspace (Score:4, Insightful)

      by UnknownSoldier (67820) on Sunday May 27 2007, @12:41AM (#19289297)
      > crystalspace seems to have a stigma associated with it of being antiquated.

      Probably going to get flamed and down-modded, but what the hell. IAAPGD (I AM a professional game developer) and shipped titles on PSX, PC, PS2, and soon Wii.

      CS has been around, what 10 years? It was crap for the first few years. It overly complicated something simple, with terrible class design and coding style that was clearly written by an amateur. Unless you've shipped a game or two, most developers just aren't aware of all the issues -- not just tech, but features, that a game engine needs. A game engine really needs to run on both PC and consoles so it has the opportunity to have a _clean_ API of the various math, rendering, collision detection, collision response, physics, sound, input, etc.

      Since it's not good to criticize without offering a solution, David Eberly's Wild Magic engine and books do a very nice job of clearly explaining the how and why's of engine design. It's not perfect, and you can tell where he had to make compromises, but it's a joy to read. Probably because he wrote NetImmerse before they became Gamebryo.

      Cheers
      • Probably should add that Wild Magic is now the excellent Geometric Tools [geometrictools.com].

        And here's a thread where David mentions him writing NetImmerse for those interested...
        http://www.gamedev.net/community/forums/topic.asp? topic_id=310637 [gamedev.net]
      • Re: (Score:3, Interesting)

        I'm the project manager of Crystal Space and I would like to tell you a bit about how Crystal Space evolved and what it has become. I do agree with you that in the beginning the code was pretty much put together 'on demand'. There was little design and little planning. I just made the engine so that it worked more or less. However, one of the strengths of my kind of development (and the development of my team later) is that I'm very good at refactoring and redesigning. And in fact we have done that several