Creating E-Learning Games With Unity

Creating E-Learning Games With Unity

Mon, 23 Jun 2014, by Syrsly

"Creating E-Learning Games With Unity" by David Horachek is a very nicely put together book for Unity3D developers who want to further understand the e-learning game market.  I like the book because of its wide variety of useful information for Unity devs.  This book was like a refresher course on how to design and develop a simple game in Unity3D that would suit the e-learning game market.

The book starts by defining what an e-learning game is.  I like how they break everything down, but I also appreciate a nice summary that isn't quite as drawn out. Basically, I found the first few chapters of the book to be very long-winded.  If you don't like unnecessary explanations, you may want to avoid chapter one and skip directly to the second chapter for some actual scripts.

The second chapter is much more interesting because it introduces the base structure of the game project.  This chapter covers fundamental knowledge which everyone in game development should have a firm understanding of.  Some of the information in this chapter touches base on an inventory system while other portions of the chapter cover mission tracking.

Chapter 3 is a little confusing at first because it jumps straight into creating a terrain without any mention of why you even need the terrain or what exactly you will be making.  If you continue reading, it eventually shows you a screenshot and mentions that you will be creating a park scene with flags.  I just think the screenshot would make better sense at the beginning of the chapter with a message saying "In this chapter, you will be making a level/scene like the one in the screenshot below."  That said, it works as-is, and it probably isn't a detriment to the learning experience.

Chapter 4 is all about making the code more extensible and organized.  This is a very good read for almost any Unity3D user, because Unity promotes bad practices in scene management and data management.  This chapter covers how to make a scene manager that keeps track of cross-scene data and houses the logic that moves the player between scenes.  In my experience, this isn't hard to do, because Unity is good about letting you have objects that are persistent across scenes.  However, this book suggests that you should use a single object that contains all the other objects you want to have across all scenes.  Then, you just make that one container object persistent across scenes, which seems convenient to me.

In chapter 5, this book's author does a nice job of explaining how to build a GUI using Unity's default GUI system, Unity GUI.  I recommend it to all who do not yet understand how to make GUI screens in Unity.  If you are attempting to move to Unity from another game engine or IDE, this book's GUI explanations could be a lifesaver.

Chapter 6 takes you into NPC development and how to handle AI states which could help you to also develop your own dialogue or cutscene management system.  I like this chapter even if it is all old information to me, because it gives you room to expand on the scripts in your own way.  It is a little difficult to follow unless you also have the code samples, though.  Beginners may find it difficult to understand but will most likely learn from portions of the chapter anyway.

Chapter 7 is mostly about giving the NPCs a way to race against you, the player.  This chapter involves more work on flags or checkpoints and splines for the NPC movement.  Unfortunately, this racing level/scene is very basic and not really as fun as it sounds.

Chapter 8 also disappoints me because the character models used in the project are simply taken from Mixamo's free supply.  The chapter simply guides you on how to get those models into Unity.  My advice is to stay away from Mixamo and similar services and simply find open source models at a place like BlendSwap or OGA.  That said, if you want the easiest route to completing a game rather than the best route, just follow the book.

The final chapter summarizes everything covered in previous chapters and gives you some final instructions to complete the game project and make it completely playable.

Overall, the book was worth the time it took to read and is recommended reading material for all new and intermediate level Unity developers.