Preface - Creating E-Learning Games with Unity (2014)

Creating E-Learning Games with Unity (2014)

Preface

E-learning can be described as the use of computers and digital technology to facilitate teaching and learning. One popular method of accomplishing this, and which is also the approach we will take in this book, is through gamification of learning, that is, the application of cognitive psychology and game-based rules to learning systems.

At the time of writing this book, it is projected that by the year 2020, 85 percent of all daily human tasks will be gamified to some extent (Everyone is a Gamer, a HTML document by Corcione, Andrew, and Fran Tardo, available at www.prnewswire.com, February 25, 2014. This document was accessed on February 28, 2014, http://www.prnewswire.com/news-releases/everyones-a-gamer---ieee-experts-predict-gaming-will-be-integrated-into-more-than-85-percent-of-daily-tasks-by-2020-247100431.html). This book was written in parts to address the need of young programmers to have a robust and substantial example of an e-learning game to learn from.

The reader will participate in the development of an e-learning game that teaches American geography, Geography Quest. The code and the book were written in tandem so that the text could serve as an accompanying guide to the software.

What this book covers

Chapter 1, Introduction to E-Learning and the Three Cs of 3D Games, introduces e-learning and how games are effective at targeting learning outcomes. It also introduces us to Unity3D and guides us through the development of the character, camera, and control systems for the game.

Chapter 2, Interactive Objects and MissionMgr, helps us to develop some of the core technology for our game foundation. We will implement a system that tracks the user's progress in the game through the concept of a mission. We also develop an interactive object class the player can interact with.

Chapter 3, Mission One – Find the Facts, helps us to code the first level of our game by applying the learning theory we know and the technology we have developed to create an exploration level.

Chapter 4, Mission One – Future Proofing the Code, helps us finish developing the first level of our game after taking a look back at our design needs and refactoring our code so that it is maintainable and extendible. This level presents the learning outcomes to the player for the first time.

Chapter 5, User Interfaces in Unity, takes a sojourn into user interface technology in Unity. We then apply our knowledge and develop a pop-up windows system that will be used in our game.

Chapter 6, NPCs and Associated Technology, helps us apply the technology we have already built in the creation of simple computer-controlled characters for our game.

Chapter 7, Mission Two – Testing a Player's Learning, guides us to develop the second level of our game, applying all of the systems and technology we have developed thus far. This level of the game gives the player an opportunity to manipulate and practice the learning outcomes.

Chapter 8, Adding Animations, takes another sojourn into the various animation systems in Unity3D. We then apply this knowledge by replacing our existing characters with 3D animated models.

Chapter 9, Synthesis of Knowledge, helps us to develop the last level of our game in this chapter by using all of the technology and theory we have learned. This level of the game challenges the user to master the desired learning outcomes.

Chapter 10, An Extensible Game Framework Pattern in Unity, integrates our game levels into one extensible framework. We will polish it more and then package the game up for your user to run on their PC.

What you need for this book

You will need Unity Version 4.2.2f1, which at the time of writing this book may be downloaded from http://unity3d.com/unity/download/archive.

Who this book is for

This book is intended for beginners in Unity3D programming who wish to develop games in Unity3D that teach and inform the user of specific learning outcomes. Common target applications could be for training games that teach procedures at the workplace, for teaching policies or best practices, or for factual learning in the classroom. While some familiarity with C# and some programming concepts would be beneficial, it is not mandatory.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "The Hat object will serve as a visual cue for us in this chapter as we refine the controls and camera code."

A block of code is set as follows:

Public float height;

Public float desiredDistance;

Public float heightDamp;

Public float rotDamp;

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "Under Edit | Render Settings, go to the Skybox Material panel of the Inspector pane, and add one of the skybox materials from the skybox package."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.