Skip to content

Devusol/vrplayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS1 Game Engine

version 0.3.5


Mission

🍎 Provide the JavaScript community with a fast track to high performance 3D VR multiplayer games installable on phones, tablets, laptops, and desktops as Progressive Web Applications (PWAs). The resultant games are compatible with many popular VR HMD and controller systems such as the Oculus Quest.

🍎 Provide students and teachers with an accompanying introductory level curriculum covering computer programming, computer networks, and application asset design.


Tech Demo

🍎 Log into the tech demo with username: computer or science and password: 1234.


Quick Start

🍎 Remix this project.

🍎 Add an ADMIN_KEY in .env, such as:

ADMIN_KEY="myAdminPassword1234"

🍎 Add DATABASE_API_PROPERTIES in .env, separated by spaces such as:

DATABASE_API_PROPERTIES="LED credits"

🍎 Add IOT_API_KEY in .env if you are connecting an IoT device:

IOT_API_KEY="wejvaYi359qM12"

🍎 For the admin account, login with admin and your ADMIN_KEY.

🍎 Add additional accounts through the client console.

CS1.socket.emit('add-user',{key:[ADMIN_KEY],name:[new username],pw:[new user pw]})

🍎 After changing any src/ files, in the server Tools/Console run:

pnpm run build
refresh

Overview

🍎 Based upon A-Frame version 0.9.

🍎 Using navigation mesh based pathfinding.

🍎 Integrated with D3.js for data visualization.

  • Make examples. (TODO)

🍎 Enables easy use of shaders created with Shader Frog.

  • Include the desired shader json file in your build by importing in shader-frog.js
  • Declaratively implement the shader-frog component in your HTML.

🍎 JS, CSS, and JSON bundling, minification, and uglifying with Rollup.

🍎 Installable as a Progressive Web App (PWA).

🍎 Heads Up Display (HUD) system including:

  • RingDial data visualization widget
  • Meter data visualization widget
  • GUI Widgets (TODO)

🍎 Collectibiles System

  • Offline collection
  • Online collection
  • Collectibles can be set to respawn

🍎 Items can be declared grabbable, therefore movable by players.

🍎 A-Frame Effects

  • bloom
  • glitch
  • godrays
  • fxaa

🍎 A-Frame Particle Player

  • JSON particles bundling

🍎 BGM System (named exports)

  • via SoundCloud
    • bgmlite: simple no UI, no server interaction
    • bgm: includes UI and interactive multiplayer interaction (TODO)

🍎 Player Component

  • instantiated for all players
  • avatars and animation clips can be changed dynamically

🍎 Node Graph Flow Based Editor

🍎 Cloud Component

  • vertex animation
  • custom color

🍎 NPC Component

🍎 Dotrow Component

  • Makes it easy to add rows of collectibles.
  • Intended to be developer's first look in to editing component source code.

🍎 Database

🍎 IoT Component

  • Illustrates basic IoT device integration.

CS1 Global Object Namespace

🍎 CS1.scene

🍎 CS1.myPlayer

🍎 CS1.otherPlayers

🍎 CS1.utils

  • uuid()
  • isEqual(a,b)
  • toColor(number)
  • randomFromArray(array)

🍎 CS1.cam

🍎 CS1.collectibles

🍎 CS1.grabbables

🍎 CS1.hud

🍎 CS1.say

🍎 CS1.sounds

🍎 CS1.shaderfrog 🐸

  • provides easy access to shaders to manipulate uniforms.

🍎 CS1.npc

🍎 CS1.game

🍎 CS1.db

  • set({key:'value'} , callbackFunction)
  • get('key' , callbackFunction)

Issues

🍎 Please post any issues to GitHub.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published