TechWire

AN INTRODUCTION TO ANDROID MOBILE GAME DEVELOPMENT – PART 2

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.

Owy-icon

Figure 1: Icon

owy_gameplay

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.

owy_levels

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.

owy_google_play

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.

ridiculous-juggling

Figure 4: Main menu of Ridiculous Juggling

ridiculous-juggling2

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.

rj_googleplay

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.

zeobrane

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

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.

inkspace

 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://cgcookie.com/unity/

http://walkerboystudio.com/html/unity_training___free__.html

About author View all posts

Manindu

An undergraduate of University of Colombo School of computing and a passionate indie game developer

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.