Original Post
So I've been playing a bit with Box2D, the intention is to create a 2D physics platformer.
But I really can't figure out how to best control the player character via Box2D, I've look around the internet some and while there are some examples out there, all I can find are pretty crap and have major flaws or can't really be tweaked in any practical way. The idea is for the player character to have momentum, the world will have angled terrain that will slow down the movement a bit, and given steep enough angles the character should simply slip back down. The player should be able to drag and get pushed moving blocks. The player should not act like a vehicle but should stick to the ground. We definitely want to be able to tweak the feeling of the player character. The character feeling in LIMBO (http://www.youtube.c...h?v=t1vexQzA9Vk) is similar in nature to what we have in mind.
I've played with a dynamic body consisting of a sphere "leg", but it has rather erratic behavior, it will slide regardless of friction with no impulse applied when put on an angled surface. And sometimes it will instead get "stuck" on the very same surface instead, not sliding at all, but also not being able to go uphill. By simply going back and forth along some chain edges.
Of course I'm not expecting a solution, simply what "tools" I should use, there's something called kinematic bodies, but I can't really tell what they're actually meant for... it seems like I should be using dynamic bodies, or? I wouldn't really have an issue with just completely overriding the dynamic body physics for the player, but it must interact with the physics of the world to some degree; being "realistically" pushed by moving blocks (small ones should just bump you) and also be "realistically" affected when moving blocks (player should be affected by the momentum and weight of the block).
Any hints?
It's stripped of all graphics and such at the moment, and I doubt there's anything of interest to see (the player is the little sphere), but here it is anyway:
http://imageshack.us...812/testzs.jpg/
But I really can't figure out how to best control the player character via Box2D, I've look around the internet some and while there are some examples out there, all I can find are pretty crap and have major flaws or can't really be tweaked in any practical way. The idea is for the player character to have momentum, the world will have angled terrain that will slow down the movement a bit, and given steep enough angles the character should simply slip back down. The player should be able to drag and get pushed moving blocks. The player should not act like a vehicle but should stick to the ground. We definitely want to be able to tweak the feeling of the player character. The character feeling in LIMBO (http://www.youtube.c...h?v=t1vexQzA9Vk) is similar in nature to what we have in mind.
I've played with a dynamic body consisting of a sphere "leg", but it has rather erratic behavior, it will slide regardless of friction with no impulse applied when put on an angled surface. And sometimes it will instead get "stuck" on the very same surface instead, not sliding at all, but also not being able to go uphill. By simply going back and forth along some chain edges.
Of course I'm not expecting a solution, simply what "tools" I should use, there's something called kinematic bodies, but I can't really tell what they're actually meant for... it seems like I should be using dynamic bodies, or? I wouldn't really have an issue with just completely overriding the dynamic body physics for the player, but it must interact with the physics of the world to some degree; being "realistically" pushed by moving blocks (small ones should just bump you) and also be "realistically" affected when moving blocks (player should be affected by the momentum and weight of the block).
Any hints?
It's stripped of all graphics and such at the moment, and I doubt there's anything of interest to see (the player is the little sphere), but here it is anyway:
http://imageshack.us...812/testzs.jpg/