/cs-pathway

Primary LanguageJavaScript

geometry game

CS1

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



Remixing Instructions

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()

names

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: add user

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 preset

Environment Presets

Environement Options


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.

UI

Toggle the Message and Avatar UI with the EQUALS key on desktop, double tap right screen on mobile. 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

App Screen2

Screenshot with Four Players

App Screen3

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

Performance Test ( 6 instances on 1 computer! ) Performance Test


Design Avatars

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

Sculptris for Easy Creation of Basic Model

Sculptris

Blender Bones Animation

Blender

Blender Export as .glb

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


Mobile Performance

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

mobile-0 mobile-1 mobile-2


Related Videos

color and font themes

overview 1

overview 2

overview 3

overview 4

Special Thanks

I would like to extend special thanks to ZOSK Studios for the creation of the sky island model used in this project.