LittleJS - The Tiny Fast JavaScript Game Engine

[![NPM Package][npm]][npm-url]
[![Build Size][build-size]][build-size-url]
[![NPM Downloads][npm-downloads]][npmtrends-url]
[![DeepScan][deepscan]][deepscan-url]
[![Discord][discord]][discord-url]
🚂 All Aboard!
LittleJS is a fast, lightweight, and fully open source HTML5 game engine designed for simplicity and performance.
Its small footprint is packed with a comprehensive feature set including rendering, physics, particles, sound, and input handling.
The code is very clean and well documented with many examples to get you started quickly.
## [Demos](https://killedbyapixel.github.io/LittleJS/examples) | [Docs](https://killedbyapixel.github.io/LittleJS/docs) | [Trailer](https://youtu.be/chuBzGjv7Ms) | [Discord](https://discord.gg/zb7hcGkyZe) | [FAQ](https://github.com/KilledByAPixel/LittleJS/blob/main/FAQ.md)

LittleJS Features
✨ Graphics
- Super fast WebGL2 + Canvas2D hybrid rendering system
- Apply Shadertoy style shaders for post-processing effects
- Robust particle effect system and effect design tool
🔊 Audio
- Sound and music with mp3, ogg, or wave files
- Use ZzFX sound effect generator to play sounds without asset files
- Comprehensive input handling for mouse, keyboard, gamepad, and touch
- Customizable on screen gamepad designed for mobile devices
💥 Physics
- Robust arcade physics system with collision handling
- Fast tilemap collision and raycasting
- Full Box2D integration for realistic physics
🚀 Flexibility
- Compatible with all modern web browsers and mobile devices
- TypeScript and Module support with example projects for both
- Great for size coding competitions like Js13kGames
- Open Source and MIT licensed
- Live example browser with code editor
- Debug overlay and primitive rendering system
- Medal tracking system with Newgrounds support
- Node.js build system
How To Use LittleJS
To get started download the latest LittleJS package from GitHub or install via npm: npm install littlejsengine
Examples
LittleJS comes with a several demos both for learning and using as starter projects to create new games.
Builds
Games Made With LittleJS
Here are a few of the many amazing games created with LittleJS…

