Like many of our users, App of the Week honoree Ruben Frosali is a gaming nut — and we mean that in a good way! His love for gaming certainly shows in his app PipClock, as he faithfully re-creates elements from the Fallout universe for use on the iPhone.
Below, he talks about using Corona SDK to create PipClock (his first-ever iPhone app) and why he gave up Objective-C after only two days.
I am a video game geek, the kind that not only plays video games but also buys all the merchandise, concept art books, making-of DVD’s and action figures. Enjoying a video game, for me, is not just taking a virtual gun and shooting as many enemies as possible — it’s more about the story, the credibility of the world the developers built around your digital alter-ego, and all the small details in the background.
Fallout, a series of games set in a post-apocalyptic retro-futuristic world, is the perfect example of all the things I love in games: compelling story, fun gameplay, and a huge universe to explore filled with incredibly sexy retro-futuristic architecture and devices. And if you’ve ever played the game, you’ll know the Pip-Boy, an electronic device that keeps track of all the important data that you, the protagonist, need to check in order to survive in the scorched wastelands.
Being the geek that I am, I’ve always wanted a device like the Pip-Boy in real life, but unfortunately, it’s not that easy to find pocket nuclear reactors nowadays… So, I decided to build my own Pip-Boy: the PipClock!
I’ve been working with ActionScript for almost 10 years. When I heard that Apple was giving the green light to the apps built with Flash, I began to design the user interface and write some code. In few days I had a small demo, joined the iOS developer program and — all excited — built my first iPhone app to test it on a device… And two minutes later, I realized that the performance was so bad and the app ran so slow that I would never be able to use Flash to build iPhone apps.
I tried learning Objective-C, but it was too different from ActionScript. After spending two days writing lines of code just to move a small green circle on the screen, I gave up. It was not fun to code in Objective-C.
Looking for alternatives, I came across the Corona SDK website, and it immediately got my attention.
Lua — the language used in Corona — looked pretty simple and straightforward, with a syntax similar to ActionScript that made me feel at home. The API documentation was clear and easy to understand. Loading an image and showing it on the screen, moving an object, and even handling system events — everything was easily understandable and pretty similar to ActionScript. Finally, a language that allowed me to move an object on the screen with only one line of code!
After downloading the demo and writing my first Hello World app, I thought “Okay, now let’s do something a little nicer,” and started creating PipClock.
The idea was to take the typical clock/weather app and build a post apocalyptic setting around it. Instead of showing weather info like all the other weather apps, I decided to process those data and show them on plain sentences, changing “rain” to “toxic rain,” or “humidity” to “nuclear fallout levels.”
As soon as I completed the main “clock” functions with the post-apocalyptic graphics, I built some betas for my friends, who began requesting new features. What about a flashlight like the one in the PipBoy? A Geiger counter could be handy… And what about day/night cycle visualizer?
After few months playing with the Corona SDK and testing new features, I finally released my first ever iPhone app through the App Store: the PipClock.
And I couldn’t be more happy!
Since the launch, I’ve been receiving many positive comments and so many feature requests that is getting hard to keep track.
The first update — probably coming in few weeks — will bring some improvements on the GPS location acquisition, landscape mode and more new eye candy and options. I’m also planning to add a lot of more substantial cool features like a mission to-do list, maps, memo recorder, and a communication function to broadcast and receive messages with all the other “survivors” (read: PipClock users) out there.
PipClock for iPad is also in the works — it will connect to the PipClock for iPhone and offer some unique supplementary features. Whereas the PipClock for iPhone is the portable device you always take with you in the devastated wastelands, the PipClock for iPad is going to be the device you should always keep on-hand at your nuclear fallout shelter.
Making iPhone apps is so much fun, but honestly I would have never been able to do it without an SDK like Corona.
Some miscellaneous notes about Corona SDK:
- Lua is a very easy language to learn and pleasant to use. Coming from AS3, it looked a little too simplistic at the beginning, but its simplicity and ease of use don’t limit what you can actually do.
- The Corona API’s are just great and straightforward to use. Ansca is doing an awesome job implementing commands, functions, and complex events with a syntax easy to understand.
- The debugging could be a little better (it’s actually on the Roadmap), but the Simulator to test the code is very fast and auto-refreshes every time you save or modify your project files. It’s awesome to be able to see your code running as soon as you write it.
- The lack of an IDE can be a little disorienting in the beginning, however it allows you to use your favorite tools to write and test code. I’ve heard that you can also use XCode, but I’ve always been a fan of TextMate, and with the Corona Bundle, it’s the perfect tool for the job.
- The Ansca Mobile website is full of great resources: API documentation, sample code, video tutorials, forum-where you can always find other developers ready to help you, and code sharing-a collection of ready to use code, submitted by corona developers, for your projects.
- There are many good third-party utilities and libraries for Corona. I’m currently using a great particle engine in PipClock called Particle Candy that’s pretty easy to use and looks great. Also, I can’t wait to buy Corona Remote an upcoming iPhone app that allows you to test the gyroscope without building to the device.