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 |