diff --git a/Projects/3-Advanced/Basic-Physics-Engine.md b/Projects/3-Advanced/Basic-Physics-Engine.md new file mode 100644 index 00000000..4d893102 --- /dev/null +++ b/Projects/3-Advanced/Basic-Physics-Engine.md @@ -0,0 +1,31 @@ +# Basic-Physics-Engine + +**Tier:** 3-Advanced + +Today's games have amazing physics engine that might have someday made you curious as to *the behind the scenes*. It's suprisingly not that hard to make. +So today you can try to make one of your own in a language of your own choice. The goal of this project is to create a ragbody physics engine using a concept called Verlet Integration. + +This concept utilizes the basic properties of vectors in physics to make ragdoll physics which u can use to make strings and cloths in your own games. + +**The above project may seem hard but i encourage you to explore the topic and try to build something basic from the same** + +## User Stories + +- [ ] User can add point objects that will be affected by physical mechanics (gravity, velocity, air resistance etc). +- [ ] User can connect point objects with inextensible strings that restrict their positions +- [ ] User can add forces to those point objects +- [ ] User can start and stop simulations + +## Bonus features + +- [ ] User can restrict position of points +- [ ] User can control set of points with his/her keyboard + +## Useful links and resources + +- [Verlet Integration](https://en.wikipedia.org/wiki/Verlet_integration) + +## Example projects + +- [Verlet Physics Engine](https://github.com/pranansh-s/Verlet-Integration-using-SDL) +- [PhysicsJS](https://github.com/search?q=physics)