Konterball is a VR Chrome Experiment made by WILD. It's a ping pong game which can be played in one player mode or with a friend in realtime over the web. It was developed in order to showcase the latest Chrome browser which natively supports WebVR. You can play Konterball with a regular laptop, smartphone, Google Cardboard or Daydream, HTC Vive or Oculus Rift.
This repo contains the static frontend for the game. In multiplayer mode, it connects to a deepstream.io websocket server which is used to relay the communication messages two clients.
We use three.js for the graphics part, cannon.js as a physics engine, gsap and bodymovin for animations and howler.js for audio. This project also relies on the webvr polyfill to support browsers that don't natively support WebVR and webvr-ui for VR mode management.
If you want to build this project, you first have to buy the used fonts (or use different ones). The fonts are available here and
here. Place them into src/fonts
with the names AntiqueOlive
, Futura
and FuturaItalic
with the extensions .eot
, .ttf
, .woff
, .woff2
and .json
(you can convert them to json here).
- Run
npm install
oryarn
- Run
gulp
Depending on whether you want to host a local deepstream server too:
- Run
node deepstream.js
- Update
availableServers
insrc/javascripts/communication.js
, add localhost
- Run
gulp production
- Run
node deepstream.js
- Server should now be available at port 8081, or whatever port you set in the PORT environment var.
As of 9/11/2018, the WebVR API is no longer supported so some features may not work as intended.