Monday, April 20, 2015

My review of "Unity 2D Game Development Cookbook"

Packt Publishing latest book on Unity is “Unity 2D Game Development Cookbook” by Claudio Scolastici.   Since it is a cookbook that means there are recipes on how to do many things with Unity 2D on 3D objects.  Packt Publishing also provides asset files as well as the code to download.  There is also a downloadable PDF that shows the colored images from the book.
    The book begins with techniques for importing models and scenes from Maya.  Maya is used for this demonstration because of its popularity and its ability to export FBX models.  Most 3D software can export FBX and this chapter explains how to import these models into Unity with little hassle. Importing of animation for the 3D models is also discussed.
    The next chapter discusses importing textures from Photoshop or other 2D programs and then turning them into materials that you can place on objects. One of the recipes also discusses how to set up a texture atlas from a group of images.  Another recipe covers animating 2D UV maps on a 3D object.
    The third chapter is all about creating and animating a game character.  The recipes cover everything from setting up an animation tree to creating a blend tree.  This is a nice overview of the Mecanim animation system.  I really enjoyed this chapter because almost every game is going to have some sort of character in it and being able to animate your character and have it move in a variety of different ways makes your games more realistic.
    The next two chapters take the character that was created in chapter three and give it a scene to move around in and provide physics to let the character react to objects.  First Unity’s standard assets are imported from the Unity store.  These assets contain a character controller package which includes prefabs, textures and scripts that are modified and used in our game.  Later on collision detection and scrolling backgrounds are discussed.  Lastly, a recipe for creating a camera that keeps our character at the center of the screen is created.
    Chapter six has us code a game manager that is a state machine that gives us better control over the game.  Recipes are provided for setting up the games UI as well as displaying “GAME OVER” and “GAME WIN” conditions. Chapter seven is focused on adding audio and video clips to the game.
    Finally, in chapter eight setting up a 2D game with sprites and spritesheets is briefly talked about.  Recipes are provided for animating the sprites and using keyframe animation with sprites.
    Overall the “Unity 2D Game Development Cookbook” was a very interesting book on using 2D objects in a 3D game.  I learned a lot from the different recipes and plan to keep this book on my reference shelf.

Thursday, April 9, 2015

My next review will be for the book "Unity 2D Game Development Cookbook."

On April 20th I will post my review of "Unity 2D Game Development Cookbook" by
Claudio Scolastici and published by Packt Publishing. I am looking forward to reading this book as it covers creating a complete 2D game in Unity and that includes importing models from Maya. I'm always interested in learning something new about Unity so I will let you know how that goes in my review.

Wednesday, April 8, 2015

My review of "Learning C++ by Creating Games with UE4"

    “Learning C++ by Creating Games with UE4” is one of the few books available for the Unreal 4 (UE4) gaming engine.  It was written by William Sherif and published by Packt Publishing.  Files that contain the code and assets for this book are available on Packt’s website as well as a PDF that contains the colored images from the book. 
    I have always wanted to learn C++ because it has been the computer language used by most professional game programmers.  With all the casual and mobile games now available I don’t know if this statement is true anymore but nonetheless C++ is still a great language to learn. 
    The book starts out gently guiding you through the basics of C++.  By chapter 3 you begin working with Unreal which is great since that is presumably why you bought this particular book.  This chapter’s project involves changing the colors in the puzzle game that comes with the Unreal engine.  I have to admit that I was quite thrilled with having this work when I hit the play button in the engine.
    The middle chapters build on what you have learned previously.  I have tried to teach myself C++ in the past and I usually end up stopping when I get to pointers.  This book helped me understand what pointers are and how to use them. It accomplishes this using the Unreal engine.  In addition, I enjoyed learning about classes and object-oriented programming.
    Starting with chapter 8 you get to create a scene and build an example game that includes NPCs that will talk to your player character.  You also learn how to cast spells, give the character an inventory and fight enemies. It is wonderful to see how all of this is done.
    I really enjoyed this book but I also found it very frustrating.  The code that is provided doesn’t always work and it is difficult to know where to exactly put each additional portion of code as it is introduced.  This is not the author’s fault.  The Unreal engine updates quite frequently and I discovered some issues with trying to use the code in the current version of Unreal.  I think that any book written on Unreal 4 would almost have to be a living document that updates as the game engine does.
    In summary I recommend the book’s first seven chapters as a fun way to learn C++.  After that, you can use the book to learn C++ and UE4; but be prepared to use the Unreal engine’s own website to help you understand how to update the code so that your game works correctly.

Wednesday, April 1, 2015

My next review is the book "Learn C++ by Creating Games with UE4"

On April 8th I will post my review of "Learn C++ by Creating Games with UE4" by William Sherif and published by Packt Publishing.  Unreal Engine 4 has been out for a year now and other than the books by Ryan Shah their haven't been any complete written work for the engine.  This book hopes to rectify that.

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.