Book Image

Mastering Unity 2D Game Development - Second Edition

By : Ashley Godbold, Simon Jackson
Book Image

Mastering Unity 2D Game Development - Second Edition

By: Ashley Godbold, Simon Jackson

Overview of this book

The Unity engine has revolutionized the gaming industry, by making it easier than ever for indie game developers to create quality games on a budget. Hobbyists and students can use this powerful engine to build 2D and 3D games, to play, distribute, and even sell for free! This book will help you master the 2D features available in Unity 5, by walking you through the development of a 2D RPG framework. With fully explained and detailed C# scripts, this book will show you how to create and program animations, a NPC conversation system, an inventory system, random RPG map battles, and full game menus. After your core game is complete, you'll learn how to add finishing touches like sound and music, monetization strategies, and splash screens. You’ll then be guided through the process of publishing and sharing your game on multiple platforms. After completing this book, you will have the necessary knowledge to develop, build, and deploy 2D games of any genre!
Table of Contents (20 chapters)
Mastering Unity 2D Game Development - Second Edition
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface

State machines


In life, as well as in game development, state machines (or Finite State Machines as they are more commonly called) are a core component for day-to-day running. At a basic level, they tell us exactly what we are doing right now, what we were doing previously, and what we can do next.

They are commonly used for the following:

  • Menu systems

  • Game-level transitions

  • AI/behaviors

We can implement these within games in various ways, from the very basic (and generally hard to manage) to a more ordered system and beyond with full state managers.

A basic state machine is like a flowchart and looks something like the following diagram:

Defining states

In all implementations, we start with a collection of states, which define both what conditions/states are in the game and what we do when that state changes.

These states describe both what can happen when that state is active and what other potential states could result in an action from the current state. If we look at an example that describes...