{"id":28214591,"url":"https://github.com/madebywild/konterball","last_synced_at":"2025-10-28T18:05:13.375Z","repository":{"id":41150366,"uuid":"85065814","full_name":"madebywild/konterball","owner":"madebywild","description":"Konterball is a single or 2-player virtual reality game, built for the web as a Google VR Chrome Experiment.","archived":false,"fork":false,"pushed_at":"2022-12-06T15:23:44.000Z","size":77461,"stargazers_count":148,"open_issues_count":21,"forks_count":41,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-05-17T21:07:59.310Z","etag":null,"topics":["bodymovin","cannonjs","greensock","howlerjs","threejs","vr","webvr"],"latest_commit_sha":null,"homepage":"https://konterball.com","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/madebywild.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}},"created_at":"2017-03-15T11:44:33.000Z","updated_at":"2025-04-16T14:40:57.000Z","dependencies_parsed_at":"2023-01-24T02:16:58.973Z","dependency_job_id":null,"html_url":"https://github.com/madebywild/konterball","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/madebywild/konterball","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebywild%2Fkonterball","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebywild%2Fkonterball/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebywild%2Fkonterball/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebywild%2Fkonterball/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madebywild","download_url":"https://codeload.github.com/madebywild/konterball/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madebywild%2Fkonterball/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259377255,"owners_count":22848315,"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":["bodymovin","cannonjs","greensock","howlerjs","threejs","vr","webvr"],"created_at":"2025-05-17T21:08:02.640Z","updated_at":"2025-10-28T18:05:08.327Z","avatar_url":"https://github.com/madebywild.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Konterball Logo\" width=\"480\" src=\"https://raw.githubusercontent.com/madebywild/konterball/master/logo.png\"\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Konterball Demo\" src=\"https://raw.githubusercontent.com/madebywild/konterball/master/demo.gif\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://konterball.com/\"\u003eTry it here\u003c/a\u003e\n\u003c/p\u003e\n\n## Introduction\n\nKonterball is a [VR Chrome Experiment](https://vr.chromeexperiments.com/) made\nby [WILD](https://wild.as/). 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\n[WebVR](https://webvr.info/). You can play Konterball with a regular laptop, smartphone, Google Cardboard or Daydream, HTC Vive or Oculus Rift.\n\nThis repo contains the static frontend for the game. In multiplayer mode, it connects to a [deepstream.io](https://deepstream.io/) websocket server which is used to relay the communication messages two clients.\n\nWe use [three.js](https://threejs.org/) for the graphics part, [cannon.js](http://www.cannonjs.org/) as a physics engine, [gsap](https://greensock.com/gsap) and [bodymovin](https://github.com/bodymovin/bodymovin) for animations and [howler.js](https://howlerjs.com/) for audio. This project also relies on the [webvr polyfill](https://github.com/googlevr/webvr-polyfill) to support browsers that don't natively support WebVR and [webvr-ui](https://github.com/googlevr/webvr-ui) for VR mode management.\n\n## Development\n\nIf you want to build this project, you first have to buy the used fonts (or use different ones). The fonts are available [here](https://www.myfonts.com/fonts/urw/antique-olive/nord-d-regular/) and\n[here](https://www.myfonts.com/fonts/linotype/futura/pro-medium-oblique/). 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](https://gero3.github.io/facetype.js/)).\n\n* Run `npm install` or `yarn`\n* Run `gulp`\n\nDepending on whether you want to host a local deepstream server too:\n\n* Run `node deepstream.js`\n* Update `availableServers` in `src/javascripts/communication.js`, add localhost\n\n## Production\n\n* Run `gulp production`\n* Run `node deepstream.js`\n* Server should now be available at port 8081, or whatever port you set in the PORT environment var.\n\n## Support\n*As of 9/11/2018, the WebVR API is no longer supported so some features may not work as intended.*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadebywild%2Fkonterball","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadebywild%2Fkonterball","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadebywild%2Fkonterball/lists"}