Apress

Practical Android 4 Games Development

By J. F. DiMarzio

Practical Android 4 Games Development Cover Image

Practical Android 4 Games Development continues your journey to becoming a hands-on Android game apps developer. This title guides you through the process of designing and developing games that work on both smartphones and tablets.

Full Description

  • ISBN13: 978-1-4302-4029-7
  • 320 Pages
  • User Level: Intermediate
  • Publication Date: December 27, 2011
  • Available eBook Formats: EPUB, MOBI, PDF
  • Print Book Price: $39.99
  • eBook Price: $27.99
Buy eBook Buy Print Book Add to Wishlist

Related Titles

Full Description

Practical Android 4 Games Development continues your journey to becoming a hands-on Android game apps developer. This title guides you through the process of designing and developing game apps that work on both smartphones and tablets, thanks to the new Android SDK 4.0 which merges the User Interface and Experience APIs and more.

The author, J.F. DiMarzio, has written eight books, including Android: A Programmer’s Guide—the first Android book approved by Google—recently updated and translated for sale in Japan. He has an easy-to-read, concise, and logical writing style that is well suited for teaching complex technologies like the Java-based Android.

From 2D-based casual games to 3D OpenGL-based first-person shooters, you find that learning how to create games on the fastest growing mobile platform has never been easier.

  • Create 2D and 3D games for Android 4.0 phones and tablets such and the Motorola Xoom
  • Build your own reusable “black box” for game development
  • Easy-to-follow examples make creating the sample games a hands-on experience

What you’ll learn

  • How to design and develop compelling 2D and 3D games
  • How to create rich environments and characters
  • How to do collision detection
  • How to add realism to your games with basic game physics
  • How to create a gaming “black box” that can be reused
  • How to play your games on Android phones and tablets

Who this book is for

This book is for aspiring Android game app developers who are ready to move beyond beginning level books or tutorials on Android game building.

Table of Contents

Table of Contents

  1. Welcome to Andriod Gaming
  2. Star Fighter: A 2-D shooter
  3. Press Start: Making a Menu
  4. Drawing the Environment
  5. Creating Your Character
  6. Adding the Enemies
  7. Adding Basic Enemy Artifical Intelligence 
  8. Defend yourself!
  9. Publishing Your Game
  10. BlobHunter: Creating 3-D Games
  11. Create an Immersive Environment
  12. Navigating the 3-D Environment 
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.

Errata

If you think that you've found an error in this book, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.

* Required Fields

On page 41:
Beginning TextView tag is missing closing angle bracket (>) after "@id/creditsText".

On page 73-118:

Chapter 4 completely skips instantiating the SFGameRenderer class, generating a null pointer exception when you try to run the game.

It's not a minor error. You're stuck until you find the 3 lines of code from the source material.

On page 162-163:

The new gl.glGenTextures() method is misprinted outside the SFTextures(GL10 gl) constructor

It should be inside it like this:

package com.proandroidgames;

import javax.microedition.khronos.opengles.GL10;

public class SFTextures {

private int[] textures = new int[1];

public SFTextures(GL10 gl){
gl.glGenTextures(1, textures, 0);
}
}

On page 186 - 204:

The switch statement inside the moveEnemy() method contains a case for SFEngine.TYPE_WARSHIP which is misprinted without a following : character

it should look like this:

switch (enemies[x].enemyType){
case SFEngine.TYPE_INTERCEPTOR:
break;
case SFEngine.TYPE_SCOUT:
break;
case SFEngine.TYPE_WARSHIP:
break;
}