This project was my first Android application I helped build. Back in 2011 I worked with a friend of mine, Matt Laux, to create an android application that simulated drawing with a marble dipped in paint. The idea was to have a blank canvas on the screen and a colored marble. When you tilt the device, the marble rolls around on the screen leaving behind a trail of color.
Most of my programming experience throughout high school consisted of me piddling around making things that no one would ever use. It was a really neat experience for me to finally work on a larger project and get a usable product as a result.
Overall, creating the app was a pretty crazy experience for me. I was decent at Java and I understood how a basic game loop works. I had never really made a shippable project before this app. I think the most valuable thing I got out of the project was how to code with other people.
What is MarblePaint?
MarblePaint is a mobile drawing application for Android devices. However, in order to draw, you must tilt your device to move a marble around the screen which in turn leaves behind a trail of paint. I got the idea from an art project I had way back in elementary school, where we dipped marbles in paint and rolled them around in a tray across a sheet of paper.
Matt and I were able to successfully create and publish MarblePaint to the Android market where it received over 10,000 installs.
What I Did
The majority of what I worked consisted of creating a realistic motion for rolling the marble, and all of the art for the app. I believe I used Photoshop Elements to create all of the image assets for MarblePaint. For the physics programming, I actually did some research to figure out how a marble actually rolls. After getting the basic movement, there was a lot of tweaking involved to get it to feel natural when you tilt the device.
The app was originally designed for Android 2.7. After a year we stopped providing updates, and the app is no longer in the market. This post is one of a few that I am putting on the site to mark projects that I have completed in the past. The date on the post does not necessarily reflect when the project was done.