Chipmunk2D es un motor de física de cuerpos rígidos bidimensional en tiempo real escrito por Scott Lembcke que está diseñado para ser portátil, liviano, rápido y fácil de usar. [1] Antes de la versión 7, existían dos versiones principales de la biblioteca. Chipmunk2D Free fue escrito exclusivamente en C99 y está disponible gratuitamente bajo los términos de la licencia MIT . Chipmunk2D Pro fue una actualización patentada diseñada para el desarrollo en dispositivos móviles. Incluía varias subrutinas de alto nivel en Objective-C y optimizaciones de punto flotante para el procesador ARM . [2] Sin embargo, después de la versión 7, el proyecto fue completamente de código abierto. [3]
Aparte de Objective-C, existen enlaces oficiales para Ruby y existen interfaces de terceros para Python , [4] Haskell , [5] OCaml , [6] y otros. [7] Chipmunk cuenta con el respaldo de varias bibliotecas de juegos, incluidas Aerosol, Gosu, [8] y Cocos2d . [9]
Chipmunk admite múltiples primitivas de colisión unidas a un cuerpo rígido, y los cuerpos pueden unirse mediante restricciones. Tiene un sistema flexible de detección de colisiones con capas, grupos de exclusión y devoluciones de llamada de colisiones. Las devoluciones de llamada se definen en función de "tipos de colisión" definibles por el usuario y pueden rechazar colisiones e incluso anular el cálculo de los coeficientes de fricción y elasticidad.
La versión 7 de la biblioteca introdujo "Autogeometría", una función de seguimiento de imágenes que transforma un gráfico rasterizado en una forma poligonal utilizable por la biblioteca. Actualmente, esta función solo está disponible en la versión Objective-C de la biblioteca.
Chipmunk se ha utilizado ampliamente en iPhone , Mac/Windows/Linux y otras plataformas, incluidas Nintendo Wii y Sony PSP . [10]