This article is the 2nd part of the intro to android mobile game development. You can view part 1 here
I have developed two games using Corona SDK up to now and this is my experience as an indie developer.
Owy
I started developing games a year ago. First, I was playing around with XNA which is a game development framework developed by Microsoft. I developed some prototypes for an endless running game with three of my friends and that’s how I got into game development. After few months I wanted to publish a game for a mobile platform. By that time I didn’t have access to iOS and Windows Phone devices, so I chose to develop for Android. I started doing research on available game engines and frameworks such as Andengine, Unity3D and Corona SDK.
Andengine was not a good choice for me because I had plans to publish my game on other platforms in the future. Then I looked into Unity3D. By that time Unity3D didn’t have official 2D support. So, I had to use 3rd party extensions in order to work with 2D game assets and some of the best extensions were not available for free. After that I started playing around with the Corona SDK and I was impressed with that. Since I had plans for an iOS version of the game I decided to go with Corona SDK.
As a solo developer who was getting into game development, I wanted to create something simple but fun. An endless side scrolling game was my choice.
Design of Owy
As mobile game Owy has a simple storyline. Owy is little bird who loves cookies. The objective of the game is to fly as far as you can while collecting cookies while evading other birds.
I wanted to create an adorable character for the game and decided that it should be a bird. That was the birth of Owy. In the beginning it was named “Clivy”, but I found that name somewhat common on the internet. Then I renamed it to Owy. I chose that name because it was short and easy to pronounce.
Figure 1: Icon
Figure 2: Early game play environment
I designed the game to be quite challenging. The enemy birds are spawned in random positions and they move in different speeds. The game uses the touch control. When you touch anywhere on the screen Owy goes up and when you release he goes Down. Most people liked this simple mechanism. Then I wanted to add a leaderboard and achievements to the game. Google Play Game Services API was available by that time and I chose it to implement achievements and the leaderboard for Owy.
Figure 3: Achievements
It took two months for me to complete the game since I was working on it in my spare time. Owy was launched on 6th of November 2013 and now it’s available on Google Play for free.
Link : https://play.google.com/store/apps/details?id=com.boxfishgames.ProjectBirds
Ridiculous Juggling
Ridiculous Juggling is my second game and it was developed within a week. As my second game I wanted to create something which delivers a challenging gameplay experience.
Ridiculous Juggling is a game where you have to juggle a small ball using a larger ball. Sounds ridiculous right? That’s why it was named “Ridiculous Juggling”. This game is designed using flat colors and simple shapes such as circles and rectangles. I did this because I expected all the interfaces of the game to be simple and clean.
Figure 4: Main menu of Ridiculous Juggling
Figure 5: Gameplay
The game uses the accelerometer of the device. The player has to tilt the device in order to move the larger ball left and right. An online leaderboard is also available for ridiculous juggling and it was implemented in the same way as in Owy. Players can sign in using their Google account and submit the best score to the leaderboard.
Ridiculous Juggling is now available on Google Play for free.
Link: https://play.google.com/store/apps/details?id=com.jawdroplabs.ridiculous
Tools I used for the development
ZeroBrane Studio
Link: http://studio.zerobrane.com/
Zerobrane Studio is a free and open source lightweight IDE for Lua. This IDE supports several Lua game development frameworks such as Corona, Gideros, Moai and LOVE2D.
Features
- Portable and cross platform (Supports Windows, Mac and Linux)
- Auto-Completion for functions and keywords
- Live coding – It allows you to change the values of variables while the game is running in the simulator.
- The easy to use debugger.
Corona Simulator
Corona SDK provides a simulator to run your games for testing purposes. The best thing about this simulator is that it simulates so many devices with different screen resolutions. This comes in handy when we need to know how the game looks on different devices.
Inkscape
Link: http://www.inkscape.org/en/
Inkscape is a professional vector graphic editor. It’s free and open source and supports Windows, Mac and Linux. I chose Inkscape for a reason. I was a complete beginner in vector graphic designing when I was developing Owy. I wanted to use a vector graphic editor which is easy to learn and I found Inkscape easier to learn compared to Illustrator and some other tools out there. So I used Inkscape to create all the graphics used in my games. However, if you’re familiar with other software such as Adobe Illustrator and Photoshop, don’t hesitate to use them for your projects. Just make sure that you export the graphics in png format. That’s the image file format used in most of the games.
Figure 9: Inkscape
Learning resources for beginners
Corona SDK Tutorials
http://coronalabs.com/resources/tutorials/getting-started-with-corona/
http://code.tutsplus.com/tutorials/corona-sdk-build-a-monkey-defender–mobile-19608
Unity3D tutorials
http://unity3d.com/learn/tutorials/modules
http://www.unity3dstudent.com/
http://walkerboystudio.com/html/unity_training___free__.html