   2D XNA Physics Engine?
  I've spent most of the weekend tinkering with different physics engines in C# for a XNA project, and I'm feeling a bit frustrated.Example 1: I can't seem to have multiple 2D squares next to one another to form a segregated platform of sorts. Drop a player controlled square onto that platform, where the player only slides the square left and right. Does the player controlled square collide in such a way to send it spinning into the air? That should not happen imo, but seems to in each engine I've tried.Example 2: It takes a decent amount of work or oddball workarounds to disable rotation on single bodies. Example 3: Think of a pong paddle. It needs to reflect the ball without moving due to the force of the ball (no rotations or anything), while also allowing the player to slide it along an axis. Also, do any popular physics engines actually use circles as circles, rather than some number of points to represent a circle?Please forgive my ranting, but I'm hoping one of you are more familiar with a good engine that can easily do some of the things I'm describing. I'm only looking to do 2D at the moment, but 3D is fine if I can simply put all Z values at 0 for example.TorqueX sounds freaking awesome, but I don't really have the $ to fork out for a hobby project.   
box2dx has worked well for me and as far as I know meets all your criteria.EDIT:Quote:Original post by MythicsExample 1: I can't seem to have multiple 2D squares next to one another to form a segregated platform of sorts. Drop a player controlled square onto that platform, where the player only slides the square left and right. Does the player controlled square collide in such a way to send it spinning into the air? That should not happen imo, but seems to in each engine I've tried.I've never had this problem with box2dQuote:Original post by MythicsExample 2: It takes a decent amount of work or oddball workarounds to disable rotation on single bodies. just set FixedRotation to true in the bodyDefQuote:Original post by MythicsExample 3: Think of a pong paddle. It needs to reflect the ball without moving due to the force of the ball (no rotations or anything), while also allowing the player to slide it along an axis. you can use joints for the paddle and ray intersection to simulate the ball motion Quote:Original post by MythicsAlso, do any popular physics engines actually use circles as circles, rather than some number of points to represent a circle?box2d support circles and polygons   ;  I really, really love Farseer Physics, and I'm not easily impressed by middleware SDKs. Box3dx left me feeling a bit dubious from poking around, but I didn't actually download and try it. (The native version is excellent.) It doesn't do real circles, you have to use polygons instead, but just use a polygon with a fair number of sides and it works out fine IME.   ;  Thank you both for the replies.Quote:Original post by Kazeyou can use joints for the paddle and ray intersection to simulate the ball motionI have no idea how busy you might be, so feel free to say you don't have the time, but any chance you might be able to walk through something like that with me? Anyone else with the time would be more than welcome too of course, lol, but I'm not that familiar with using joints in these type of engines to achieve things like what's described (or much of anything else tbh).Quote:Original post by Kazebox2d support circles and polygonsActual circles, or simulated ones with x number of vertices set by the programmer? No idea if you've played it, but Peggle on the xbox 360 is a great example of something I'd like to duplicate to some degree. It'd just make a lot more sense to do actual circle to circle / circle to rectangle collision detection rather than potentially having weird bounces from time to time due to flat sides on the 'circles'.Quote:Original post by PromitI really, really love Farseer Physics, and I'm not easily impressed by middleware SDKs. Box3dx left me feeling a bit dubious from poking around, but I didn't actually download and try it. (The native version is excellent.) It doesn't do real circles, you have to use polygons instead, but just use a polygon with a fair number of sides and it works out fine IME.My first example was what kept me from Farseer. Maybe you can help me with that? Try putting 30-50 30x30 pixel squares on the screen, all right next to each other, and get a ball with a radius of 5-10 pixels (simulated with as many points as necessary) to roll across the multiple squares smoothly. If you don't have the time, please don't bother, but if you did I'd appreciate being told I was wrong and there is in fact a very simple way to achieve that.I was told by a moderator on their discussion board that I would have to do my own hack/workaround to achieve something like that. I personally thought that was a great example of what a physics engine would be for..Thanks,Mythics   ;  Box2dX comes with a demo app that demonstrates most of its functions so a good place to start would be to download that just to see what it can do.   