GithubHelp home page GithubHelp logo

aframevr / moonrider Goto Github PK

View Code? Open in Web Editor NEW

This project forked from supermedium/moonrider

17.0 2.0 12.0 24.46 MB

๐ŸŒ•๐Ÿ„๐Ÿฟ Surf the musical road among the stars. Side project built by two people in a few months to demonstrate WebXR.

Home Page: https://moonrider.xyz

License: MIT License

Shell 0.23% HTML 23.40% JavaScript 71.76% GLSL 4.08% CSS 0.53%

moonrider's Introduction

Moon Rider

moonrider

Surf the musical road among the moon, stars, and northern lights.

A side project built by two people in a few months to show off VR running inside a webpage. Built with HTML, JavaScript, and A-Frame. Not meant to be an official game nor commerical product. Moon Rider is meant to be an open source resource for the web developer community to learn from, and to push forward the open WebXR initiative.

gif

Read more about it with elliottate at bsaber.com

Song maps are sourced from beatsaver.com with expressed support from the Beat Saver community admins. Supports all browsers and headsets (incl. Quest). If there are any issues, file an issue here on GitHub or leave a message in the Supermedium Discord.

Try the site out now in your browser!

Featuring various modes:

  • Ride Mode - Just sit back and enjoy the ride.
  • Punch Mode - Crush the stars.
  • Viewer Mode - Watch the beatmap within your browser.
  • Classic Mode - Surf and slice along the musical road.

Big thanks to @elliottate for helping out with this!

Development

Have Node (< v12, recommended v11) and npm installed.

npm install
npm run start

Then head to localhost:3000 in your browser.

Remixing and Forking

Make this game your own! Some easy ways to mess around:

  • To modify or add more color palettes, change src/constants/colors.js.
  • To change images, replace images in src/assets/img/ folder. For example, replace the moon at `src/assets/img/moon.png'.
  • To change models, replace models in src/assets/models/ folder. For example, replace the arrow blocks at src/assets/models/arrowblue.obj or arrowred.obj.
  • To change sounds, replace sounds in src/assets/sounds. For example, replace the hit sounds at src/assets/sounds/.
  • Change various values such as speed in src/state/index.js or BEAT_PRELOAD_TIME in src/components/beat-generator.js to mess with how fast you travel along the curve, or how much reaction time until the notes arrive to the player.

Other ways such as adding more modes are more involved, but with knowledge of A-Frame and JavaScript, is doable!

Test URL Parameters

URL Parameter Description
?debugcontroller={classic, punch, ride} Show controllers and move them with shift/ctrl + {h, j, k, l}
?debugbeatpositioning={classic, punch} Show all notes in possible positionings.
?debugstate={loading, victory} Show loading or victory screen.
?skipintro=true Skip introduction screen.

Deploying to GitHub

Showing off some crazy customizations? Enable GitHub Pages deployment to deploy gh-pages branch, and then:

npm run deploy

The website will be available on https://yourusername.github.io/moonrider/.

moonrider's People

Contributors

antoined73 avatar avaer avatar bitdancer avatar cabanier avatar chrislatorres avatar danielwippermann avatar dmarcos avatar feiss avatar ngokevin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.