Kerby64 is a compilation of mini-games built with Babylon.js. It features procedural terrain generation, custom-made shader material and compute shaders, and dynamic rendering techniques.
<iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>A GitHub action is configured to deploy the latest version of the game online. You can access it at https://kerby64.socrimoft.games/
IMPORTANT: A WebGPU-compatible browser is needed to run the game (e.g., Chrome, Edge)
- Rush: Never-ending, random-generated platformer with mario world look.
- Bird: Flappy Bird with Mario theme.
- World: Attempt at creating Minecraft on a web game engine with the help of compute shader to leverage GPU for chunk generation.
- Classic: Kirby's dream land remake.
- Dorian REYNIER, aka Fenris1801: Bird, Classic
- Loïc ANDRÉ, aka Loic-An: World
- Ludovic CLOLOT, aka Ludoclt: Rush
Latest documentation is available at socrimoft.github.io/Kerby64/ or can be made locally with the command
npm run docHere's how the game is organized:
Kerby64/
├── src/
| ├── */ #
│ ├── audioManager.ts # Class that instanciate AudioEngineV2
│ ├── inputManager.ts # InputHandler keyboard and mouse
│ ├── loadingScreen.ts # Class for the Loading screen
│ ├── random.ts # Class for the seeded random function
│ └── game.ts # Entry point of the application
├── public/ # Static assets (e.g., textures, models, music, ...)
├── package.json # Project dependencies and scripts
├── README.md # Project description (you are here)
└── tsconfig.json # TypeScript configuration
Before running the project, ensure you have the following installed:
Next, follow thoses procedures:
-
Clone the repository:
git clone https://github.com/Socrimoft/Kerby64.git cd Kerby64 -
Install dependencies:
npm install
-
Start the development server:
npm run start
-
Open your browser and navigate to: http://localhost:8080
- Babylon.js for the rendering engine.
- Lunehiver for the original soundtrack.
- bevy-interstellar for his implementation of Perlin Noise in WGSL.
- Faithfulpack for the GUI and blocks texture on world.
Note: While making the game, some contents that are not under an open source license were used as placeholder. It is possible that some of them still remains: feel free to report such content to us to remove them.