Curiosity Driven Learning

Eric Eisaman
5 min readSep 15, 2018

--

“For the things we have to learn before we can do them, we learn by doing them.” ― Aristotle, The Nicomachean Ethics

Curiosity Driven Learning curriculum is composed of goals which are both desirable and attainable through the eyes of the student. This mindset guides the teacher through the Plan Do Check and Adjust process until proper CDL goals and corresponding pathways are designed. The learning targets / goals / outcomes required for the course aren’t necessarily the CDL goals. Instead, the pathways to the CDL goals require the student to produce evidence of learning for the “required” targets, often unwittingly. 😜

The example below is a CDL project designed to introduce students to computer science. This project can be remixed at Glitch.

Watch the Getting Started Videos

Set the ADMIN_KEY in .env. This becomes your admin user password, username admin, password your ADMIN_KEY.

In the client-config.js set the values for:

  • game name
  • emoji following game name in browser tab
  • favicon showing in browser tab
  • login font family
  • login font color
  • login form background color
  • login overlay color
  • avatar array of face image URLs ( use .png with transparent background )
  • avatar color used for button background
  • avatar speed
  • the text color for the messages
  • sound file URL for playerJoined
  • sound file URL for playerLeft
  • BGM songs, volume and whether to auto play through all songs
  • custom key bindings/behaviors
  • sythesized voice settings
  • physics gravity
  • maximum grab distance for movable objects
  • movable physics objects to be added to the scene
  • environment settings
  • thruster colors
  • mobile thruster button icon
  • vr mode enabled / disabled

Choosing a Voice

Explore the different voice names by listing them in the game browser console with: printVoices()

Test a variety of voices in the game browser console with the following pattern using the message followed by the voice name:

say("Do you like games?","Katy")

Adding Users

In the game browser console add users with the following pattern:

If you forget the Users you added, open the server Activity Log and reboot the server by adding an extra space after all the code in the server.js file. The user names and passwords will be printed in the Activity Log.

Choosing an Environment

Select from a variety of environment presets. Add your chosen preset in the client-config.js.

Environment Presets

How to Play

Move with WASD and ARROW keys. Jump with the SPACE key. Toggle music mute with 0 key. Play next song with P key.

Toggle the Message and Avatar UI with the EQUALS key on desktop, double tap right screen on Android mobile, single tap top right screen on iOS. Tab your way through the UI elements. Once you have finished typing your message or selecting a new avatar, hit ENTER to submit.

Grab and move objects with click & drag or click & move keys on desktop, hover & move or rotate on mobile.

Note: Users cannot be logged in more than once simultaneously!

Pressing the F key or clicking the VR Headset Icon, if enabled in client-config.js will take you to fullscreen mode. Note: in fullscreen mode only movement keys are enabled. Press the ESC key to exit fullscreen mode.

Try the LIVE DEMO with test users computer and science both with password 1234.

Thruster Animation

Screenshot with Four Players

Screenshot of Side Entrance to Sky Island (Click to see fullsize image.)

Performance Test ( 6 instances on 1 computer! )

Design Avatars

Create your own .glb avatar models with Sculptris and Blender.

Sculptris for Easy Creation of Basic Model

Blender Bones Animation

Blender Export as .glb

( plugin for Blender v2.79 here. Note: Blender v2.80 will have built-in plugin )

Mobile Performance

  • Joystick ( forward, backward, yaw )
  • Pitch control ( touch drag right side of screen )
  • Thruster Button ( up and forward )
  • Message, BGM, Avatar UI
  • Android : double tap right screen
  • iOS : single tap top right screen
  • Putting the cursor over a movable object for 2 seconds triggers 5 seconds of grab and move ability.

Related Videos

🏁 Getting Started Playlist

🎨 Color and Font Themes

ℹ️ Overview 1

ℹ️ Overview 2

ℹ️ Overview 3

ℹ️ Overview 4

Originally published at gist.github.com.

--

--