https://github.com/AndrejMitrovic/dchip

What is Chipmunk2D?
===================

Chipmunk2D[1] is a 2D rigid body physics library distributed under the
MIT license. It is intended to be blazingly fast, portable,
numerically stable, and easy to use. It’s been used in hundreds of
games across just about every system you can name. This includes top
quality titles such as Night Sky for the Wii and many #1 sellers on
the iPhone App Store.

Chipmunk2D is platform-independent and has no dependencies, other than
for its test-suite which requires the GLFW library.

[1] : http://chipmunk-physics.net/release/ChipmunkLatest-Docs/

What is DChip?
==============

DChip[1] is a direct D2 port of the C library without no API changes.
This ensures the documentation and tutorials for Chipmunk2D can be
used with DChip with very little to no changes in code. See more
information and building instructions at its github[1] page.

Note: There was a previous effort at porting the Chipmunk2D library to
D called Chipmunkd[2], which was implemented by Stephan Dilly.
Chipmunkd targets an older v5.3.5 version of Chipmunk2D and can be
found at its bitbucket[2] page.

[1] : https://github.com/AndrejMitrovic/dchip
[2] : https://bitbucket.org/Extrawurst/chipmunkd

DChip targets the latest Chipmunk2D version (currently v6.2.1) and
includes its GLFW-based test-suite which was ported to D.

Why a port and not a binding?
=============================

There are a number of reasons why a port was made and why it can be beneficial:

- The C library is relatively small, clocking in at about ~11.000
lines, + ~8.000 lines of test-suite code.
- With a port there's no need to worry about exception propagation
across language barriers.
- Less dependencies on external binaries or the requirement to build C
code with another compiler.
- Potential inlining opportunity.
- A physics library could be a good test to benchmark the various D compilers.
- The D codebase can serve as starter code for someone wanting to
implement their own physics library in D. The permissive MIT license
allows anyone to use the code for whichever purpose they may have.

https://github.com/AndrejMitrovic/dchip

Reply via email to