Ogre+Bullet integration with urbiscript (parallel scripting)

seg
Posts: 1
Joined: Mon Nov 08, 2010 2:57 pm

Ogre+Bullet integration with urbiscript (parallel scripting)

Post by seg »

Hi!

We've done 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;
To know more about Urbi, there is a community web page here: http://www.urbiforge.org
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

We're still working on it so your feedback is welcome!

Cheers,
Seg