BubblePaint v0.01
This is the results of my latest efforts to learn PyGame using PyMunk, a Python wrapper around the Chipmunk 2D physics engine. Eventually I hope to use this knowledge in a physics-based tank game, but right now, I’m just having fun ‘painting’ with the ‘bubbles’. There’s no great magic going on in my opinion, just some weekend coding fun.
In a nutshell:
- You paint with “bubbles” on the canvas using the mouse. It expects you have a 3-button mouse with a scroll wheel in the middle (because that’s what I have). Since its physics based, the bubbles will push each other around, and none will be overlapping (if given time to settle).
- LMB-drag draws bubbles
- MMB-drag up\down: changes bubble size. Bigger bubbles get darker, smaller bubbles get lighter.
- RMB-drag up\down: change brush hue
- Mouse-wheel: change pressure of bubbles (number applied at once, from 1->10)
- ‘s’ will save ‘test.png’ in the install dir.
You can find the Python source here:
- http://www.akeric.com/python/bubblepaint/bubblePaint.001.py
- This was built with Python 2.6.2, PyGame 1.9.1, and PyMunk 0.8.4, so be sure to have all of those up to snuff.
And you can find a zipped Windows executable here:
Future plans for this include:
- Shapes other than circles (square, triangle, random-polygon)
- Ability to enable gravity, and add static rigid bodies (more of a physics sandbox at that point)
- Images for the ‘bubbles’ rather than just solid color.
- The ability to ‘dry’ the canvas to allow for multiple layers of painting.
- A smarter way to save images.
- A toggleable overlay layer showing stats.
- Change the background color.
- User defined resolution. Currently set to 768×768
But we’ll see how much of that happens, I have family coming into two for the next few weeks