- What is it?
A child-centric iPad app that allows children to create/manipulate particles with their fingers and experience physics simulations
- What is my role?
- Platform / Technology & Language used:
iOS / Objective-C, OpenGL, Bullet Physics
- What are my responsibilities?
Pre-production technical research, draft and finalize the software requirements, determine technologies and platform, actual implementation of the application, re-iterate control schemes, utilize Bullet physics engine and integrate it into the app, and testing/bug fixing
- What did I learn?
It was decided early on that we would make an iPad app. Having no iOS development experience before, I had to learning Objective-C on the job. In the design phase, we laid out clear software requirements, list of features that we had to include in the app. It was done reasonably well, so we were all clear on what we were building. The implementation process, on the other hand, involved quite a bit of trials and errors to figure out the most intuitive control scheme that kids can understand easily. Also, since it was designed to be played by more than one user, complicated and creative gestures were out of questions.
After some research, I decided to use Bullet Physics, a physics simulation engines, to minimize the risks of writing it myself. However, its documentation is rather lacking and unclear. I ended up spending more time on making it work. I’d probably implement collision detection and simple physic simulation myself if I could, but due to time and resource constrains, it wasn’t feasible for our team. Another problem we encountered was performance. Bullet Physics require lots of processing resources which iPad isn’t capable of handling. However, since it ran reasonably well on the simulator, we did not identify this issue until late in the production. It required a lot of optimization works which we didn’t have the time for.
By the end of the project, I am more comfortable developing for iOS. It might not be ready for release yet, but as a proof of concept, it was great. With more polishing works, it has potential to publish on the app store.