Book Image

Creating E-Learning Games with Unity

By : David Horachek
Book Image

Creating E-Learning Games with Unity

By: David Horachek

Overview of this book

Table of Contents (17 chapters)
Creating E-Learning Games with Unity
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Index

A

  • AddScore condition
    • creating / Creating the AddScore condition
  • Application.LoadLevelAdditive() method / Load additively

B

  • base scripts
    • about / Understanding the base scripts
    • CustomGameObj helper class / Understanding the base scripts
    • ObjectInteraction helper class / Understanding the base scripts

C

  • camera code
    • developing / Developing the camera code
    • GameCam.cs, implementing / Implementing GameCam.cs
  • CameraLookPlayer() / Updating level 2 pop ups
  • camera system
    • about / Comprehending the three Cs
  • ChangeState() method / Implementing the GameMgr script, Using delete/load patterns
  • character representation
    • building / Building character representation
  • character system
    • about / Comprehending the three Cs
    • developing / Developing the character system
  • clickable text elements
    • creating / Creating clickable text elements
    • mouse clicks, detecting / Detecting mouse clicks
    • mouse over, detecting / Detecting mouse over
    • leaving mouse over, detecting / Detecting leaving mouse over
  • code changes
    • reflecting / Reflecting on our code changes
  • code functionality
    • analysis / Analyzing code functionality
  • condition_closerThanThresh script / Implementing the NPC decision system
    • implementing / Implementing the condition_closerThanThresh script
  • condition_fartherThanThresh script / Implementing the NPC decision system
    • implementing / Implementing the condition_fartherThanThresh script
  • controls system
    • about / Comprehending the three Cs
  • core classes, Finding the facts game
    • terrain, creating / Creating a terrain
    • FlagLocators, creating / Creating the FlagLocators GameObject
    • FlagMonument, creating / Creating the FlagMonument GameObject
    • MonumentMgr, creating / Creating the MonumentMgr Script
    • InventoryPlaceOnMonument class, creating / Creating the InventoryPlaceOnMonument class
    • MissionMgrHelper script, creating / Creating the MissionMgrHelper script
    • TriviaCardScript script, creating / Creating the TriviaCardScript script
    • SetupMissionOne script, creating / Creating the SetupMissionOne script
    • flag Prefabs, creating / Creating the flag Prefabs
    • pop-up card Prefabs, creating / Creating the pop-up card Prefabs
    • mission pop-up Prefab, creating / Creating the mission pop-up Prefab
    • mission reward Prefabs, creating / Creating the mission reward Prefabs
    • FoundAllTheFlags Prefab, creating / Creating the FoundAllTheFlags Prefab
    • ReturnedTheFlagsResult Prefab, creating / Creating the ReturnedTheFlagsResult Prefab
    • mission manager, configuring / Configuring the mission manager
  • CorrectResponse GameObject / Understanding the mission three GameObjects
  • CorrectResponse Prefabs
    • creating / Creating the CorrectResponse Prefabs
  • CustomGameObj class
    • about / Understanding the base scripts
  • CustomGameObj script
    • implementing / Implementing the CustomGameObj script

D

  • 3D game
    • camera system / Comprehending the three Cs
    • character system / Comprehending the three Cs
    • controls system / Comprehending the three Cs
    • camera code / Developing the camera code
    • player controls code, developing / Developing the player controls code
    • tracking systems, adding / Putting it all together
    • mission system, testing / Testing the mission system
    • player, rewarding / Rewarding the player
  • 3D hierarchies
    • about / Exploring 3D hierarchies
  • DecisionMgr class
    • testing / Putting it all together
  • DisplayInventory method
    • implementing / Implementing the DisplayInventory method

