Bounce
npm install @perplexdotgg/bounce



Bounce is a fast and determinstic 3D physics library for Typescript and Javascript projects. Bounce is written in pure Typsescript (no WebAssembly).
- Documentation (markdown): https://codeberg.org/perplexdotgg/bounce/src/branch/main/docs/documentation.md
- NPM Package: https://www.npmjs.com/package/@perplexdotgg/bounce
- Official Bounce website with demos, API and more info: https://perplex.gg/bounce
- Reference character controller implementation: https://codeberg.org/perplexdotgg/bounce-character-controller
## Official Examples
- Bounce + Three.js simple example (w/ Vite + Typescript): https://codeberg.org/perplexdotgg/bounce-simple-example
- Bounce + Three.js character controller example (w/ Vite + Typescript): https://codeberg.org/perplexdotgg/bounce-character-controller-example
- Bounce + Three.js MECS example, tower defense simulation: https://codeberg.org/perplexdotgg/mecs-tower-defense-example
## Community Examples
- Bounce + Three.js, vanilla JS example by Mameson: https://mameson.com/experiment/glsl/bounce_example/bounce_example.html (for code, just view source, it's very readable)
Bounce was created by:
- Durai Ziyaee - 90% of the code, physics R&D
- Hamza Kubba - 10% of the code, funding, direction, project management, QA, website
- Your name here? - Contributions are welcome!
Although Bounce is mostly original code, it is inspired by and draws heavily from:
- Jolt
- Rapier
- Box2D
- Godot
- gl-matrix
- Creating a dedicated documentation site (markdown docs)
- Fixing any reported bugs. Please file an issue if you run into problems.
- Want to see something here? Please create an issue.
If you like this project and would like to support our work, please consider contributing code via pull requests, or donating via open collective. Contributions are greatly appreciated!