About KernelPlay.js

A passion project born from the desire to make game development accessible, educational, and fun for JavaScript developers.

The Story

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.

Development Journey

1

Core Architecture

Built the foundation with Entity-Component System, game loop, and scene management.

2

Render Pipeline

Implemented multiple rendering backends: Canvas 2D, WebGL 2D, and Three.js 3D support.

3

Physics Engine

Added 2D/3D physics with collision detection, rigidbodies, gravity, and trigger systems.

4

Input & Interaction

Created comprehensive keyboard, mouse input systems, and raycasting for object picking.

Roadmap

Completed

  • ✓ Entity-Component System
  • ✓ Multiple Renderers
  • ✓ Physics Engine
  • ✓ Input System
  • ✓ Scene Management

In Progress

  • ⏳ Camera System
  • ⏳ Object Pooling
  • ⏳ Audio System
  • ⏳ Animation System
  • ⏳ Debug Tools

Planned

  • → UI System
  • → Particle System
  • → State Machine
  • → AI Behaviors
  • → Tilemap Support

Future

  • 🌟 Visual Editor
  • 🌟 Networking
  • 🌟 Mobile Export
  • 🌟 Asset Pipeline
  • 🌟 Plugin System

Soubhik Mukherjee

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 GitHub

Contributing

KernelPlay.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!

Code

Submit PRs for bug fixes and new features

Docs

Help improve documentation and examples

Feedback

Share ideas and report issues

Open Source License

KernelPlay.js is licensed under the MIT License, which means you're free to use it in personal and commercial projects.

Read Full License →