E

  • e-learning
    • about / Understanding e-learning
    • gamification / Understanding e-learning
    • first scene, building / Creating our first scene
    • character system, developing / Developing the character system
  • e-learning game
    • Geography Quest / Introducing our game – Geography Quest
    • features / Introducing our game – Geography Quest
    • playing / Playing and distributing your game
    • distributing / Playing and distributing your game
    • reviewing / Reflecting on e-learning and game design
  • e-learning game framework
    • additive load, using / Load additively
    • delete/load patterns, using / Using delete/load patterns
    • work, refactoring / Refactoring our work
    • pop-up system, refactoring / The pop-up system
    • level 2, refactoring / Refactoring level 2
    • system, implementing for connecting object references / Implementing a system to connect object references
    • SetupMission2 script, updating / Updating the SetupMission2 script
    • level 3, refactoring / Refactoring level 3
  • eLearning game
    • mission two structure, exploring / Exploring the structure of mission two
    • mission two framework, defining / Defining the framework for mission two
    • mission, adding to missionMgr script / Adding a mission to the missionMgr script
    • GameCam script, extending / Extending the GameCam script
    • terrain, modifying / Modifying the terrain

F

  • Finding the facts game
    • about / Finding the facts
    • components / Finding the facts
    • designing / Designing games to maximize fun
    • teaching loop / The teaching loop in game design
    • core classes, implementing / Implementing the core classes for mission one
    • playing / Playing the level!
  • Finding the facts game components
    • FlagLocators / Finding the facts
    • terrain / Finding the facts
    • Monument / Finding the facts
    • MissionMgrHelper / Finding the facts
    • SetupMissionOne / Finding the facts
    • TriviaCardScript / Finding the facts
    • MonumentMgr / Finding the facts
    • SimpleDetachScript / Finding the facts
  • finish line flag
    • creating / Creating the start and finish line flags
  • Finite State Machine (FSM)
    • about / An introduction to Finite State Machines
    • implementing, in game / Implementing an FSM in a game
    • Switch Case FSM / The switch case FSM
    • classes, implementing / Classes implementation of FSM
  • FlagLocators
    • creating / Creating the FlagLocators GameObject
  • FlagMonument
    • creating / Creating the FlagMonument GameObject
  • flag Prefabs
    • creating / Creating the flag Prefabs
  • FoundAllTheFlags Prefab
    • creating / Creating the FoundAllTheFlags Prefab

G

  • GameCam.cs
    • implementing / Implementing GameCam.cs
  • GameCam script
    • extending / Extending the GameCam script
  • GameMgr script
    • about / Reorganizing our GameObjects in the Scene view
    • implementing / Implementing the GameMgr script
  • Game object
    • about / Reorganizing our GameObjects in the Scene view
  • GameObjects
    • reorganizing, in Scene view / Reorganizing our GameObjects in the Scene view
    • about / Understanding the mission three GameObjects
    • MissionMgr / Understanding the mission three GameObjects
    • Player / Understanding the mission three GameObjects
    • LevelLogicObj / Understanding the mission three GameObjects
    • QuizCard / Understanding the mission three GameObjects
    • CorrectResponse / Understanding the mission three GameObjects
    • SetupLevel3 / Understanding the mission three GameObjects
    • Time / Understanding the mission three GameObjects
  • gamification, e-learning
    • immersion / Understanding e-learning
    • spatial learning / Understanding e-learning
    • active learning / Understanding e-learning
    • reinforcement and conditioning / Understanding e-learning
    • emotional attachment / Understanding e-learning
    • cognitive flow / Understanding e-learning
    • safe practice environment / Understanding e-learning
  • global scene
    • creating / Creating a global scene
  • GUI.Button class
    • UnityGUI, using / Using UnityGUI
    • clickable button, creating / Creating a clickable button
    • mouse click, detecting / Detecting a mouse click
  • GUIButton component
    • about / Getting familiar with Unity UI classes
  • GUIButton object
    • exploring / Exploring UnityScript and the GUIButton object
  • GUIText component
    • about / Getting familiar with Unity UI classes
    • exploring / Exploring the GUIText component
    • members, interpreting / Interpreting the members on GUIText
  • GUITexture component
    • exploring / Getting familiar with Unity UI classes, Exploring the GUITexture component

