Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/odex64/box2d.net

Modern C# port of the latest Box2D v2
https://github.com/odex64/box2d.net

box2d csharp dotnet physics port

Last synced: 3 days ago
JSON representation

Modern C# port of the latest Box2D v2

Awesome Lists containing this project

README

        

# πŸš€ Box2D.NET

Welcome to **Box2D.NET**, a fast and modern C# port of the latest **Box2D v2**!

This port brings Box2D's powerful physics simulation to the C# ecosystem, offering high performance and precision for game development, simulations, and other physics driven applications. Fully compatible with .NET, it provides a seamless way to integrate realistic motion and collision handling into your projects.

---

[![Activity](https://img.shields.io/github/commit-activity/w/Odex64/Box2D.NET?style=flat-square&logo=github&label=Activity)](https://github.com/Odex64/Box2D.NET/activity)
[![Stars](https://img.shields.io/github/stars/Odex64/Box2D.NET?style=flat-square&logo=github&label=Stars)](https://github.com/Odex64/Box2D.NET/stargazers)
[![Build](https://img.shields.io/github/actions/workflow/status/Odex64/Box2D.NET/build.yml?style=flat-square&logo=github&label=Build)](https://github.com/Odex64/Box2D.NET/actions/workflows/build.yml)

> [!IMPORTANT]
> This framework is still in early stages.

βš™οΈ STATUS

## Collisions
- [ ] Broad Phase
- [ ] Chain Shape
- [ ] Circle Shape
- [ ] Collide Circle
- [ ] Collide Edge
- [ ] Collide Polygon
- [ ] Collision
- [ ] Distance
- [ ] Dynamic Tree
- [ ] Edge Shape
- [ ] Polygon Shape
- [ ] Time of Impact

## Common
- [ ] Block Allocator?
- [ ] Draw
- [ ] Math
- [ ] Settings
- [ ] Stack Allocator?
- [ ] Timer

## Dynamics
- [ ] Body
- [ ] Chain Circle Contact
- [ ] Chain Polygon Contact
- [ ] Circle Contact
- [ ] Contact Manager
- [ ] Contact Solver
- [ ] Contact
- [ ] Distance Joint
- [ ] Edge Circle Contact
- [ ] Edge Edge Polygon Contact
- [ ] Fixture
- [ ] Friction Joint
- [ ] Gear Joint
- [ ] Island
- [ ] Joint
- [ ] Motor Joint
- [ ] Mouse Joint
- [ ] Polygon Cricle Contact
- [ ] Polygon Contact
- [ ] Prismatic Joint
- [ ] Pulley Joint
- [ ] Revolute Joint
- [ ] Weld Joint
- [ ] Wheel Joint
- [ ] World Callbacks
- [ ] World

## Rope
- [ ] Rope

## Misc
- [X] Math

---

## πŸ› οΈ Motivation
The goal of this port is to provide a **modern**, **optimized**, and **managed** version of Box2D that addresses the shortcomings of existing implementations.

### 🚨 Outdated Versions
Many existing C# ports are based on older versions of Box2D, missing key updates and optimizations.
This port targets the final version of **Box2D v2**, ensuring you get the most **reliable** version.

### ⚑Optimized
Performance is a priority. Unlike other ports, this version is **optimized** to deliver smooth and scalable simulations, even for complex scenarios.

### πŸ–₯️ Best Practices
Many ports don't follow modern C# best practices, leading to code that is hard to maintain in the long term.
This port adheres to **C# conventions**, using clean and documented code for a better developer experience.

### πŸ’» Fully Managed
This port is written **entirely** in C#, with no reliance on native binaries, and works seamlessly across all .NET platforms.

### πŸ”„ Friendly API
Some API has been refined to fit C#, making it more **intuitive** while keeping the core functionality of Box2D intact.

### πŸ›‘οΈ Long Term Stability
This port targets Box2D 2.4.2, which is the **final version** (before it has been rewritten in C).
There will be no breaking changes in future, as the framework once completed will stay as it is.

---

## πŸ”§ Installation
*Coming soon...*

---

## πŸ“ Documentation
*Coming soon...*

---

## πŸ› οΈ Acknowledgement
**Box2D.NET** is licensed under the **MIT License**.
See the [LICENSE](https://github.com/Odex64/Box2D.NET/blob/master/LICENSE) file for more information.

Special thanks to [Erin Catto](https://box2d.org), the original author of [Box2D](https://github.com/erincatto/box2d)!