I've just finished a first release of a binding between Ogre, Bullet and the Urbi C++ framework, which includes the new urbiscript language. Urbi initially comes from the world of robotics and simulation, it's open source (AGPLv3), and it's interesting to handle complex systems with many interacting components.

The urbiscript language acts a bit like python or LUA for scripting, but it has some unique features to handle parallel and event-driven programming that are directly available inside the language semantics, which makes programming complex interactions surprisingly easy. An example of the kind of things you can write:
Code: Select all
var entity = Entity.new("somemesh.mesh", size, position, orientation);
// react to events or conditions:
at (entity.touched?()) echo("boom!");
at (entity.x < 10) entity.gears(deploy);
// use '&' to run two pieces of code in parallel:
some_complex_code(entity) & some_other_code(entity);
// use a comma to detach code in the background...
// ... and use 'tags' to control it:
mytag: { some code that takes a long time },
at (Keyboard.pressed?) mytag.stop;
And a forum here: http://forum.gostai.com
The documentation is here: http://www.urbiforge.org/index.php/Main/Docs
The open source Ogre+Bullet+Urbi (OBU) project is available on urbiforge, with a quick example code of a flying XWing that can fire missiles, to illustrate the concept:
http://www.urbiforge.org/index.php/Projects/OBU
Your feedback is welcome!
Cheers,
Kergoth