This software is free (as in freedom). If you use any part of this code, you must make your entire project's source code publicly available under the same license. This applies whether you modify the code or use it as it is in your own project. This ensures that all modifications and derivative works remain free software, so that everyone can benefit. If you are not willing to comply with these terms, you must refrain from using any part of this code.
For full license terms and conditions, you can read the AGPL-3.0 at: gnu.org/licenses/agpl-3.0.html.
The core technologies used are JavaScript and WebGL. The following libraries and tools are used:
Name | License | Description |
---|---|---|
React | MIT | Component-based, front-end interface library |
Three.js | MIT | 3D graphics API for the web, based on WebGL |
React Three Fiber | MIT | A React renderer for Three.js |
Drei | MIT | Useful helpers for React Three Fiber |
Zustand | MIT | State management |
Vite | MIT | Frontend development tooling |
The player controls a beach ball, and has to hit the star at the end of the level in order to win, while avoiding a variety of obstacles. If the ball falls off the level, the game restarts with the ball in its initial position.
Button(s) | Action |
---|---|
←↑→↓ or WASD | Move |
Space | Jump |
Enter | Start game (on main menu) |
M | Mute/Unmute |
R | Restart |
P | Show performance stats |
Esc | Toggle menu modal (in game) |
A non-exhaustive list of all the software that was used during the development of Beachy Beachy Ball.
- Visual Studio Code
- Figma
- Blender
- Adobe Photoshop
- Inkscape
- Google Chrome
- Microsoft Edge
- Mozilla Firefox
All the assets used (3D models, images etc.) are either using Creative Commons / Public Domain or they were created by me.
Thank you so much for your interest in my project! If you want to go a step further and support my open source work, buy me a coffee:
Copyright (c) Michael Kolesidis
Licensed under the GNU Affero General Public License v3.0.