Recently I was working on an Android app which I was planning to publish on the Android Market (lately known as Google Play).
The application is in fact a game. Here are some frameworks and technologies that I used in my game in case you are interested in developing your own Android games.
Game EngineAs you probably have figured out, developing a game from scratch can be very difficult and time consuming that is why it is much better to build upon existing infrastructure such as game engines.
A game engine can make it very easily to work with scenes, loading textures, creating sprites, using sounds, music, creating menus and so forth.
There are a few game engines available for Android. The one that I was using is called AndEngine and was developed by Nicolas Gramlich.
Here are some resources about AndEngine:
- http://www.andengine.org/, home page
- http://www.andengine.org/forums/, very useful for finding solutions to problems you might encounter
- http://www.andengine.org/forums/tutorials/getting-started-with-andengine-t11.html, getting started
Global HighscoresIn my game I have implemented a local high-score system using SQLite database which is bundled with Android. In a nutshell I have a database table which stores the scores for each difficulty which gets queried and updated while the game is running.
However in order to make the game more interesting you can implement a global high-scores solution. This means that the scores will be saved over the web and be available from the web on any device. There are a few services which can do this such as OpenFeint, ScoreNinja and ScoreLoop.
However the one I used is called Swam. I like Swarm due to being lightweight, simple to use yet powerful.
More information about Swarm: http://swarmconnect.com/
Crash ReportingEvery application has bugs because we are humans and we make mistakes. However it is important to properly test your application and to collect the bugs from your customers in an easy and simple way.
This can be done by having the user / customer sent automatic bug reports to you. I found a tool for Android that does just that. It is called ACRA or Application Crash Report for Android.
This framework can collect various information about the device (including logs) when an error occurs that caused the application to crash. This information can be added to a Google Spreadsheet which you created or can be sent as an email to your mail server.
More information about ACRA: http://code.google.com/p/acra/
These are 3 important concepts which I used while developing my game. I hope this helps you in developing your own Android Game.
Best of luck!