Unity AI Game Programming

Front Cover
Packt Publishing, Sep 24, 2015 - Computers - 232 pages

Leverage the power of Unity 5 to create fun and unbelievable AI entities in your games!

About This Book
  • Compose richer games by learning the essential concepts in artificial intelligence with exciting examples
  • Explore the brand new Unity 5 features that make implementing artificial intelligence in your game easier than ever
  • Using this practical guide become a competent Unity 3D developer by learning AI techniques, methods and the applicability of AI
Who This Book Is For

This book is intended for Unity developers with a basic understanding of C# and the Unity editor. Whether you're looking to build your first game or are looking to expand your knowledge as a game programmer, you will find plenty of exciting information and examples of game AI in terms of concepts and implementation. It does not require any prior technical knowledge of how game AI works.

What You Will Learn
  • Understand the basic terminology and concepts in game AI
  • Implement a basic finite state machine using state machine behaviors in Unity 5
  • Create sensory systems for your AI with the most commonly used techniques
  • Implement an industry-standard path-finding system and a navigation mesh with the Unity 5 NavMesh feature
  • Build believable and highly-efficient artificial flocks and crowds
  • Create a basic behavior tree to drive a character's actions
  • Make your characters more engaging by implementing fuzzy logic concepts in your AI's decision-making
  • Tie all the concepts together with examples and guides
In Detail

Unity 5 provides game and app developers with a variety of tools to implement artificial intelligence. Leveraging these tools via Unity's API or built-in features allows limitless possibilities when it comes to creating your game's worlds and characters. Whether you are developing traditional, serious, educational, or any other kind of game, understanding how to apply artificial intelligence can take the fun-factor to the next level!

This book helps you break down artificial intelligence into simple concepts to give the reader a fundamental understanding of the topic to build upon. Using a variety of examples, the book then takes those concepts and walks you through actual implementations designed to highlight key concepts, and features related to game AI in Unity 5. Along the way, several tips and tricks are included to make the development of your own AI easier and more efficient.

Starting from covering the basic essential concepts to form a base for the later chapters in the book, you will learn to distinguish the state machine pattern along with implementing your own. This will be followed by learning how to implement a basic sensory system for your AI agent and coupling it with a finite state machine (FSM). Next you will be taught how to use Unity's built-in NavMesh feature and implement your own A* pathfinding system. Then you will learn how to implement simple flocks and crowd's dynamics, the key AI concepts. Then moving on you will learn how a behavior tree works and its implementation. Next you will learn adding layer of realism by combining fuzzy logic concepts with state machines. Lastly, you learn applying all the concepts in the book by combining them in a simple tank game.

Style and approach

An easy-to-follow guide that is full of example implementations of the concepts and is accompanied by easy-to-understand demonstrations and explanations of the code and concepts.

About the author (2015)

Ray Barrera was a tinker in his childhood. From making mods and custom maps in games such as StarCraft and Unreal Tournament to developing open source role-playing games using RPG Maker, he always had a passion for game development. The passion stayed with him, and after many years as a hobbyist, he decided to take the plunge into professional development. In the initial stages of his career, he was fortunate enough to work on educational and research projects for major contractors in the defense industry, allowing him to blend his love for games with his innate desire to teach and create interactive experiences. Since then, he has straddled the line between entertainment and education. Unity was the logical weapon of choice for him as it gave him the flexibility to create games and applications and iterate quickly. From being an original member of the Los Angeles Unity meetup to helping coordinate Unity workshops at local colleges and high schools, he has been very active in the Unity community. You can follow him on Twitter at @ray_barrera.

Aung Sithu Kyaw has been in the technical industry for over a decade. He is passionate about graphics programming, creating video games, writing, and sharing knowledge with others. He holds an MSc in digital media technology from the Nanyang Technological University (NTU), Singapore. Over the last few years, he has worked in various positions, including research programmer and senior game programmer. Lastly, he worked as a research associate, which involved implementing a sensor-based real-time movie system using Unreal Development Kit. In 2011, he founded a tech start-up, which focuses on interactive media productions and backend server-side technologies. He is currently based in Myanmar and working on his latest company's product, a gamified social opinion network for Myanmar. He can be followed on Twitter at @aungsithu and LinkedIn at http://linkedin.com/in/aungsithu.

Clifford Peters is a programmer and a computer scientist. He was the technical reviewer for Unity Game Development Essentials, Unity 3D Game Development by Example Beginner's Guide, Unity 3 Game Development HOTSHOT, Unity 3.x Game Development by Example Beginner's Guide, Unity iOS Game Development Beginner's Guide, and Unity iOS Essentials, all by Packt Publishing.

Thet Naing Swe is the founder and CTO of Joy Dash Pte Ltd, based in Singapore. He graduated from the University of Central Lancashire with a major in game design and development and started his career as a game programmer at one of the UK-based Nintendo DS game development studios. In 2010, he relocated to Singapore and worked as a graphics programmer at the Nanyang Technological University (NTU) on a cinematic research project. At Joy Dash, he's responsible for interactive digital media consulting projects, especially in education, casual games, and augmented reality projects using Unity 3D as the main development tool. He can be reached via thetnswe@gmail.com.

Bibliographic information