I

  • in-place animation
    • versus, root motion animation / Exploring in-place versus root motion animation
  • InteractiveObj class
    • about / Understanding the base scripts
    • Start() method / Implementing the InteractiveObj script
    • Update() method / Implementing the InteractiveObj script
    • OnTriggerEnter() method / Implementing the InteractiveObj script
    • OnCollisionEnter() method / Implementing the InteractiveObj script
  • interactive object
    • about / Understanding the base scripts
    • building / Building an interactive object
    • CustomGameObj script, implementing / Implementing the CustomGameObj script
    • InteractiveObj script, implementing / Implementing the InteractiveObj script
    • ObjectInteraction script, implementing / Implementing the ObjectInteraction script
    • InventoryItem script, implementing / Implementing the InventoryItem script
    • InventoryMgr script, implementing / Implementing the InventoryMgr script
    • DisplayInventory method, implementing / Implementing the DisplayInventory method
    • MissionMgr script, implementing / Implementing the MissionMgr script
    • Mission script, implementing / Implementing the Mission script
    • MissionToken script, implementing / Implementing the MissionToken script
    • SimpleLifespanScript, implementing / Implementing the SimpleLifespanScript
  • InteractiveObj script
    • implementing / Implementing the InteractiveObj script
    • creating / Implementing the InteractiveObj script
  • InventoryItem class
    • about / Implementing the InventoryItem script
  • InventoryItem script
    • implementing / Implementing the InventoryItem script
  • InventoryMgr class
    • about / Understanding the base scripts, Implementing the InventoryMgr script
    • Start() method / Implementing the InventoryMgr script
    • Add() method / Implementing the InventoryMgr script
    • Insert() method / Implementing the InventoryMgr script
    • DisplayInventory method / Implementing the DisplayInventory method
  • InventoryMgr script
    • implementing / Implementing the InventoryMgr script
  • InventoryPlaceOnMonument class
    • creating / Creating the InventoryPlaceOnMonument class
  • Inverse Kinematics (IK) / Exploring the Mechanim animation system

L

  • LERP (linear interpolation) / Implementing GameCam.cs
  • LEVEL1 scene
    • creating / Creating a first level scene
  • Level2Extras script / Implementing a system to connect object references
  • level2Init script / Implementing a system to connect object references
  • LevelFinished pop up
    • creating / Creating the LevelStart and LevelFinished pop ups
  • LevelLogicObj GameObject
    • implementing / Implementing the LevelLogicObj GameObject
    / Understanding the mission three GameObjects
  • LevelLogicObj object
    • modifying / Modifying the LevelLogicObj object
  • LevelStart pop up
    • creating / Creating the LevelStart and LevelFinished pop ups

