A simple rolling ball browser based 3d game built with fun. Play it here
- three.js for the game engine
- ammo.js a javascript port of Bullet physics engine
- Comlink for smooth webworker communication
- tween.js for object animation
- Proton as three.proton for particles
- typed.js for text animation
- and async
Very worthy of mention is Ammo.lab by lo-th from which the bridging process of threejs and ammojs was derived.
dist/assets/texture/dot.png
: gotten from three.proton project.
Every other texture courtesy of Yughues Nobiax
dist/assets/audio/spirit-of-the-girl.ogg
: A modified form of Music from https://filmmusic.io: "Spirit of the Girl" by Kevin MacLeod (https://incompetech.com)
Licence: CC BY (https://creativecommons.org/licenses/by/4.0/)
dist/assets/audio/pulse.ogg
: Created by self
Licence: CC 0 (https://creativecommons.org/publicdomain/zero/1.0/)
You can either dowload the repo as zip or
git clone git://github.com/BlueMagnificent/baller.git
Navigate to the project directory:
cd ./baller
install dependencies:
npm install
then run it:
npm start
your browser should open up with the game if every thing was successful.
You might notice slight physics anomalies, like the ball falling out of the board, well... just restart the game, we'll fix that up later 😝
Libraries such as tween.js, typed.js and Comnlink were added to the project as webpack externals
- Upgrade the RealityBridge class to become a separate project of its own.
- Find a way to tackle some of the physics anomalies.
- Add support for mobile browsers
MIT