Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What materials did you use to develop the physics engine #50

Closed
WREQI opened this issue May 6, 2022 · 1 comment
Closed

What materials did you use to develop the physics engine #50

WREQI opened this issue May 6, 2022 · 1 comment

Comments

@WREQI
Copy link

WREQI commented May 6, 2022

What materials did you use to develop the physics engine

@saharan
Copy link
Owner

saharan commented May 21, 2022

Everything I met in my life.

Jokes aside, open source projects are really good materials to learn what you actually need to do for moving stuff in a practical way. Books are very useful to learn fundamental things such as mathematics, physics, and programming, but most of the time, they aren't instantly useful to build a physics engine, since many detailed techniques are required to make everything practical, and such techniques are often omitted in books. In open source software, however, such techniques can never be omitted because they just need to be there to make everything work correctly.

So, if you want to develop your own physics engine, I recommend you

  1. Learn basic mathematics and physics by any means. They're essential.
  2. Read the source code of an open source physics engine project, edit it and watch what happens, understand what every part actually does. I think it takes a lot of time, but is the most important. Phys2D, Box2D, Open Dynamics Engine, and Bullet Physics are my recommendations (roughly from easiest to hardest).

I think the best way to learn things varies from person to person, but this is how I learned stuff.

@saharan saharan closed this as completed May 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants