In this chapter, we will describe the situations in which it makes sense to use the Android SDK for a game and those where it is best to use an external engine, explaining the pros and cons of each case.
We will create a simple project that we will be improving throughout the book, until it becomes a complete game. The particular game we are going to build is a Space Shooter.
A few top-level decisions will be made and explained, such as which orientation to use and how are we going to use activities and fragments.
We will describe the top-level architecture of a game engine, study how it is different from a typical app's, explaining why there is an UpdateThread
and how it interacts with the user input and why it is separated from the DrawThread
; we will include those elements in our project.
Once the game engine is completed, we will expand the project to show a pause dialog, handle the Android back key properly, be consistent with the Activity
lifecycle, and make it fullscreen.
Finally, we will summarize some best practices in writing code for games.
Topics that will be covered in this chapter are as follows:
The right tool for the right game
Setting up the project with Android Studio
Game architecture
Alert dialogs
Handling the back key
Dealing with the fullscreen mode
Good practices for game developers