Best 2D Physics Engines for beginners?

Started by
3 comments, last by Carbon101 11 years, 11 months ago
I am about to start on my next project in the near future and for now I use allegro. I do know some programming (C++, Java). I was wondering if there is a physics engine that is user friendly for beginners.
Advertisement
Try Box2d. cool.png

- Jason Astle-Adams

I hear, for Box2D, you need to be an expert with C++. I am not an expert and unfamiliar with some advanced topics(inheritance, polymorphism , encapsulation). Can you recommend another engine or library.
You certainly don't have to be an advanced C++ programmer to use Box2d but you probably would have trouble approaching it without at least basic knowledge of the topics you've mentioned -- perhaps you could have a look through the Box2d manual and see whether or not you think you could handle it -- then you'll at least be making a more informed decision rather than going on what you've heard. The Box2d faq recommends a working understanding of C++ including "classes, inheritance and pointers" for use of the library.

Unfortunately you're probably not going to find a capable physics library that you can use without learning a bit more about the language. My personal recommendation would be to concentrate on learning a bit more about the language -- and those topics in particular -- before approaching an idea that requires a physics library.

You could also consider Bullet Physics or ODE, but again unfortunately I'm not sure you'll find them to be more approachable than Box2d. If you're more familiar or comfortable with Java than C++, you could also consider that there are bindings of all 3 of the above libraries (Box2d, Bullet, ODE) for Java.


That being said, depending on your needs you might consider instead implementing your own simple physics instead of using a library; with some basic math and physics knowledge (which you could supplement online if you're not quite up to scratch) it shouldn't be overly difficult to implement some simple physics to operate on a smaller number of objects, and you may be able to get away without some of the more advanced knowledge of the programming language -- it all depends on just how complicated the game you want to make is, and on your knowledge of basic physics.


I hope that's helpful. smile.png

- Jason Astle-Adams

I guess I will have to push myself to successfully understand these advanced topics. Thank you for the help by the way.

This topic is closed to new replies.

Advertisement