An introduction to game physics with Chipmunk

During the past week I’ve been writing a tutorial about Chipmunk, a physics engine very popular among 2D games. The article’s focus is mainly for the iPhone but the Chipmunk code itself is portable to any platform because it’s pure C. I’m thinking about giving the new preview of Monodevelop for OS X release a try and port all the article’s code to GTK proving how both Chipmunk and Mono can be valuable in cross platform game development. In fact, there are some statements that it’s possible to run Mono code in the iPhone in a legit way although little details are available, that would open grounds to develop for the Desktop, iPhone and Android all at once.

As I never wrote extensive tutorials before I’m actually surprised on how easy it was although it took a lot of work. Now I expect to keep expanding it and one day to move to 3D physics and OpenGL as well as trying to keep exploring the “cross-platform” options available for game development.

Go read it and leave a comment or contact me if you find any errors or suggestions.

Btw, I hope you like the new visual of the blog and site.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit Post to StumbleUpon

Tags: , , , , , ,

7 Responses to “An introduction to game physics with Chipmunk”

  1. dmitry says:

    Pretty good tutorial, much appreciated.

  2. […] An introduction to game physics with Chipmunk gives you an excellent tutorial on the physics engine that comes with cocos2d. […]

  3. Jon says:

    Great article, any word on you getting a chance to do one for joints etc?
    Thanks! :)

  4. Evana says:


    Tanks for such a nice tutorials. it helps lot for beginner.
    i have a question to you. i want to play a with rope image is it possible with chipmunk engine.
    i have to declare shape dynamically.
    Waiting for your reply.

  5. alexmipego says:

    You could. You can use joints for instance. Check their docs.

  6. Sergio says:

    Nice tutorials.
    I have a beginner question, I want to add, for example, 30 balls in space. It is possible to do in this code?

  7. alexmipego says:

    Yes, maybe you should simply use a “for” loop and store them in an array…

Leave a Reply

For spam filtering purposes, please copy the number 6322 to the field below: