Monday, March 30, 2015

My review of "Mastering Unity Scripting"



                Packt Publishing released a new book on Unity scripting in February of this year.  Entitled Mastering Unity Scripting it was written by Alan Thorn who has authored several other books on Unity and UDK. Like most Packt Publishing titles this book includes the book’s files and a PDF of the colored images from the book that you can download from their website.  This is an advanced book using Unity’s version of C# and it certainly helps to have completed a few Unity tutorials.  That being said the first two chapters of the book are C# refreshers and cover the basics of creating a project. The book then reviews C# all the way through classes and polymorphism.
                Chapter three covers Singletons which are ways of making an object persist throughout all of the levels and parts of your game.  Singletons are the GameManager, HighScoreManager, and the SaveGameManager of your game.  This chapter also discusses many other facets of game objects including when to update and change them.
                Chapter four discusses event-driven programming and how to use this method for optimizing your game.  Essentially the updating of game objects is removed from the Update function of your class and placing them into new classes that are driven by the events of the game.  This seems to be a useful technique for all but the smallest of games.
                Chapter five is all about cameras, using multiple ones, their placement and working with line of sight issues.  Chapter six talks about working with MonoDevelop the IDE that comes with Unity.  MonoDevelop has useful features that Unity programmers can use build extra functionality into their games. The IDE also allows you to use regular expressions and LINQ (querying of databases) in Unity.
                Chapter seven demonstrates how to create artificial intelligence in Unity.  The whole idea of artificial intelligence is to have enemies appear to make intelligent decisions based on what the player does.  I really enjoyed this chapter as it has clear examples of using Finite State Machines (FSM) to make NPC characters appear to be intelligent. 
                Chapter eight discusses ways of adding functionality to the Unity editor.  Unity’s editor allows you to do many things and the asset store allows you to purchase the ability to do many more.  Sometimes it’s easier to just program these abilities on your own.  One of the nice examples that’s included in this chapter is setting up your game so that you can localize it into many different languages.
                Chapters nine covers Unity 2D objects and textures.  Specifically, setting up a skybox where clouds are rotating is explained through an example that is provided. Examples are also given for setting up an asset database and setting up a scrolling texture for your game.
                Chapter ten discusses setting up source control, specifically Git, for your game.  Creating save game files and resource files is also explained.  These features are important to most games, so it is wonderful that this is explained here. 
                Overall I enjoyed “Mastering Unity Scripting” and would recommend that everyone purchases this book.  It is a great reference book that explains how to code in Unity many different aspects of game design that most game creators will need at some point in their game development career.  Alan Thorn’s website is at http://www.alanthorn.net/.

Friday, March 20, 2015

I will post a review of "Mastering Unity Scripting" on March 30th!

Packtpub has done it again with a new book on Unity Scripting titled "Mastering Unity Scripting" This book is by Alan Thorn who has authored several other titles on Unity. I will post my review on March 30th.

Wednesday, March 4, 2015

Review of "Unity AI Programming Essentials"



                There are many assets available for Unity that implement Artificial Intelligence (AI).  Simple AIs can also be created by coding a state machine. Unity also provides Navigation Meshes which help with developing pathfinding AIs.  Unity AI Programming Essentials” by Curtis Bennett and Dan Violet Sagmiller covers 6 different AI’s that are available in Unity’s asset store.  Each of the following AI solutions are presented in the form of a project that you can download from Packt Publishing’s website.
Quick Path AI by Alkehine Games is available for $10 at Unity’s asset store. Its main focus is on pathfinding. The manual and a demo are available on Alkehine Games’ website at http://alekhinegames.com/. This solution is covered in Chapter one in the book and is great for beginners.
React AI is by Different Methods and is available for $45 at the asset store.  This asset provides a way of building behavior trees that make use of Mecanim animation and allow you to code items such as chain-of-command AIs and NPC behavior.  The book discusses how to use React in chapters one, four and seven.  If you enjoy coding and want to use an AI for behavior trees than this is a great choice. For more information on React visit their website at http://www.differentmethods.com/.
Smart Car AI is by Bonecracker Games and is available for $10 on the asset store.  All of chapter 9 is dedicated to using this AI and creating a car game demo.  Smart Car allows you to set all different sorts of properties for cars. The book provides a lot of information on modifying and using this AI. You can find more information on Smart Car AI at Bonecracker Games’ website at http://bugra381.wix.com/bonecrackergames.
In chapter 5 crowd control APIs are discussed. Crowd Simulation API by TechBizAccelerator is available for $45 on the asset store. Their website is http://www.tbx.com.sg/crowdsapi/.  ANT-Op by Gray Lake Studios is available for $75 in the asset store.  Their website is http://graylakestudios.com/. Both solutions provide ways of controlling groups and defining behavior in your games.  These are very specific behavior AI and the chapter provides a good overview of them. 
The bulk of the book covers the RAIN AI by Rival Theory which is available for free on the asset store.  Their website is http://rivaltheory.com/rain/ and provides excellent documentation and examples.  Unity AI Programming Essentials” provides great information on RAIN and shows you how to set-up several different AI situations that you will come across in the creation of your games.  Behavior trees, attacking situations and advanced navigation meshes are all discussed and explanations are provided on how to set-up RAIN in these situations.
Unity AI Programming Essentials” is a wonderful book on implementing artificial intelligence in games created with Unity.  Very little explanation is provided on AI’s in general; but for the specific situation of programming in Unity this book is great. Here is the link to the book at Packt Publishing.