M

  • MainCamera GameObject / Updating level 3 pop ups
  • main menu pop up
    • building / Building the main menu pop up
  • Mechanim animation system
    • about / Exploring the Mechanim animation system
    • appropriate animations, selecting / Choosing appropriate animations
    • simple character animation FSM, building / Building a simple character animation FSM
    • in-place animation, versus root motion animation / Exploring in-place versus root motion animation
    • character script, adding / Adding the character script
    • zombie racer animation FSM, building / Building a zombie racer animation FSM
    • quizracer animation FSM, building / Building a quiz racer animation FSM
  • Mission class
    • about / Understanding the base scripts, Implementing the Mission script
  • MissionMgr class
    • about / Understanding the base scripts, Implementing the MissionMgr script
    • Add(missionToken) method / Implementing the MissionMgr script
    • Validate(mission) method / Implementing the MissionMgr script
    • ValidateAll() method / Implementing the MissionMgr script
  • missionMgr GameObject / Understanding the mission three GameObjects
  • MissionMgrHelper script
    • creating / Creating the MissionMgrHelper script
  • MissionMgr script
    • implementing / Implementing the MissionMgr script
  • mission pop-up Prefab
    • creating / Creating the mission pop-up Prefab
  • mission reward Prefabs
    • creating / Creating the mission reward Prefabs
  • mission system
    • testing / Testing the mission system
  • mission three
    • GameObjects / Understanding the mission three GameObjects
    • learning theory, applying / Applying learning theory to mission three
    • structure, creating / Creating the structure for mission three
    • terrain, modifying / Modifying the terrain
    • visitors, adding to park / Adding visitors to the park
    • data condition, adding / Adding another data condition
    • setupLevel3 Prefab, using / Using the setupLevel3 Prefab
  • MissionToken class
    • about / Understanding the base scripts, Implementing the MissionToken script
  • mission two, eLearning game
    • structure, exploring / Exploring the structure of mission two
    • framework, defining / Defining the framework for mission two
    • adding, to missionMgr script / Adding a mission to the missionMgr script
    • GameCam script, extending / Extending the GameCam script
    • terrain, modifying / Modifying the terrain
    • NpcRacers, adding / Adding NpcRacers to the mission
    • start line flag, creating / Creating the start and finish line flags
    • finish line flag, creating / Creating the start and finish line flags
    • LevelFinished pop up, creating / Creating the LevelStart and LevelFinished pop ups
    • LevelStart pop up, creating / Creating the LevelStart and LevelFinished pop ups
    • setupLevel2 Prefab, creating / Creating the setupLevel2 Prefab
    • raceStartup Prefab, creating / Creating the raceStartup Prefab
    • LevelLogicObj GameObject, implementing / Implementing the LevelLogicObj GameObject
  • MonumentMgr
    • creating / Creating the MonumentMgr Script

N

  • NPC conditions
    • condition_closerThanThresh script, implementing / Implementing the condition_closerThanThresh script
    • condition_fartherThanThresh script, implementing / Implementing the condition_fartherThanThresh script
    • response_changeState script, implementing / Implementing the response_changeState script
  • npcCondition script
    • implementing / Implementing the npcCondition script
  • npcDecisionMgr script
    • implementing / Implementing the npcDecisionMgr script
  • NPC decision system
    • implementing / Implementing the NPC decision system
    • npcCondition, implementing / Implementing the NPC decision system, Implementing the npcCondition script
    • npcResponse, implementing / Implementing the NPC decision system, Implementing the npcResponse script
    • npcInteraction, implementing / Implementing the NPC decision system, Implementing the npcInteraction script
    • npcDecisionMgr, implementing / Implementing the NPC decision system, Implementing the npcDecisionMgr script
    • working / Implementing the NPC decision system
  • NPC GameObject
    • creating / Creating the NPC GameObject
  • npcInteraction script
    • implementing / Implementing the npcInteraction script
  • NpcLocators Prefab
    • creating / Creating the NpcLocators Prefab
  • NpcRacers
    • adding, to mission / Adding NpcRacers to the mission
  • npcResponse script
    • implementing / Implementing the npcResponse script
  • npcScript class
    • implementing / Implementing the npcScript class

O

  • ObjectInteraction class
    • about / Understanding the base scripts
    • HandleInteraction() method / Implementing the ObjectInteraction script
  • ObjectInteraction script
    • implementing / Implementing the ObjectInteraction script

P

  • PlayerControls.cs
    • implementing / Implementing PlayerControls.cs
  • player controls code
    • developing / Developing the player controls code
    • PlayerControls.cs, implementing / Implementing PlayerControls.cs
  • PlayerData script
    • about / Reorganizing our GameObjects in the Scene view
  • Player GameObject / Understanding the mission three GameObjects
  • player motion algorithm
    • updating / Updating the player motion algorithm
  • pop-up card Prefabs
    • creating / Creating the pop-up card Prefabs
  • pop-up system
    • developing / Developing the pop-up system
    • testing / Testing our work
    • modifying / Modifying the pop-up system
  • pop-up system, refactoring
    • level 3 pop ups, updating / Updating level 3 pop ups
    • level 2 pop ups, updating / Updating level 2 pop ups
    • level 1 pop ups, updating / Updating level 1 pop ups
  • PopupMainMenu GameObject
    • creating / Creating the PopupMainMenu GameObject
  • PopupMgr script / Implementing a system to connect object references

