Browse all books

Learning Java by Building Android Games: Learn Java and Android from scratch by building six exciting games

John Horton

Learning Java by Building Android Games: Learn Java and Android from scratch by building six exciting games

eBook (Packt Publishing Aug. 29, 2018) , 2nd Revised edition edition

Get ready for a fun-filled experience of learning Java by developing games for the Android platform

Key Features
  • Learn Java, Android, and object-oriented programming from scratch
  • Build games including Sub Hunter, Retro Pong, Bullet Hell, Classic Snake, and a 2D Scrolling Shooter
  • Create and design your own games, such as an open-world platform game
Book Description

Android is one of the most popular mobile operating systems presently. It uses the most popular programming language, Java, as the primary language for building apps of all types. However, this book is unlike other Android books in that it doesn’t assume that you already have Java proficiency.

This new and expanded second edition of Learning Java by Building Android Games shows you how to start building Android games from scratch. The difficulty level will grow steadily as you explore key Java topics, such as variables, loops, methods, object oriented programming, and design patterns, including code and examples that are written for Java 9 and Android P.

At each stage, you will put what you’ve learned into practice by developing a game. You will build games such as Minesweeper, Retro Pong, Bullet Hell, and Classic Snake and Scrolling Shooter games. In the later chapters, you will create a time-trial, open-world platform game.

By the end of the book, you will not only have grasped Java and Android but will also have developed six cool games for the Android platform.

What you will learn
  • Set up a game development environment in Android Studio
  • Implement screen locking, screen rotation, pixel graphics, and play sound effects
  • Respond to a player’s touch, and program intelligent enemies who challenge the player in different ways
  • Learn game development concepts, such as collision detection, animating sprite sheets, simple tracking and following, AI, parallax backgrounds, and particle explosions
  • Animate objects at 60 frames per second (FPS) and manage multiple independent objects using Object-Oriented Programming (OOP)
  • Understand the essentials of game programming, such as design patterns, object-oriented programming, Singleton, strategy, and entity-component patterns
  • Learn how to use the Android API, including Activity lifecycle, detecting version number, SoundPool API, Paint, Canvas, and Bitmap classes
  • Build a side-scrolling shooter and an open world 2D platformer using advanced OOP concepts and programming patterns
Who this book is for

Learning Java by Building Android Games is for you if you are completely new to Java, Android, or game programming and want to make Android games. This book also acts as a refresher for those who already have experience of using Java on Android or any other platform without game development experience.

Table of Contents
  1. Java, Android & Games
  2. Java Basics & An Introduction to Object Oriented Programming - Starting the Sub Hunter Game
  3. Java Variables, Operators, Expressions and Android Debugging - Spawning a Sub to Hunt
  4. Making Decisions with Java If, Else & Switch - Getting the Player's Input
  5. The Android Canvas Class, Drawing to The Screen - Firing Depth Charges
  6. While, Do While, For Loops, Break & Continue - Enhancing Sub Hunter Game
  7. Java Methods - Finishing Sub Hunter Game
  8. Object Oriented Programming - Starting the Pong Game
  9. Interfaces, Threads & Exceptions - Coding the Pong Game Loop
  10. Coding a class for the player's bat & Handling Input
  11. Collisions, Sound FX and Supporting Different Android Versions - Finishing the Pong Game
  12. Handling LOTS of Objects with Arrays - Welcome to Bullet HELL
  13. Drawing with Bitmap Graphics - Coding the Player and Finishing the Game
  14. Java Collections, The Stack, the Heap & Garbage Collection - Starting the Snake Game
  15. Using Java Enumerations - Building the Snake Class
  16. Android Localization, Hola! - Building a Retro Game Loop
  17. Finishing the Snake Game
  18. More Advanced OOP using Inheritance, Polymorphism & the Entity Component Pattern - Starting the Scrolling Shooter Game
  19. Managing Sound Better & Pausing the Game
  20. Coding The player's ship and Scrolling Stars
  21. Persisting Data & Finishing the Game
  22. Using More Advanced OOP with Singleton Pattern & the AssetManager Class - Starting the Platformer Game
  23. Viewing Huge Worlds Through a Camera
  24. Improving Performance with Object Pools & Animating with Sprite Sheets - Adding Enemies and Bullets
  25. Handling Multiple Screens & Communicating Between Objects - Finishing the Platform Game
  26. What next
Pages
774