Replacing Blitz3d collision with JV-ODE collisons?

Blitz3D Forums/Blitz3D Programming/Replacing Blitz3d collision with JV-ODE collisons?

Cubed Inc.(Posted 2014) [#1]
I purchased the JV-ODE physics wrapper for Blitz3d in order to improved the quality of my games. My main purpose for buying the wrapper, however, was to replace Blitz3d's generally poor, unsophisticated, sold collision detection system with something more sophisticated and capable of handling dynamic collisions.
Asking anyone out there who may have used the wrapper for the same reasons, would it be possible to just use JV-ODE's dynamic collision functions purely without all the fancy stuff? Like, taking the game I have now, removing all of the Blitz3d collision functions, and replacing them with JV-ODE collisions so that characters can stand on moving platforms and jump into corners without getting stuck?
Any previous experience or help would be greatly appreciated.


RemiD(Posted 2014) [#2]
With several linepicks or several colliders spheres for each moving character you can already do that...

Also the Bullet physics engine has a character controller (capsule collider). See : http://tools.mirage-lab.com/


Cubed Inc.(Posted 2014) [#3]
What do you mean by the 'several linepicks or several colliders spheres'? I'm very interested.


RGR(Posted 2014) [#4]
Blitz Collision is not poor - not unsophisticated - it does its job and never forget - B3d is a 10 year old programming tool, not further developed since 6 years or so.
You said you bought JV-ODE Blitz Wrapper.
For the same reason said above, there are not many Users of B3d+Ode left (working daily with that software combination).
But there are many examples coming with Ode anwering exact your questions. I guess it is better to try them all out and learn to understand how to use it with your games than waiting for answers here.

If you want to replace your collision system in your games with realistic physics you made a good choice. Ode is in my view the easiest to learn and most useful tool.


............................................................................................................................


RemiD(Posted 2014) [#5]
Cubed inc >> The idea is to use linepicks or colliders spheres as sensors around a pivot.

Instead of using one collider sphere as the way to prevent your character to go through the environment or through others moving characters, you set each character mesh has a child of a pivot, you move the pivot, and you use several linepicks or several collider spheres (destroyed and recreated each frame, when necessary) to detect a collision with the environment or with others characters.
Then you can reposition each pivot at the wanted position by using the picked point infos or the collided point infos, the collider position and tformpoint.

The easier way would be to use several linepicks.

Some things to keep in mind :
If you use several linepicks, you want to have low tris "pickable" meshes, it will be faster.

If you use several colliders sphere you also want to have low tris "collidable" meshes, it will be faster.

Because the linepicks or the colliders spheres are used to sense the environment and others characters and not to prevent the character to go through the environment and others characters, you must not move the character faster than the length of the linepick or than the radius of the collider sphere.

If you don't understand what i have written, you need to do more tests with linepicks and "pickables" meshes and with colliders and "collidables" meshes. Then reread this, it will make sense.

For moving platforms, i would use one linepick (to down) per character to detect the platform, and a state to know when to apply the gravity force or not.


Charrua(Posted 2014) [#6]
the following is pure blitz code, using a dynamic collision lib

just to show things blitz can do.

the lib


an example



if you use ode, you have to just have to remember the following simple rules.

You have blitz entities (primitives or meshes) only as skin

for each blitz entity you may have a similar physics body created in ode
apply physics properties to it and let ode to calculate physics behavior, then in each loop of your program you have to replace and rotate each blitz entity linked to a physic body.

is as simple as is.

juan