Botworx Vr 0.01 available for download!
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
Botworx Vr 0.01 available for download!
Botworx is pleased to announce the first release of Botworx VR - Version 0.01.
Botworx VR is a Virtual Reality framework written in C++ that ties together the Open Dynamics Engine (ODE) physics framework with the OGRE 3D engine.
The reference application "Buggy Bots" demonstrates the usage of both static and dynamic bodies, realistic missiles and explosions, plus layout capabilities such as stacks, rows, grids and matrixes.
The main focus so far has been to efficiently and realistically animate multiple objects rather than running over pretty terrain. So mesh-collision support will have to wait until the next version.
Joint manipulation is simplified by the implementation of a Motor, Gear and Rod mechanical subsystem, where the rods eventually tie into the axis of Joints.
Optimizations such as taking motionless objects off the animation list and waking them back up during collisions are supported, as are proximity tests to cut down on more costly collision testing. Octree support is planned for the future but is not an issue right now since stepping the ODE world is currently the main bottleneck.
A major architectural decision was to implement my own version of spaces rather than use those in ODE. This just makes it easier to write and debug the framework as a whole, and it seems just as fast although I haven't done any serious benchmarking yet.
The whole purpose of this project was to provide a simulation environment for conducting experiments in Artificial Intelligence, therefore a major part of the next development effort will be to implement a Messaging system that will connect the most popular (and free) AI engines with Botworx VR.
User and developer participation is required to make this project succeed!
Please join me at http://www.botworx.org
Botworx VR is a Virtual Reality framework written in C++ that ties together the Open Dynamics Engine (ODE) physics framework with the OGRE 3D engine.
The reference application "Buggy Bots" demonstrates the usage of both static and dynamic bodies, realistic missiles and explosions, plus layout capabilities such as stacks, rows, grids and matrixes.
The main focus so far has been to efficiently and realistically animate multiple objects rather than running over pretty terrain. So mesh-collision support will have to wait until the next version.
Joint manipulation is simplified by the implementation of a Motor, Gear and Rod mechanical subsystem, where the rods eventually tie into the axis of Joints.
Optimizations such as taking motionless objects off the animation list and waking them back up during collisions are supported, as are proximity tests to cut down on more costly collision testing. Octree support is planned for the future but is not an issue right now since stepping the ODE world is currently the main bottleneck.
A major architectural decision was to implement my own version of spaces rather than use those in ODE. This just makes it easier to write and debug the framework as a whole, and it seems just as fast although I haven't done any serious benchmarking yet.
The whole purpose of this project was to provide a simulation environment for conducting experiments in Artificial Intelligence, therefore a major part of the next development effort will be to implement a Messaging system that will connect the most popular (and free) AI engines with Botworx VR.
User and developer participation is required to make this project succeed!
Please join me at http://www.botworx.org
Last edited by kfields on Mon Feb 07, 2005 10:36 pm, edited 1 time in total.
- tuan kuranes
- OGRE Retired Moderator
- Posts: 2653
- Joined: Wed Sep 24, 2003 8:07 am
- Location: Haute Garonne, France
- x 4
- Contact:
Could you post more "technical details" on your website...
What's botsworx goals/aim in AI field ?
From my understanding SOAR is only the RBS replacement... no paths, no terrain analysis, no visibility, no Memory, no Steering lib ( http://opensteer.sourceforge.net/ is awesome for that ), flockings or group decision ?
Do you intend to use other AI libs than Soar ?
Here's for your weblinks page :
http://www.ogre3d.org/phpBB2/viewtopic. ... 0955#40955
What's botsworx goals/aim in AI field ?
From my understanding SOAR is only the RBS replacement... no paths, no terrain analysis, no visibility, no Memory, no Steering lib ( http://opensteer.sourceforge.net/ is awesome for that ), flockings or group decision ?
Do you intend to use other AI libs than Soar ?
Here's for your weblinks page :
http://www.ogre3d.org/phpBB2/viewtopic. ... 0955#40955
- tuan kuranes
- OGRE Retired Moderator
- Posts: 2653
- Joined: Wed Sep 24, 2003 8:07 am
- Location: Haute Garonne, France
- x 4
- Contact:
Cannot compile on VC 7.1 because of illegals casts between your defined type and ode's types.
some examples :
VrGeom.cpp(38 ) : 'vrQuaternion' to 'const dReal []'
VrGeom.cpp(41, 52, 60) 'vrQuaternion' to 'const dReal []'
VrCamera.cpp(28 ) 'vrMatrix3' to 'dReal []'
23 errors in total : 19 in BwVr and 4 in buggybotsmain.
some examples :
VrGeom.cpp(38 ) : 'vrQuaternion' to 'const dReal []'
VrGeom.cpp(41, 52, 60) 'vrQuaternion' to 'const dReal []'
VrCamera.cpp(28 ) 'vrMatrix3' to 'dReal []'
23 errors in total : 19 in BwVr and 4 in buggybotsmain.
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
Yes, more will be posted when I learn what details people are interested in.tuan kuranes wrote:Could you post more "technical details" on your website...
After years of research I found that SOAR was the only open source RBS that is actually being used in practice by universities and the military. It also meshes pretty well with my own concepts about AI I had formed long before that. The problem with the official version is that it needs a total rewrite. Since it is published under the BSD license that is what I was attempting to do. Now, I am starting to think it would be wiser to find people with the same interests and attempt to build something better from scratch. The AI community is so secretive it seems like a very difficult task.tuan kuranes wrote:What's botsworx goals/aim in AI field ?
True, a good gaming RBS would need all of these things as plugins.tuan kuranes wrote:From my understanding SOAR is only the RBS replacement... no paths, no terrain analysis, no visibility, no Memory, no Steering lib ( http://opensteer.sourceforge.net/ is awesome for that ), flockings or group decision ?
Yes, if they are interesting enough to justify spending the time to integrate them.tuan kuranes wrote:Do you intend to use other AI libs than Soar ?
I will definitely check it out.tuan kuranes wrote:Here's for your weblinks page :
http://www.ogre3d.org/phpBB2/viewtopic. ... 0955#40955
Thanks for the input!!!
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
Oops ... ... I should probably just typedef that stuff.tuan kuranes wrote:Cannot compile on VC 7.1 because of illegals casts between your defined type and ode's types.
some examples :
VrGeom.cpp(38 ) : 'vrQuaternion' to 'const dReal []'
VrGeom.cpp(41, 52, 60) 'vrQuaternion' to 'const dReal []'
VrCamera.cpp(28 ) 'vrMatrix3' to 'dReal []'
23 errors in total : 19 in BwVr and 4 in buggybotsmain.
Anyhow, I'll be upgrading the whole deal to VC 7.1 and Ogre .15 by this weekend hopefully.
Please post all future questions and comments to http://forums.botworx.org and I will be happy to reply (and fix bugs).
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
When I began this project about a year and a half ago I don't think OgreODE existed at that time or I might have. But then I would have missed the fun of writing my own.:wumpus: wrote:Looks like something very interesting to toy with
One question though, I wonder what was your reason to create your own OGRE-ODE binding and not use Monsters?
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
Tuan,tuan kuranes wrote:Cannot compile on VC 7.1 because of illegals casts between your defined type and ode's types.
some examples :
VrGeom.cpp(38 ) : 'vrQuaternion' to 'const dReal []'
VrGeom.cpp(41, 52, 60) 'vrQuaternion' to 'const dReal []'
VrCamera.cpp(28 ) 'vrMatrix3' to 'dReal []'
23 errors in total : 19 in BwVr and 4 in buggybotsmain.
Last night I switched machines from a 1.8 GHZ P4 + GeForce3 to a 2.4 GHZ Athlon XP + Radeon 9000.
I also upgraded all of the projects from VC7 to VC7.1 sans stlport.
Additionally I moved from Ogre .14 to .15
The only thing I had to fix dealt with casting an int to Ogre::Radian which was fixed in 5 minutes.
Are you using ODE .5 ?
Another thought is maybe you have ODE configured for single precision whereas BwVr defaults to double. Open VrRequired.h and change
Code: Select all
#define VR_DOUBLE
Code: Select all
#define VR_SINGLE
Hope this helps.
Oh yeah, does anyone know why
Code: Select all
scene_blend add
- _mental_
- OGRE Retired Team Member
- Posts: 419
- Joined: Mon Jan 27, 2003 11:51 pm
- Location: The Woodlands, TX
- Contact:
What errors do you get with the GL render system? It should work just as well as the DX one. What graphics cards did you use for testing and which versions of the drivers?kfields wrote:Another problem is the OpenGL renderer has never worked on either machines or graphic cards, this is with and without stlport, different compilers etc...
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
My machines and graphic cards are mentioned in a post above._mental_ wrote:What errors do you get with the GL render system? It should work just as well as the DX one. What graphics cards did you use for testing and which versions of the drivers?kfields wrote:Another problem is the OpenGL renderer has never worked on either machines or graphic cards, this is with and without stlport, different compilers etc...
The drivers are the latest for each.
The offending function is:
Code: Select all
void GLArbGpuProgram::loadFromSource(void)
Code: Select all
char* errStr = (char*)glGetString(GL_PROGRAM_ERROR_STRING_ARB);
The call stack includes ...
Code: Select all
void ShadowVolumeExtrudeProgram::initialise(void)
Thanks!
- _mental_
- OGRE Retired Team Member
- Posts: 419
- Joined: Mon Jan 27, 2003 11:51 pm
- Location: The Woodlands, TX
- Contact:
- tuan kuranes
- OGRE Retired Moderator
- Posts: 2653
- Joined: Wed Sep 24, 2003 8:07 am
- Location: Haute Garonne, France
- x 4
- Contact:
Yes : ODE 0.5 and single precision.
Double precision is required ? or the two option are possible ?
After adding all the necessary casts, cannot launch it.
I get memory problems at the beginning when newing ROOT.
(but I do use STLPORT and even defined STL_PORT_DEBUG)
Do you use ogrememory manager in debug Mode ?
including ode.h with ogre is going toward problems unless, you make some
include ogre
include ode.h
becomes :
include ogre
include ogrenomemorymacros.h
include ode.h
include ogrememorymacros.h
same for all other lib used in same source as ogre's one.
And why don't you use pthreads library ?
Speaking of threads, I would make Ogre threads main one as it hardware dependant (GPU load, unload, swapbuffer, etc) and not thread safe.
Double precision is required ? or the two option are possible ?
After adding all the necessary casts, cannot launch it.
I get memory problems at the beginning when newing ROOT.
(but I do use STLPORT and even defined STL_PORT_DEBUG)
Do you use ogrememory manager in debug Mode ?
including ode.h with ogre is going toward problems unless, you make some
include ogre
include ode.h
becomes :
include ogre
include ogrenomemorymacros.h
include ode.h
include ogrememorymacros.h
same for all other lib used in same source as ogre's one.
And why don't you use pthreads library ?
Speaking of threads, I would make Ogre threads main one as it hardware dependant (GPU load, unload, swapbuffer, etc) and not thread safe.
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
Buggy Bots - Windows Installer Available
Hey guys,
Sorry for not replying sooner.
I finally put together an installer project so now you can go to http://www.botworx.org and see what I am talking about.
This release is using VC7.1, Ogre .15, ODE .5 and Microsoft STL.
I tested it on a GeForce 3 card as well as my Radeon 9000 and I'm still getting a weird effect with the explosion's using [scene_blend add] it's like it's totally ignoring Z-order and only adding to the skybox.
The only thing I can think of is the switch from .14 to .15 caused this.
Sorry for not replying sooner.
I finally put together an installer project so now you can go to http://www.botworx.org and see what I am talking about.
This release is using VC7.1, Ogre .15, ODE .5 and Microsoft STL.
I tested it on a GeForce 3 card as well as my Radeon 9000 and I'm still getting a weird effect with the explosion's using [scene_blend add] it's like it's totally ignoring Z-order and only adding to the skybox.
The only thing I can think of is the switch from .14 to .15 caused this.
-
- Greenskin
- Posts: 145
- Joined: Wed Jan 19, 2005 4:36 am
- Location: Arica, Chile
- kfields
- Gnoblar
- Posts: 17
- Joined: Wed Jul 14, 2004 4:26 pm
Botworx Demisal
Botworx is not dead. It's just that I need to come up with a $100 to get hosting for another year.RoundSparrow wrote:I can not reach the web site, did this project die?
If anyone can send some C++ or Java contracting my way I would really appreciate it.
As far as the Botworx software itself ... Things are getting a lot better.
I have implemented a class named VrPlace that extends my VrGroup.
This allows space partitioning and really speeds up the ODE side of things!
A QuadTree class has also been written that can generate Levels and Terrain with Heightmap support. I need someone to help me create a Renderable class for it though.
ODE Trimesh support is working also for both static and dynamic objects, although there are known issues with ODE that need to be resolved. I am toying with the idea to switch over to Novodex. Another problem is that you cannot have multiple solvers in the same world. Well, you can have worlds within worlds so to speak but the implementation does not allow joints to be created between bodies in separate worlds. Either there needs to be temporary proxies in both worlds or ... something.
Right now I'm tearing into Sinbad's StaticGeometry class. I'm writing a class that allow's multiple objects to share the same view object, which is a kind of wrapper for the Ogre/3D side of things. Fun stuff!
Now if I could just settle on the AI I want to write. I've been researching the best planners out there. The fastest are Graph Planners that use a technique called regression that backchains from the goal state to the initial state. Although backward chaining is the fastest technique, since it is not reasoning from the initial state forward it's kind of blind and may not find any solution in some cases! So what is necessary is a hybrid strategy. To start at opposite ends and use both forward and backward chaining simultaneously. That is going to take a LOT of coding.
Other items for those of you who may be reading this.
Check out openmesh.org, I'm using it to do mesh manipulations and it fit's in almost seamlessly with Ogre.
I also have a 3DCanvas to Ogre mesh converter script and COM app I've written. If anyone is interested let me know. Go to amabilis.com if you've never heard of it. Not a bad little modeller for $70!
Has anyone had any positive results with the Boost Spirit framework?
It's pretty complicated, it would be nice if someone would write an Open Source graphical editor to generate code.
In short, the project is not dead. Thank you for your interest.