A passion project born from the desire to make game development accessible, educational, and fun for JavaScript developers.
KernelPlay.js was created with a simple mission: to provide developers with a lightweight, intuitive game engine that doesn't get in the way of creativity. Inspired by Unity's elegant Entity-Component System, it brings familiar concepts to the JavaScript ecosystem.
The engine started as a learning project to explore game architecture patterns and has evolved into a fully-functional framework capable of handling 2D and 3D games. With multiple rendering backends, built-in physics, and a clean API, KernelPlay.js aims to be the perfect choice for prototyping, learning, and building indie games.
Currently in alpha (v0.1.2), the project is actively developed and welcomes contributions from the community. Whether you're a beginner learning game development or an experienced developer looking for a lightweight engine, KernelPlay.js has something to offer.
Built the foundation with Entity-Component System, game loop, and scene management.
Implemented multiple rendering backends: Canvas 2D, WebGL 2D, and Three.js 3D support.
Added 2D/3D physics with collision detection, rigidbodies, gravity, and trigger systems.
Created comprehensive keyboard, mouse input systems, and raycasting for object picking.
Creator & Lead Developer
A passionate game developer and JavaScript enthusiast dedicated to making game development accessible to everyone. Building KernelPlay.js with love and coffee ☕
Follow on GitHubKernelPlay.js is open source and welcomes contributions from developers of all skill levels. Whether you want to fix bugs, add features, improve documentation, or share feedback, your input is valuable!
Submit PRs for bug fixes and new features
Help improve documentation and examples
Share ideas and report issues
KernelPlay.js is licensed under the MIT License, which means you're free to use it in personal and commercial projects.
Read Full License →