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!).
Development
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!
Final thoughts
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
Pablo Isidro
Posted at 11:32h, 28 FebruaryThanks!
Al
Posted at 15:16h, 28 FebruaryReally it’s a nice game hope you will reach your goals.
I have one question: can you tell us the dimension of the background image?
TIA
aukStudios
Posted at 11:10h, 06 MarchHi Al, sorry for being slow to reply.
My background is 570×380 in regular size, and 1140×760 in @2 size. I didn’t bother to make an @4 size, since the file size would be so large for very little noticeable different in quality.
Appvism
Posted at 09:06h, 02 MarchRe: “First, I coded quick and dirty prototypes of several different ideas.”
I agree with this also, i’m still building my first game and prior to going all the way with this making working prototypes to demo the basic gameplay mechanics helped a lot!
Thanks for the post!
mick
Posted at 23:34h, 03 MarchLetter Box Nightmare
http://stackoverflow.com/questions/15112123/corona-sdk-showoverlay-behaviour-strange
Worth a mention
Denis Larkin
Posted at 16:04h, 08 MarchGreat thought, something a bit off topic is that I wish there would be just one platform to develop on, so you could reduce cost to develop apps, however if you need simple nice and very importantly, cheap app you could use ibuildapp.com for example, where one can find all types of designs and publish app on both platforms