Click here to Skip to main content
Click here to Skip to main content
Technical Blog

Creating E-Learning Games with Unity – A Review

, 24 Apr 2014 CPOL
Rate this:
Please Sign up or sign in to vote.
Creating E-Learning Games with Unity – A Review

Continuing the book review season, here’s the second book I've looked at recently, an interesting twist in the series of game development.


Creating E-Learning Games with Unity

One thing I am very passionate about is education, it’s what got me started as an avid blogger, a means to get excited about new technologies or patterns, break them down and then show others how to use them effectively. If I found new ways of doing the same thing then share that as well, so when I got a book to review about building educational games, I was all over that!


Most books on Unity development focus on the features and a few nice examples of what you can do with it, but not so much about the game you are creating.

However this title takes a different track to focus on one type of game, the educational game.

Over these pages, you will go through the in’s and out’s for what is needed to build a great educational title where the player isn't just playing and achieving goals, they are on a quest for knowledge.

The example used in this book is about learning the flags / states and general knowledge about the good old USA, by making the player a trainee park ranger. Through the course of this book you will see what it means to create a title that teaches and reinforces knowledge on the player for more than just a quick hack and slash, with of course a few Unity3D bits on the way as well.


Here’s a brief run through what all the chapters are and what to expect from them:

Chapter 1 “Introduction to E-Learning and the Three Cs of 3D Games”

The beginning is always important when it comes to education, setting the state and a plan of activities to get to a place of understanding. Here the author sets out why games make such good tools for education, keeping the student engaged and compelled to learn more through exploration.

The level of detail put into the back story for the game you’ll be building as part of the book was very details and compelling, certainly a level of detail you should expect in your own first projects.

The rest of the chapter is a brief introduction to Unity3D itself and walks you through your first scene, the camera and a basic input controller.

Chapter 2 “Interactive Objects and MissionMgr”

With the focus of the sample game being to collect items and set missions, in this chapter the author lays out the plans for the core engine that will both inform the player on their objectives and put in place a framework to keep them involved whist they are learning.

The intro architecture does take a few reads to understand but once you have it, you will see it as been well thought out and the structure of the scripts to support the engine are well laid out. Given that with these sorts of titles, if you get your architecture wrong for your engine in the beginning, it can cost you many hours of re-work later.

Chapter 3 “Mission One – Find the Facts”

With the core engine in place, it is time to put it into action. Starting with the games initial goals, you will build out all the content and its use for the first type of missions in the game. The game itself is to set out to collect items, learn about them and use them to find out more information, extending both their learning and encouraging exploration.

There is a very nice section here about gauging difficulty vs skill, ensuring the player is challenged enough to keep playing but not too much that they just give up. All too often when you build games / educational content, you end up building it for you without taking into account your target audience, so the author does a good job of working through this tricky subject.

Chapter 4 “Mission One – Future Proofing the Code”

Great you have your first level working in your game, but a single level does not make a game (unless you are flappy bird Confused smile). With the core mechanics working and something for the user to play, it is time to reorganise to make the project easier to manage, add a menu and implement some menus.

The chapter also introduces a basic FSM (Finite state machine) to control game flow as well as packaging up your project together ready to be shipped.

Chapter 5 “User Interfaces in Unity”

Delving in to the current native Unity3D GUI system, here the author walks you through all the components and perils of the existing system. Yes it’s clunky and often tricky to use, but the author does a good job of putting it together and laying it out simply.

Chapter 6 “NPCs and Associated Technology”

Playing alone can be fun but generally it’s better to play together. In this chapter, you will add some NPCs to help further engage / help players in their quest to find all the objects. Personally, I’d also add evil characters to try and thwart you as well.

So to make the NPCs more interesting, the author walks through adding splines to a terrain to give the NPC places to go and wander round the scene near areas they can help with.

Chapter 7 “Mission Two – Testing a Player’s Learning”

When teaching, it’s important to also test the student against what they have learned, so with the second level in the game, the main objective is to check how much the player remembers from the first level, adding a reinforcement cycle to the learning process. To make it more challenging, you re-use the NPCs from the previous chapter and pit them against the player to complete the level. It’s a race against time and can you win?

Chapter 8 “Adding Animations”

Having spheres or cylinders rushing around a game area can be fun, but not very entertaining. It is a light break from the education process for the game, here the author walks you through importing humanoid meshes and hooking them up to the Mecanim animation system to give them the appearance of movement.

Has to be one of the simplest explanations to implementing Mecanim animations I've seen to date, very nice.

Chapter 9 “Synthesis of Knowledge”

Completing the circle of knowledge, we add the final level to this example educational game. Now that the player has learned some new information, they have demonstrated they have retained the information, now they need to express an understanding of what they now know and teach it to others.

This is a key point sometimes missed in educational games, closing the loop to really understanding topics you have learned and very well explained in this chapter.

Chapter 10 “An Extensible Game Framework Pattern in Unity”

In the final chapter, we take a step back and look at what you have wrought, looking for areas of improvement and tweaking it into a final solution (usually taking up 80% of any time used to create a project if done right). Also given that we want the player to keep playing and not just in one sitting, the author walks you through interacting with the file system and saving / loading level and player data.


As a book to teach teachers or other like minded developers the core rules and precepts for educational content, this book really shines. The game itself is also a very good start with an interesting back-story, I can see many readers taking this framework and re-applying it across many subjects and further extending it.

What does let the book down is that it perhaps didn't spend enough time re-enforcing this point throughout the book, part was about teaching someone new to Unity3D how to use the tools and the other part on the subject at hand. It might have been better to focus on what makes great educational games and have the reader need a certainly level of knowledge about Unity3D before reading.

That being said, the way the author explains each function was very well laid out and easy to understand, so in my view this should have been two books not just one.

Pros

  • Best explanation in a game development book about educational content I've seen
  • Nice and varied structure, very easy to follow
  • Spends a good chapter on the Unity3D GUI system, always needed for Unity!

Cons

  • Mixed audiences, would have been better to target experienced Unity3D developers to give them new skills
  • A lot of just follow along code rather than explaining why the author went down that route (which would have supported an experienced developer)

Despite its mixed nature, I really did enjoy reading this book, the concepts about education and learning processes is very well laid out and adapted well to games. Closing the loop and reinforcing what you have learned is often missed in most titles, where they usually focus on just learn / test, so a lot can be learned here.

The book also does lay down some very good architecture for these types of learning games which can ultimately be re-used in many games, so it’s worthwhile looking into if you want to build your own educational games.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Simon Jackson
Architect ZenithMoon Studios
United Kingdom United Kingdom
Long time game developer / IT maniac.
By day working as a lowly Technical Architect for a healthcare software firm, by night Masquerading as the Master Chief of ZenithMoon Studios.
 
At heart I'm a community developer breaking down lots of fun and curious technologies and bringing them to the masses.
 
I'm also a contributor to several open source projects, most notably the AdRotator advertising rotator project for Windows and Windows Phone.
 
After a hefty break with Windows Phone and Windows 8 I'm heading back to my XNA roots to show how beginners and current XNA devs can take their skills forward with XNA's bleak future.
Follow on   Twitter   Google+

Comments and Discussions

 
GeneralSerious Game PinmemberMember 1075419925-Apr-14 10:07 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.1411028.1 | Last Updated 24 Apr 2014
Article Copyright 2014 by Simon Jackson
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid