To support large-scale deployments, the CRYSTAL ISLAND: UNCHARTED DISCOVERY learning environment was designed as a cloudbased
application (Fig. 8). Its functionalities are decomposed into those running on its Browser-based Client Runtime Environment
(running on the Unity 3D Game Engine) and those running on its Cloud-based Server Runtime Environment (running on
the Google App Engine). The Browser-based Runtime Environment consists of the following components: the Narrative Director,
which structures narrative episodes; the Quest Manager, which oversees a student’s quest progress; the NPC Manager,
which directs the behavior and dialog of the virtual characters; the Inventory Manager, which tracks each student’s inventory;
the Quiz Manager, which determines which quizzes to issue and in which contexts; the Virtual Tablet Manager and Level
Manager, which track students’ tablet and level activities; the Camera Controller, which manages the virtual camera that
‘‘films’’ all of the actions in the virtual world; the Photo Journal Manager, which manages students’ notes and photos; the User
Game Settings, which manages graphics and audio settings; and the Trace Data Connector and Game Save Connector, which
collectively log and store trace data and game states and supervise all data management and client–server communication.