https://github.com/sehugg/vrarcade
VR / WebXR arcade from 8bitworkshop.com
https://github.com/sehugg/vrarcade
Last synced: about 1 year ago
JSON representation
VR / WebXR arcade from 8bitworkshop.com
- Host: GitHub
- URL: https://github.com/sehugg/vrarcade
- Owner: sehugg
- License: apache-2.0
- Created: 2024-01-22T23:34:12.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-03T17:58:26.000Z (about 2 years ago)
- Last Synced: 2025-01-15T14:15:30.760Z (over 1 year ago)
- Language: TypeScript
- Size: 3.28 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 8bitworkshop VR Arcade
Demo:
* Open the WebXR browser on your VR headset
* Go to [https://sehugg.github.io/vrarcade](https://sehugg.github.io/vrarcade/) (or use [Oculus launch link](https://www.oculus.com/open_url/?url=https://sehugg.github.io/vrarcade/))
To play a game, point at its screen and pull the trigger.
Control the game with the thumbstick and trigger on your motion controller.
The virtual stick and buttons look nice, but are not yet functional,
so you can't play with hand-tracking yet.

## Description
This project uses WebXR to create playable arcade cabinets in immersive augmented reality!
* Use your own ROM
* Customize your cabinet shape and artwork
* Place multiple cabinets wherever you want
* Click the screen to start the game!
## Development
- clone or download the repo
- `npm i`
- For development: `npm run dev`
- For production: `npm run build` then to preview what was built `npm run preview` (contents are in dist/ folder)
## Customization
To create your own games:
* Edit [config.ts](src/config.ts) to add your own cabinet definitions.
* Modify `CABINET_MAP` to map identifiers to cabinet configs.
* Modify `ARCADE_SCENE_CONFIG` to place cabinets around the room.
## ROMs
Look at `public/games` for ROM and video examples.
Only the NES platform is supported right now.
## Parametric model
This creates cabinets using JSON objects and a couple of JPG/PNG files.
Look at `CABINET_SOLARIAN` and `CABINET_CLIMBER` for examples.
Also look at `public/cabinets` for texture maps.
## Using your own model (in .glb format)
Look at `CABINET_MODEL_BASE` for an example.
(Model-based cabinets are not used in the current demo.)