A multiplayer WebVR game where each side builds and defends their stronghold from the opposing team.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Block Break VR

A multiplayer WebVR game where each side builds and defends their stronghold from the opposing team.

View Demo (Single-player only)


Aim the cursor and click to place a block, jump and shoot your way to victory! Build and defend your fort while trying to destroy the opposing teams shiny relic.


  • Spacebar - Jump
  • CTRL - Shoot

Known Issues

  • Blocks can only be placed on / destroyed from the top and 2 of the facing sides.
  • Sounds events do not sync over the network
  • Network activity can be laggy when firing projectiles
  • Current demo is single-player only


  • Sync sound events over network
  • Trigger local physics for animations in response to network events (e.g. block destruction)
  • Provision multiplayer demo server
  • Add scoring and rounds
  • Add team colours
  • Add new player model
  • Test block placing using HTC Vive / Oculus controllers
  • Add locomotion support for Google Cardboard / Mobile devices
  • Add support for block placing using GearVR / Daydream controllers


Also a special thanks to everyone from the A-Frame community who contributed components to this project!


  • Run the following from the project root:
npm install



  • After pulling from the repository whe a new package has been added, be sure to run npm install or the _build/index.js.map won't compile correctly. Check inside that file for errors.

Development Mode

  • Run the following to start the development server:

    npm start

    Open your browser to http://localhost:8080 to view the project.

Production Mode

  • Run the following to start the server in production mode so you can access the server via your IP address

    npm run prod

    Open your browser to http://YOUR_IP:8080 to view the project.

Updating GitHub Pages

  • Run the following to update GitHub pages with a static build based on the current local branch:

    npm run ghpages