I have asked this question before in the Blender.org forum, but people recommended that I post it here. Please read and answer/comment/enlighten/suggest.
We were early adopters of the Blender game engine but we had to switch to another tool when the bankruptcy happened. We still use Blender on a daily basis for modelling and some animation but our real-time work is done in Quest3D.
With its integration of tools and cross-platform compatibility, however, Blender has always been our ideal creation environment. Back in the day, the real-time rendering engine was extremely slow, the Logic Bricks system very limited and there was no real-time display of interactive logic at all.
I haven’t been following the developments of Blender much. So I was wondering if somebody can enlighten me on what has happened in the mean time in this area. What are the ideas floating around? Are there any ambitions for Blender to compete with Quest3D (fast, graphical programming, real-time display)?
I’m a bit confused as to how bankruptcy forced you to switch from a free piece of software to an expensive one, but I can say that blender is growing with leaps and bounds. There have not been any new actuators for a while, but there have been some graphical improvements, which you can read about on the blender web site. I don’t know anything about Quest3d, though, so I’m afraid I can’t help you there.
I recently bought Quest3D, Blender Game Engine being the engine I used prior to that (that being not very long ago).
Blender Game engine has changed quite a lot since the bankruptcy issue (which I wasn’t around for). It wasnt heavily updated for a while. There are now a few developers working exclusively on it; so it will no longer be playing second fiddle to the renderer. Many new features have been and are being added. Such as support for GLSL shaders, multitexturing and a new physics engine (Bullet). All in all it looks to be a pretty good system.
As a comparison to Quest3D, There are some things that blender can do better, the most obvious being the fact that all modelling is done within the program itself. Unfortunately, due to problems with some of the importers and exporters, it can be difficult to get some content into blender, lightmaps for example.
Quest 3D, by dint of the fact we pay for it is a more “professional” tool in terms of its updates and organisation. Although Blenders problem is it is largely shunned by those who use the renderer, or just haven’t tried it…
Missing features are hard to add to the code due to its age and complexity. And due to the somewhat arcane systems new features can be hard for new users to learn to use in thier own projects.
As it stands, blender needs a few more basic features to be added (most of which are already in the works) before it can compare with Quest3d. But in the future there may be a possibility of competition.
Blender did not used to be free. It was proprietary software when we started working with it. The company that made it went bankrupt before it could finish implementing the features required for our projects. Later Blender became open source but we had already switched to Quest3D by then.
It’s going to take more than some new actuators to give Blender a real graphical programming interface. Have a look at Quest3D, or Virtools or Max/MSP for examples. Speaking of the latter, have there been any attempts at using Pure Data as a programming interface to the Blender game engine? If I’m not mistaken, Pure Data is open source as well.
Indeed, Farshee, Blender’s greatest feature is that all tools are integrated in one and the same application. Quest3D has its own problems with importing as well. But with Blender, the potential is there to not need any importing or exporting. To be able to make a whole project in a single application sounds like a dream to me.
That was what I loved about Blender Game engine. I used to use visual basic and Truevision3d but couldn’t stand messing around with imported files that I couldnt examine before execution. Blender was good but I found it to be too limited for what i had to do (hovercraft simulators at the time).
I still use it for modelling my Quest3D environments though.
BTW what format do you export to. I could only get AC3D to work…
Maybe on a new system it works as fast as some of the other engines, on an older system, though, it’s pretty slow. Still, I’d rather work within the limitations and get content up that fast. Not only that, but the small size makes a game easily downloadable. If I actually paid for an engine, it would be Torque.
Farshee, we use the .X format for getting data from Blender into Quest3D. There’s some problems however with Ben Omari’s .X exporter in the latest release of Blender. So we use an old version of Blender with the older modified .X exporter.
Fireside, Quest3D is a DirectX 9.0c application. So you are correct: its optimal platform is fairly recent PCs.
But this is not just an issue of render engine. I’m sure that that problem will get solved quite quickly in Blender given that programmers tend to think rendering engines are sexy. The bigger problem is interface. To do anything slightly sophisticated in Blender’s game engine, currently, you have to use Python. That’s fine for programmers, but coding is not something that artists are necessarily very good at. They are often much better at working with a visual language (with real-time response).
Add to your list of non-programmer’s development tools “Deep Creator” ( http://www.righthemisphere.com/ ) which may be more in line with what you’re looking for. I found it to be really easy to develop with -up to a point- but past that point, you’ll have to create a plug-in with C++. It’s import/export from Maya/Max is top notch, and I found it to be many times easier to use than Q3D. It’s worth a look if you haven’t already.
As far as “visual development” goes, from my perspective at least, one limitation Blender has is that Logic bricks cannot be “nested”, whereas Q3D can be. It would be a very helpful improvement if you could develop a “process” through logic bricks and then call that process with a single logic brick. For example, although you can access the joystick through logic bricks, in order to give full sensitivity and full control to the joystick would require dozens of logic bricks. It’s possible (I’ve done it) but it’s pretty cumbersome.
The solution, at present, is to code with Python. I am not a programmer by training, but am learning Python (thanks to the help of the folks here) and can honestly say, as far as programming languages go, Python isn’t that tough.
I’m not familliar enough with how your on-line project works to comment on how Blender might handle it, or even if it can handle it. But I wouldn’t completely dismiss Blender quite yet. There are a number of very exciting things in development that we all are looking forward to.
The thing with blender is, you get what you pay for, and it can only get better. I’d say it’s a good deal, you should buy blender. Nowadays it can be bought at about… say… $0.