The Fun in Mobile Game Development
I Feel Alive Again!
If you have read my previous blog “Reignite your coding passion”, you will know I found Mobile Game Development in Corona (a 2D cross-platform game development framework) as my savior to keeping my passion alive as a developer. Finding out that my high-school physics didn’t go to waste (although chemistry and biology did), utilizing it, making things move, making things collide, making a character run, making a game map, etc etc etc, I feel alive again! I’m having fun, and I thought I should share the fun you can have in Corona if you need some inspiration to get into Game Development as well.
My Ninja Runs!
Having Fun with Physics
The reason why some people don’t get into game development is because they are afraid of physics. But I’m here to tell you that it’s not that difficult. You don’t need to know advanced algorithms and formulas! Corona has the Box2D Physics Engine included by default, that takes care of most of the calculations. You simply need to define stuff like the weight, rotation, friction, bounce, force, gravity, anchor points, and basic stuff like this. The user just sets a value for a property, and Corona does the rest. When you combine all this and create a scene, and when you see things moving, falling, bouncing, basically creating life on your screen, and you say “I BUILT THAT”, it’s a different feeling of accomplishment altogether.
App Development vs Game Development
My daytime job in the office is to build Android Apps, not games. Don’t get me wrong, I love doing complicated stuff in apps and keep learning new things in that domain as well, but I feel I am experienced enough that I don’t need to scratch my head too much now to build complex features or figuring out bugs. But game development forces me to keep scratching my head all the freakin time, and that’s what I crave, that is actually my therapy, I feel refreshed after my daily session of game development after I come home from work.
I finally spent some Money!
I’m someone who hasn’t spent money on buying software licenses or images in the past (because, well, you know). I’ve relied on free software in the past, Corona itself is free, that’s another reason why I chose it (don’t worry, I’ll buy the premium license once I have enough money to spare).
A huge component in the success of any game is the graphics and it’s user experience. To make animations in Corona, you have to make something called “Sprite Image”, these are basically a collection of many images combined into a single image, and to create an animation, we define the position of each frame by giving it’s x, and y coordinates in the big image (see image below), now this is extremely time taking since you have to find the coordinates of each frame, and sprite images can even go over a 100 images. But I found some awesome stuff that forced me to spend money on to make my life easier. Keep reading!
Sprite image example
What I spent my Bling on
First I will highlight the Free software called “Tiled”. God bless the people over at Tiled for putting it out as free. It’s an amazing software. You can create and configure properties for an entire map of your game scene with simple drag and drop. I mean seriously? Why would you put something that great as free? Why? But they have, and it will also export everything in the manner Corona can read it, I just have to include it!
Where I spent some money on is a package deal by CodeAndWeb, they have 3 software packages; TexturePacker, SpriteIlluminator, and PhysicsEditor. I won’t get into the details of each package, each package does exactly what it says, and what would take me days, or even weeks has been reduced to simply a few hours. They offered a license for all three packages for a really nominal price, and I purchased that without a second thought!
My 4 helpers!
A Developer doing Designing!
Seems weird right? But like I said, graphics are important in games, and I don’t have enough money to hire designers and design stuff from scratch for my own side hobby. I had to leave my comfort zone and find some way to handle this. There are a multitude of free game assets available online. The packages I mentioned in the last section have made designing, creating animations, editing existing graphics, and building entire game maps really simple!
Start having Fun!
You don’t even need a native Android or iOS development background. Corona uses a scripting language called “lua”. Even a web developer can easily make a transition into this framework. Install the Corona SDK and just start having fun maaaaan!