28 February 2013
Guest Post: Tips from a first-time developer
Andrew Kallem is the developer of What the Block?!, a February App of the Week winner. Based on his experience building What the Block?! with Corona SDK, he shares tips on creating a concept and prototyping, development, designing for multiple screen sizes and the importance of testing, for budding developers.
My name is Andrew Kallem, and I’m the creator of What the Block?!™, a new puzzle game for iOS that’s soon coming to Android. Like many members of the Corona community, I’m a first-time developer, so I wanted to share a few tips with others who are working on or about to start their first project.
Concept and Prototyping
The first tip: Choose your project carefully! From the beginning, I knew I wanted to make a physics-based puzzle game, but even then, settling on the idea for What the Block?!™ didn’t happen right away.
First, I coded quick and dirty prototypes of several different ideas. One of the great things about Corona is that you can code a basic prototype in no time. Prototyping not only helps you see which of your ideas are actually fun to play, it also gives you a sense which will be easier or harder to code. It’s something I think all first-time developers should do.
Second, I knew I wanted to have a lot of puzzles (What the Block?!™ has over 150!), so I focused on ideas where creating them would be relatively easy. For any project, it’s worth thinking in advance how much content you want to have (puzzles in a puzzle game, levels in a platformer, questions in a trivia game, etc.). Be wary of ideas that will take you a lot of effort just to create the content (let alone the coding!).
Once I settled on the idea for What the Block?!™, I started fleshing out the prototype into a fully-fledged game. I learned far too much to write about in a single blog post, but I wanted to share two tips that I think are especially useful.
Designing for multiple screen sizes
Corona makes it easy to deploy to devices with any shape screen using the Dynamic Content Scaling feature. But here’s a tip to make it even easier: try using letterbox scaling and placing all of your visual elements relative to the screen corners, the centers of the screen edges, or the center of the screen. That way, no matter what the shape of the screen, everything is in the right place.
Here are some screenshots from an iPhone 4, iPhone 5, and iPad 3 illustrating the point. You can see that the sticky notes and photos on the top are placed relative to the corners, the blocks and the other game elements are placed relative to the center of the bottom edge, and the background is placed at the center of the screen (with a large enough image to cover all screen sizes).
Test, test, test!
Be sure to test your game on a real device as soon as you can, and more importantly, don’t just test “normal” play – do some “stress testing” too. Try touching two buttons at the same time, touching the same button quickly and repeatedly, touching buttons that are supposed to be inactive, using four fingers, changing your device’s orientation back and forth quickly, etc. Putting your game through the paces like this is a great way to find bugs that you wouldn’t otherwise notice but that your players will probably stumble across!
I’d be happy to talk more about these topics or any other aspects of my development experience, so feel free to reach out to me.
Meantime, I hope you’ll check out What the Block?!™ on the App Store!
Andrew Kallem, aukStudios