Q

  • QuizCard GameObject / Understanding the mission three GameObjects
  • quiz cards
    • modifying / Modifying the quiz cards
  • quizracer animation FSM
    • building / Building a quiz racer animation FSM

R

  • raceStartup Prefab
    • creating / Creating the raceStartup Prefab
  • refactoring
    • about / Reorganizing our GameObjects in the Scene view
  • response_changeState script / Implementing the NPC decision system
    • implementing / Implementing the response_changeState script
  • ReturnedTheFlagsResult Prefab
    • creating / Creating the ReturnedTheFlagsResult Prefab

S

  • scenes
    • adding, to game project / Adding new scenes to the project
  • ScorePlate
    • making active / Making the ScorePlate active
  • setupLevel2 Prefab
    • creating / Creating the setupLevel2 Prefab
  • SetupLevel3 GameObject / Understanding the mission three GameObjects
  • setupLevel3 Prefab
    • using / Using the setupLevel3 Prefab
  • SetupMission() method / Updating the SetupMission2 script
  • SetupMission2 script
    • updating / Updating the SetupMission2 script
  • SetupMissionOne script
    • creating / Creating the SetupMissionOne script
  • SetupMissionThree() script / Refactoring level 3
  • ShowLevel3Results response
    • creating / Creating the ShowLevel3Results response
  • simple character animation FSM
    • building / Building a simple character animation FSM
  • SimpleLifespanScript class
    • about / Understanding the base scripts, Implementing the SimpleLifespanScript
  • skinned mesh
    • about / Skinned meshes in Unity3D
    • character model, acquiring / Acquiring and importing models
    • character model, importing / Acquiring and importing models
  • SplineMgr class
    • implementing / Implementing the SplineMgr class
    • connecting, to NPCScript / Connecting SplineMgr to NPCScript
  • start line flag
    • creating / Creating the start and finish line flags
  • Switch Case FSM / The switch case FSM
  • systems
    • updating / Updating some systems

T

  • teaching loop, Finding the facts game
    • presentation stage / The teaching loop in game design
    • application stage / The teaching loop in game design
    • synthesis stage / The teaching loop in game design
  • terrain
    • creating / Creating a terrain
  • TextMesh component
    • about / Getting familiar with Unity UI classes
    • exploring / Exploring the TextMesh component
    • using / Ideal use of TextMesh
  • Time GameObject / Understanding the mission three GameObjects
  • Time object
    • creating / Creating the Time object
  • TriviaCardScript script
    • creating / Creating the TriviaCardScript script

U

  • Unity3D
    • skinned mesh / Skinned meshes in Unity3D
  • Unity animation editor
    • about / Exploring the Unity animation editor
    • exploring / Exploring the Unity animation editor
  • UnityGUI
    • using / Using UnityGUI
  • UnityScript object
    • exploring / Exploring UnityScript and the GUIButton object
  • Unity UI systems
    • GUIText / Getting familiar with Unity UI classes
    • GUITexture / Getting familiar with Unity UI classes
    • TextMesh / Getting familiar with Unity UI classes
    • GUIButton / Getting familiar with Unity UI classes
  • Update() / Implementing GameCam.cs
  • Update() loop / Implementing the GameMgr script
  • UpdateMovement() method / Implementing PlayerControls.cs
  • UpdateRotAndTrans() custom method / Implementing GameCam.cs
  • UpdateRotAndTrans() method / Implementing GameCam.cs

V

  • Validate() method / Updating some systems

Z

  • zombie racer animation FSM
    • building / Building a zombie racer animation FSM