17 March 2009
ChipmunkS60 For Nokia 5800
Fast and Free Physics At Your Fingertips
Chipmunk is an open source 2D physics engine designed for 2D video games. It includes circle, convex polygon, and line segment collision primitives and multiple collision primitives can be attached to the same rigid body.
Recently, physics-based games have gained trendemous popularity. Physics-based games are easy to understand, yet hard to master and very appealing to the general public. Many games even use physics as their main gameplay element. One of the first popular examples was The Incredible Machine, followed many years later by Bridge Builder.
Chipmunk engine has been ported to almost every platform including the PSP and iPhone and thanks to the David Berger, one of the most popular open source 2D physics engines is now ported to the S60 devices as well (5th ed) .
The Chipmunk port used the Symbian S60 5th edition application "MobilePaint" as basic application for the game engine. After porting the C code from the original Chipmunk PC version it was used to integrate it into the MobilePaint application. Finally the complemental part was adding a small engine to use the draw mechanism for creating objects.
Finally the last status of the project is that you can draw rectangles and circles which get a own physical state. Furthermore you can draw lines which can be used as static collision objects. By changing the drawing color you can increase the gravity, by using the stroke tool you can decrease the gravity. A button for cleaning the screen is also available. Everything is done by using the touch interface.
Chipmunk Engine on Symbian 5th Edition
Draw immovable ground using the line tool. Circles or rectangles are movable objects that will obey the laws of physics and will automatically fall down. If you tap on the color tool, you increase the gravity. Tapping on the size tool decreases gravity; that way, you can even simulate negative gravity.
The Chipmunk engine was ported to S60 using OpenC++. As it requires a touch screen for drawing elements, it only works on S60 5th Edition devices (or later) - e.g., the Nokia 5800 XpressMusic or the Nokia N97.
Unfortunately, due to the fact that Nokia 5800 lacks the hardware graphic acceleration and the floating point support (Hardware - FPU), so any floating point maths is emulated in software and thus very slow - not good for a physics engine in fact but it runs anyway.
.:[ GAME ]:.
.:[ SOURCE CODE ]:.
Gameplay (steering):
When starting the application you will have a white space where you can draw all things.
On the side you have a tool panel which can be clicked and moved whereever you want. You choose your tool and start painting. During painting the physics will not be enabled. After you have finished your stroke will be moved by physics.

You can choose following tools:
- Clear Screen
- Freehand
-not implemented- this is not working atm. It just creates a dot at the end of the line. It should let you paint full closed polygons.
- Pencil
With the pencil tool you can create lines. This lines are static objects and will not move, but all objects will collide with this lines.
- Circle
You can create circles with this tool. After painting it gets a physic state.
- Rectangle
You can create rectangles with this tool. After painting a rectangel it will get a physic state.
- Color
By changing the color you can increase the gravity and you change the overall color of all objects.
- Stroke
By changing the stroke you can decrease the gravity until you create a negative gravity.
- Return
-not implemented- this is not working atm. It should remove the last item you painted.

|