A Locoroco-like - Rigid-body Physics
BlitzMax Forums/BlitzMax Programming/A Locoroco-like - Rigid-body Physics
Hello all,
I really whant since a long time now realize a kind of LocoRoco~Gish gameplay.
My question is simple, what solution BlitzMax provide me for this task and what kind of modules do i need ?
I'm quite impress by 3impact for is physics behaviour (most of all, the engine is quite stable and done) but is this really a suit solution for a 2D polygonal game with BlitzMax ?
I've bought a licence of TorqueGameBuilder but the rigid-body engine is really buggy at this stage and you can't draw polygon without issues. There even no pixel buffer drawing commands at all !
Is there any modules or Library that could handle 2D rigid-body physics (like more or less tokamak for example when apply restrictions) ?
I already know most of them (ODE, NOVODEX, physical,...) so if you have any good infos about this ;)
thank you !
There is no module.
There is a lib ( not for Max but for C++ ) for 2d rigid bodies www.flatland.sourceforge.net
Download it. It also have some pre-build demos check it out. I hope that someone will create a wraper for Max.
About Locoroco... I played a litle bit the flash version that is on the net( just the first stage ). The only thing that you really need it's a curve ( spline ) collistion detection with a moving circle. I have no idea how you can do that.
About other Libs. There is a wrapper of Ode by Chris C. a Newton wrapper By Thiery-Mike ( this one must be in the Modules are of the forum). But as I said you need curve and moving circle collision detection and non of them have this.
Surely LocoRoco and Gish are using Soft-body Physics, not rigid-body? I don't think any of the popular free engines support soft body dynamics yet. Perhaps Ageia PhysX does?
You could probably create some LocoRoco like using verlets, although a collision library is still needed.
One idea perhaps would be atom physics basing on what you want to do.
http://www.aidspan.org/alec/physical/overview.htm
Thanks for all
@Dreamora
i've already try Physical, it's more a framework than a library. Impossible to use with BlitzMax.
@grable
I don't know Verlets, if i'm using something like BlitzMax it's probably because i'm waiting for an overall solution.
@Gabriel
I think you right, it's more Soft-body, this therm is quite new i must say. Though rigid body would be enough for me.
@Haramanai
Oh yeah Good one, i forgot it : Flatland (http://flatland.sourceforge.net/) The demo look awesome !
C++ is killing me :( I don't whant and don't have time to do C++ snif.
@Gabriel
I believe Gish is still rigid body. Just simulated 'soft-body' with something like springs and linked joints around the blob (its probably an over-simplification but hopefully you get the idea). Seems soft-body would be way too complex for such a seemingly simple (and good performing) game like gish.
Verlets are pretty use to make ;)
heres a simple example (read up on "Verlet Integration" for more info):
EDIT: btw, this example is not a complete verlet, for simplicity.
EDIT #2: now in code archives,
http://www.blitzbasic.com/codearcs/codearcs.php?code=1769
You can try to decompile the flash-version, although that wouldn't spoil you with very readable code...
nice code example, grable
Rck: thanks =)
heres an updated version, with rotation and simple editing for those who want to play with it some more ;)
EDIT: now in code archives
http://www.blitzbasic.com/codearcs/codearcs.php?code=1769
That code is awsome grable.
You should pop it into the code archives.
Dialob: its in there now ;)
YEA - and its cool.
im trying to get two objects to react with each other just cause i'm bord :)
Who's bored...?
Cool Byteemoz =)
add this to the main loop for turning the selected point on/off, saves you from building support structures ;)
' turn point on/off
If KeyHit( KEY_A) Then
If mpoint <> Null Then
mpoint.active = Not mpoint.active
EndIf
EndIf