Book Image

Augmented Reality Game Development

By : Micheal Lanham
Book Image

Augmented Reality Game Development

By: Micheal Lanham

Overview of this book

The heyday of location-based augmented reality games is upon us. They have been around for a few years, but the release of Pokémon Go was a gamechanger that catalyzed the market and led to a massive surge in demand. Now is the time for novice and experienced developers alike to turn their good ideas into augmented reality (AR) mobile games and meet this demand! If you are keen to develop virtual reality games with the latest Unity 5 toolkit, then this is the book for you. The genre of location-based AR games introduces a new platform and technical challenges, but this book will help simplify those challenges and show how to maximize your game audience. This book will take you on a journey through building a location-based AR game that addresses the core technical concepts: GIS fundamentals, mobile device GPS, mapping, map textures in Unity, mobile device camera, camera textures in Unity, accessing location-based services, and other useful Unity tips. The technical material also discusses what is necessary for further development to create a multiplayer version of the game. At the end, you will be presented with troubleshooting techniques in case you get into trouble and need a little help.
Table of Contents (17 chapters)
Augmented Reality Game Development
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

The Singleton


When we started the development of our game, we managed all our objects locally within the scene. We didn't want or need to worry about the lifetime of our services/managers. However, as almost always is the case, our game matured, and we started using multiple scenes. Now, we needed our services or manager classes to be easily accessible by child scenes and almost anywhere in our code.

In games of old, we would have just created a global or static variable to track game state across scenes or scripts. A global static class could work, but suffers from a number of limitations, as follows:

  • Static classes are lazy loaded and can be especially fragile in Unity.
  • Static classes cannot implement an interface.
  • Static classes can only be derived from an object. They cannot inherit from MonoBehaviour and thus be used as components in Unity, which means that they cannot also use Unity Coroutines or other base methods, such as Start, Update, and so on.

Let's take a look at the difference in...