Chipmunk (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Chipmunk physics engine
Original authorScott Lembcke
DeveloperHowling Moon Software
Stable release
7.0.3 / June 7, 2019; 6 years ago (2019-06-07)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC, Objective-C
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    TypePhysics engine middleware
    LicenseMIT License, formerly open core
    Websitechipmunk-physics.net

    Chipmunk2D is a 2-dimensional real-time rigid body physics engine written by Scott Lembcke that is designed to be portable, lightweight, fast, and easy to use.[1] Prior to version 7, two main versions of the library existed. Chipmunk2D Free was written purely in C99, and freely available under the terms of the MIT License. Chipmunk2D Pro was a proprietary upgrade designed for development on mobile devices. It included several high-level subroutines in Objective-C, and floating-point optimizations for the ARM processor.[2] However, after version 7 the project was fully open-sourced.[3]

    Aside from Objective-C, there are official bindings for Ruby, and third party interfaces exist for Python,[4] Haskell,[5] OCaml,[6] and others.[7] Chipmunk is endorsed by a number of game libraries, including Aerosol, Gosu,[8] and Cocos2d.[9]

    Features

    [edit | edit source]

    Chipmunk supports multiple collision primitives attached to one rigid body, and bodies may be joined by constraints. It has a flexible collision detection system with layers, exclusion groups and collision callbacks. Callbacks are defined based on user definable "collision types" and may reject collisions and even override the calculation of friction and elasticity coefficients.

    Version 7 of the library introduced "Autogeometry", an image tracing feature that transforms a raster graphic into a polygonal shape usable by the library. This feature is currently only available in the Objective-C version of the library.

    Chipmunk has been widely used on the iPhone, Mac/Windows/Linux, and other platforms, including Nintendo Wii and Sony PSP.[10]

    See also

    [edit | edit source]

    References

    [edit | edit source]
    1. ^ Chipmunk2d update reduced CPU hits for sleeping items
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Pymunk
    5. ^ Hipmunk: A Haskell binding for Chipmunk
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Bindings and Ports
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ "Chipmunk Physics ported to the PSP"
    [edit | edit source]