{"id":13733425,"url":"https://github.com/supermedium/moonrider","last_synced_at":"2025-05-16T16:04:51.867Z","repository":{"id":38898896,"uuid":"180749079","full_name":"supermedium/moonrider","owner":"supermedium","description":"🌕🏄🏿 Surf the musical road among the stars. Side project built by two people in a few months to demonstrate WebXR.","archived":false,"fork":false,"pushed_at":"2024-05-02T12:08:12.000Z","size":25155,"stargazers_count":626,"open_issues_count":84,"forks_count":245,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-05-16T16:04:03.322Z","etag":null,"topics":["aframe","browser","html","javascript","threejs","web","webgl","webvr","webxr"],"latest_commit_sha":null,"homepage":"https://moonrider.xyz","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supermedium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-11T08:32:00.000Z","updated_at":"2025-05-07T20:06:49.000Z","dependencies_parsed_at":"2024-02-15T01:41:38.392Z","dependency_job_id":"6227eabf-d96b-4092-a0df-77c45e434cda","html_url":"https://github.com/supermedium/moonrider","commit_stats":{"total_commits":494,"total_committers":21,"mean_commits":"23.523809523809526","dds":0.4109311740890689,"last_synced_commit":"f756aa6928f3e91ce4bde4bc496a8b86f3edeb79"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermedium%2Fmoonrider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermedium%2Fmoonrider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermedium%2Fmoonrider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supermedium%2Fmoonrider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supermedium","download_url":"https://codeload.github.com/supermedium/moonrider/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254564113,"owners_count":22092120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aframe","browser","html","javascript","threejs","web","webgl","webvr","webxr"],"created_at":"2024-08-03T03:00:42.845Z","updated_at":"2025-05-16T16:04:51.848Z","avatar_url":"https://github.com/supermedium.png","language":"JavaScript","readme":"# Moon Rider\n\n![moonrider](https://user-images.githubusercontent.com/674727/54646629-e91dc600-4a5c-11e9-8a6e-91e77f28523d.jpg)\n\nSurf the musical road among the moon, stars, and northern lights.\n\nA side project built by two people in a few months to show off VR running\ninside a webpage. Built with HTML, JavaScript, and A-Frame. Not meant to be an\nofficial game nor commerical product. Moon Rider is meant to be an open source\nresource for the web developer community to learn from, and to push forward the\nopen WebXR initiative.\n\n![gif](https://user-images.githubusercontent.com/674727/58050249-ab442900-7b03-11e9-8763-913d42a26708.gif)\n\nSong maps are sourced from [beatsaver](https://beatsaver.com). Supports all browsers and headsets (incl. Quest). If\nthere are any issues, file an issue here on GitHub or leave a message in the\n[Supermedium Discord](https://supermedium.com/discord).\n\n[**Try the site out now in your browser!**](https://supermedium.com/moonrider/)\n\n![](https://user-images.githubusercontent.com/674727/58050969-b8621780-7b05-11e9-9494-1db7cee9f69b.jpeg)\n\nFeaturing various modes:\n\n- **Ride Mode** - Just sit back and enjoy the ride.\n- **Punch Mode** - Crush the stars.\n- **Viewer Mode** - Watch the beatmap within your browser.\n- **Classic Mode** - Surf and slice along the musical road.\n\nBig thanks to @elliottate for helping out with this!\n\n## Development\n\nHave Node (\u003c v12, recommended v11) and npm installed.\n\n```\nnpm install\nnpm run start\n```\n\nThen head to `localhost:3000` in your browser.\n\n### Remixing and Forking\n\nMake this game your own! Some easy ways to mess around:\n\n- To modify or add more color palettes, change `src/constants/colors.js`.\n- To change images, replace images in `src/assets/img/` folder. For example,\n  replace the moon at `src/assets/img/moon.png'.\n- To change models, replace models in `src/assets/models/` folder. For example,\n  replace the arrow blocks at `src/assets/models/arrowblue.obj` or\n  `arrowred.obj`.\n- To change sounds, replace sounds in `src/assets/sounds`. For example, replace\n  the hit sounds at `src/assets/sounds/`.\n- Change various values such as `speed` in `src/state/index.js` or\n  `BEAT_PRELOAD_TIME` in `src/components/beat-generator.js` to mess with how\n  fast you travel along the curve, or how much reaction time until the notes\n  arrive to the player.\n\nOther ways such as adding more modes are more involved, but with knowledge of\nA-Frame and JavaScript, is doable!\n\n### Test URL Parameters\n\n| URL Parameter                           | Description                                                   |\n|-----------------------------------------|---------------------------------------------------------------|\n| ?debugcontroller={classic, punch, ride} | Show controllers and move them with shift/ctrl + {h, j, k, l} |\n| ?debugbeatpositioning={classic, punch}  | Show all notes in possible positionings.                      |\n| ?debugstate={loading, victory}          | Show loading or victory screen.                               |\n| ?skipintro=true                         | Skip introduction screen.                                     |\n\n### Deploying to GitHub\n\nShowing off some crazy customizations? Enable GitHub Pages deployment to deploy\n`gh-pages` branch, and then:\n\n```\nnpm run deploy\n```\n\nThe website will be available on `https://yourusername.github.io/moonrider/`.\n","funding_links":[],"categories":["Web-Based Frameworks","JavaScript"],"sub_categories":["Motion Controllers inside Unity!"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermedium%2Fmoonrider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupermedium%2Fmoonrider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupermedium%2Fmoonrider/lists"}