Creating E-Learning Games with Unity

Develop your own 3D e-learning game using gamification, systems design, and gameplay programming techniques.

Creating E-Learning Games with Unity

Starting
David Horachek

Develop your own 3D e-learning game using gamification, systems design, and gameplay programming techniques.
$10.00
$39.99
RRP $23.99
RRP $39.99
eBook
Print + eBook
$12.99 p/month

Get Access

Get Unlimited Access to every Packt eBook and Video course

Enjoy full and instant access to over 3000 books and videos – you’ll find everything you need to stay ahead of the curve and make sure you can always get the job done.

+ Collection
Free Sample

Book Details

ISBN 139781849693424
Paperback246 pages

About This Book

  • Develop a game framework for a 3D eLearning game
  • Program dynamic interactive actors and objects to populate your game world
  • An easy-to-follow guide along with an extensive source code to support and guide readers through the concepts in the book

Who This Book Is For

This book is intended for novice game programmers with a little experience in Unity3D, who want to learn how to program eLearning games. Educators and trainers who want to use Unity in an eLearning setting will also benefit from the book. It would be helpful to have a basic understanding of the concepts such as Unity scripting and the Finite State Machine (FSM), but no prior experience in game development is required.

Table of Contents

Chapter 1: Introduction to E-Learning and the Three Cs of 3D Games
Understanding e-learning
Introducing our game – Geography Quest
Comprehending the three Cs
Creating our first scene
Developing the character system
Building character representation
Developing the camera code
Developing the player controls code
Try it out!
Summary
Chapter 2: Interactive Objects and MissionMgr
Understanding the base scripts
Building an interactive object
Putting it all together
Try it out!
Summary
Chapter 3: Mission One – Find the Facts
Finding the facts
Designing games to maximize fun
The teaching loop in game design
Implementing the core classes for mission one
Summary
Chapter 4: Mission One – Future Proofing the Code
Reorganizing our GameObjects in the Scene view
An introduction to Finite State Machines
Implementing the GameMgr script
Reflecting on our code changes
Analyzing code functionality
Updating some systems
Making the ScorePlate active
Updating the player motion algorithm
Playing the level!
Summary
Chapter 5: User Interfaces in Unity
Getting familiar with Unity UI classes
Developing the pop-up system
Exploring the GUIText component
Exploring the GUITexture component
Exploring the TextMesh component
Creating clickable text elements
Exploring UnityScript and the GUIButton object
Building the main menu pop up
Testing our work
Future extensions
Summary
Chapter 6: NPCs and Associated Technology
Creating the NPC GameObject
Implementing the SplineMgr class
Connecting SplineMgr to NPCScript
Implementing the NPC decision system
Building a collection of NPC conditions and responses
Putting it all together
Summary
Chapter 7: Mission Two – Testing a Player's Learning
Exploring the structure of mission two
Defining the framework for mission two
Adding a mission to the missionMgr script
Extending the GameCam script
Modifying the terrain
Adding NpcRacers to the mission
Creating the start and finish line flags
Creating the LevelStart and LevelFinished pop ups
Creating the setupLevel2 Prefab
Creating the raceStartup Prefab
Implementing the LevelLogicObj GameObject
Summary
Chapter 8: Adding Animations
Exploring 3D hierarchies
Skinned meshes in Unity3D
Exploring the Mechanim animation system
Exploring the Unity animation editor
Summary
Chapter 9: Synthesis of Knowledge
Understanding the mission three GameObjects
Applying learning theory to mission three
Creating the structure for mission three
Modifying the pop-up system
Creating the NpcLocators Prefab
Creating the CorrectResponse Prefabs
Modifying the quiz cards
Adding another data condition
Using the setupLevel3 Prefab
Creating the AddScore condition
Creating the ShowLevel3Results response
Creating the Time object
Modifying the LevelLogicObj object
Rewarding the player
Summary
Chapter 10: An Extensible Game Framework Pattern in Unity
Load additively
Using delete/load patterns
Refactoring our work
Refactoring level 2
Implementing a system to connect object references
Refactoring level 3
Playing and distributing your game
Reflecting on e-learning and game design
Summary

What You Will Learn

  • Create a user interface system for pop-ups and menus
  • Develop a game framework that supports multiple scene files for multiple missions
  • Design a system to handle objective and mission tracking in the game
  • Implement an inventory system for the player to collect objects
  • Create interactive objects to populate the game world
  • Program Non-Player Characters to interact with the player
  • Use a 3D camera, character and control systems for your game
  • Design eLearning game missions to teach, test and reinforce learning

In Detail

