Blender 2.33 Re-enables Game Engine
fforw writes "One and a half year after becoming free software, the Blender Foundation has released
a new version of
Blender which finally enables the game engine again.
When Blender became free software. the game engine had to be disabled because SOLID, the collision library was not free software. After SOLID's author Gino van den Bergen changed his mind, Blender has now restored all functionality from the closed-source period."
This is good news - its not exactly a giant leap forwards but it is important all the same. Improved collison detection is not just good for games its good for modelling. For example a physics teacher could teach his students about the ideal gas law using a series of blender animations.
The controls are a bit hard to learn, though the interface has been getting better recently. In the end, once you read through the tutorials and learn all the keyboard commands you will find them to be great.
As a Highschool Student I did an entire project in Blender's 3D Engine. It essentially had the ability to navigate look around and view objects in all dimensions. While this may seem a little base, as it was, it was not too difficult for a 17 year old to pick up and run with.
It actually gets even deeper when you combine the python scripting with the game engine, as opposed to using the built in object functions. The games can get really complex, and with the inverse kinematic options for human body(mapping theh way the human joints move), it makes for some really interesting possibilities. Personally as I am learning python now, I may go back to the blender engine, and see what havoc I may be able to create.
je suis parce que j'aime
Good collision libraries are fun. I've written one, as part of Falling Bodies. I think I was the first, back in 1996-1997, to use axis-oriented bounding boxes with GJK, which is what SOLID, and everybody else, uses now.
Lin and Canny are the ones who really cracked this problem. Before Lin and Canny, algorithms for collisions in a space with N objects with M faces each were O(N^2) * O(M^2). They got that down to slightly worse than O(Nm), where Nm is the number of moving objects. Very clever.
I-Collide was the first generally available package for this. The original version was in LISP, which was translated to C, retaining much of the LISP style. They used axis-oriented bounding boxes with a linear programming package. This had some problems with numerical error, and the linear programming package was rather bulky. But it demonstrated, back in 1996, what was possible. Then everybody (well, the half dozen or so people into this stuff) went to work and built better systems.
Actually, collision detection is a pain to code, but well understood today. Collision response, the actual physics, is much harder.
The end result of all this is that games can now have really big worlds with working collision detection.
Their is complete documentation for the 2.3x release available in several formats: http://www.blender3d.org/cms/Using_Blender.80.0.ht ml
Done the right way:
http://www.spinheaddev.com/?id=crescentd
http://www.shadeless.dk/3d/?site=darksquad.htm
http://project-blender.onlinehome.de/
http://www.brainstorm-studios.net
http://zerooneentertainment.org/blengine/sachi
http://project-blender.onlinehome.de/
http://www.tudbzd.com/