Unity is a fully integrated development engine providing the required functionality to create games and interactive 3D content, while reducing the time, effort, and cost of developing the content. Nowadays, many people have started to use Unity in an eLearning setting as it allows them to create real-world scenarios, or models, for training purposes. With Unity, one can develop video games that are not only fun, but are also effective teaching and learning tools. When properly designed, an engaging game is an ideal platform for the presentation, testing, and application of learning objectives.

eLearning Game Programming in Unity is a practical, hands-on guide to programming eLearning games. You will encounter a step-by-step approach to developing a 3D game that is interactive and engaging, built around sound teaching pedagogy and game theory.

In this book, the readers will be taken through the development of an eLearning game framework using the Unity engine. In addition to developing the technology for the game, we will create 3 levels (missions) in the game that teach, test, and reinforce learning. The subject matter being taught is the 50 American states and their flags. Concurrently, the book shows readers how to develop multiple game levels that support the various learning objectives of the game. In level 1, the user has to locate the missing flags and return them to the flag monument. During this time, the state flags design and state name are given to the player. This is the teaching phase. We also discuss cognitive flow and how learning is encouraged when the player is in this state.

In level 2 the user has to run a race through the park, competing against two other racers. Non-Player Characters (NPCs) are stationed along the way, and will ask questions about state flags. The user has to achieve 100 percent and first place in the race to move on to level 3. This is the testing phase, as we approach the problem from other direction with multiple choice popup cards.

In level 3, we reinforce learning through interactions with NPCs. These interactions require higher order thinking and association of the subject matter with the game experience. You will also learn how to program the interactive elements of a game to increase immersion. You will construct interactive objects that can be collected by the player and will program non-player characters that will populate the world, move, and interact with the player.

With this guide, you will learn everything you need to know to make your own effective eLearning game from start to finish.

Authors

Table of Contents

Chapter 1: Introduction to E-Learning and the Three Cs of 3D Games
Understanding e-learning
Introducing our game – Geography Quest
Comprehending the three Cs
Creating our first scene
Developing the character system
Building character representation
Developing the camera code
Developing the player controls code
Try it out!
Summary
Chapter 2: Interactive Objects and MissionMgr
Understanding the base scripts
Building an interactive object
Putting it all together
Try it out!
Summary
Chapter 3: Mission One – Find the Facts
Finding the facts
Designing games to maximize fun
The teaching loop in game design
Implementing the core classes for mission one
Summary
Chapter 4: Mission One – Future Proofing the Code
Reorganizing our GameObjects in the Scene view
An introduction to Finite State Machines
Implementing the GameMgr script
Reflecting on our code changes
Analyzing code functionality
Updating some systems
Making the ScorePlate active
Updating the player motion algorithm
Playing the level!
Summary
Chapter 5: User Interfaces in Unity
Getting familiar with Unity UI classes
Developing the pop-up system
Exploring the GUIText component
Exploring the GUITexture component
Exploring the TextMesh component
Creating clickable text elements
Exploring UnityScript and the GUIButton object
Building the main menu pop up
Testing our work
Future extensions
Summary
Chapter 6: NPCs and Associated Technology
Creating the NPC GameObject
Implementing the SplineMgr class
Connecting SplineMgr to NPCScript
Implementing the NPC decision system
Building a collection of NPC conditions and responses
Putting it all together
Summary
Chapter 7: Mission Two – Testing a Player's Learning
Exploring the structure of mission two
Defining the framework for mission two
Adding a mission to the missionMgr script
Extending the GameCam script
Modifying the terrain
Adding NpcRacers to the mission
Creating the start and finish line flags
Creating the LevelStart and LevelFinished pop ups
Creating the setupLevel2 Prefab
Creating the raceStartup Prefab
Implementing the LevelLogicObj GameObject
Summary
Chapter 8: Adding Animations
Exploring 3D hierarchies
Skinned meshes in Unity3D
Exploring the Mechanim animation system
Exploring the Unity animation editor
Summary
Chapter 9: Synthesis of Knowledge
Understanding the mission three GameObjects
Applying learning theory to mission three
Creating the structure for mission three
Modifying the pop-up system
Creating the NpcLocators Prefab
Creating the CorrectResponse Prefabs
Modifying the quiz cards
Adding another data condition
Using the setupLevel3 Prefab
Creating the AddScore condition
Creating the ShowLevel3Results response
Creating the Time object
Modifying the LevelLogicObj object
Rewarding the player
Summary
Chapter 10: An Extensible Game Framework Pattern in Unity
Load additively
Using delete/load patterns
Refactoring our work
Refactoring level 2
Implementing a system to connect object references
Refactoring level 3
Playing and distributing your game
Reflecting on e-learning and game design
Summary

Book Details

ISBN 139781849693424
Paperback246 pages
Read More