{"id":14990943,"url":"https://github.com/killedbyapixel/littlejs","last_synced_at":"2026-05-25T22:05:48.914Z","repository":{"id":37491082,"uuid":"409749889","full_name":"KilledByAPixel/LittleJS","owner":"KilledByAPixel","description":"LittleJS is the tiny fast HTML5 game engine with many features and no dependencies. 🚂 Choo-Choo!","archived":false,"fork":false,"pushed_at":"2025-05-09T04:37:21.000Z","size":7823,"stargazers_count":3655,"open_issues_count":11,"forks_count":187,"subscribers_count":45,"default_branch":"main","last_synced_at":"2025-05-09T05:28:12.180Z","etag":null,"topics":["canvas","codegolf","game-development","game-engine","game-frameworks","gamedev","html5-game-development","javascript","js13k","littlejs","physics-engine","sizecoding","webgl"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KilledByAPixel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-09-23T21:34:48.000Z","updated_at":"2025-05-09T04:37:25.000Z","dependencies_parsed_at":"2023-02-18T11:06:31.626Z","dependency_job_id":"4e50a1f9-b888-4351-81db-ede780731a4d","html_url":"https://github.com/KilledByAPixel/LittleJS","commit_stats":{"total_commits":830,"total_committers":16,"mean_commits":51.875,"dds":0.02168674698795181,"last_synced_commit":"1c7f3c0e24bc6be9f871ef1deeb801251ac8af85"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KilledByAPixel%2FLittleJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KilledByAPixel%2FLittleJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KilledByAPixel%2FLittleJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KilledByAPixel%2FLittleJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KilledByAPixel","download_url":"https://codeload.github.com/KilledByAPixel/LittleJS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253969266,"owners_count":21992264,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas","codegolf","game-development","game-engine","game-frameworks","gamedev","html5-game-development","javascript","js13k","littlejs","physics-engine","sizecoding","webgl"],"created_at":"2024-09-24T14:21:12.000Z","updated_at":"2026-05-25T22:05:48.907Z","avatar_url":"https://github.com/KilledByAPixel.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LittleJS - The Tiny Fast JavaScript Game Engine\n\n\u003cdiv align='center' markdown='1'\u003e\n    \n![LittleJS Logo](examples/logo.png)\n\n[![NPM Package][npm]][npm-url]\n[![Build Size][build-size]][build-size-url]\n[![NPM Downloads][npm-downloads]][npmtrends-url]\n[![DeepScan][deepscan]][deepscan-url]\n[![MIT License][license]][license-url]\n[![Discord][discord]][discord-url]\n\n\u003c/div\u003e\n\n## 🚂 All Aboard!\n\nLittleJS is a fast, lightweight, and fully open source HTML5 game engine designed for simplicity and performance.\nIts small footprint is packed with a comprehensive feature set including rendering, physics, particles, sound, and input handling.\nThe code is very clean and well documented with many examples to get you started quickly.\n\n### 🚀 Join the LittleJS Game Jam\n\n*The Third Annual LittleJS Game Jam will take place From Oct 2 to Nov 2! Unleash your creativity and develop amazing games using the LittleJS game engine. 🕹️🎮 [Sign up today and get more info about the jam on itch.io!](https://itch.io/jam/littlejs-jam)*\n\n\u003cdiv align='center' markdown='1'\u003e\n\n## [Demos](https://killedbyapixel.github.io/LittleJS/examples) | [Docs](https://killedbyapixel.github.io/LittleJS/docs) | [Reference](https://github.com/KilledByAPixel/LittleJS/blob/main/REFERENCE.md) | [FAQ](https://github.com/KilledByAPixel/LittleJS/blob/main/FAQ.md) | [Trailer](https://youtu.be/chuBzGjv7Ms) | [Discord](https://discord.gg/zb7hcGkyZe)\n\n\u003c/div\u003e\n\n![LittleJS Screenshot](examples/screenshot.jpg)\n\n## LittleJS Features\n\n### ✨ Graphics\n\n- Blazing fast WebGL2 + Canvas2D hybrid rendering system\n- Apply [Shadertoy](https://www.shadertoy.com) style shaders for post-processing effects\n- Robust particle effect system and [effect design tool](https://killedbyapixel.github.io/LittleJS/examples/particles/)\n\n### 🔊 Audio\n\n- Sound and music with mp3, ogg, or wave files\n- Use [ZzFX](https://killedbyapixel.github.io/ZzFX/) sound generator to play sounds without asset files\n- Spatial audio stereo panning\n\n### 🎮 Input\n\n- Comprehensive input handling for mouse, keyboard, gamepad, and touch\n- Customizable on screen gamepad designed for mobile devices\n\n### 💥 Physics\n\n- Robust arcade physics system with collision handling\n- Fast tilemap collision and raycasting\n- Full Box2D integration for realistic physics using [Box2D v2.3.1 wasm](https://github.com/kripken/box2d.js)\n- Grid-based A* pathfinding plugin with optional path smoothing\n\n### 🚀 Flexibility\n\n- Compatible with all modern web browsers and mobile devices\n- Full TypeScript and Module support with example projects for both\n- [Vite](https://vite.dev) starter template for instant dev server with hot reload\n- Great for size coding competitions like [Js13kGames](https://js13kgames.com/)\n- Open Source and [MIT licensed](https://github.com/KilledByAPixel/LittleJS/blob/main/LICENSE)\n\n### 🛠️ Developer Tools\n\n- Live example browser with code editor\n- Import level editor data from [Tiled](https://github.com/mapeditor/tiled) or other JSON\n- Debug overlay and primitive rendering system\n- Medal tracking system with [Newgrounds](https://www.newgrounds.com/) support\n- Node.js build system\n\n## How To Use LittleJS\n\nTo get started download the latest LittleJS package from GitHub or install via npm: \n\n```\nnpm install littlejsengine\n```\n\nor use `degit` for an empty Vite template\n\n```\nnpx degit KilledByAPixel/LittleJS/examples/vite-starter my-game\ncd my-game\nnpm install\nnpm run dev\n```\n\nHere is a minimal Hello World example game.\n\n```html\n\u003c!DOCTYPE html\u003e\n\u003cscript src=\"../dist/littlejs.js\"\u003e\u003c/script\u003e\n\u003cscript\u003e\nfunction gameInit() {}\nfunction gameUpdate() {}\nfunction gameUpdatePost() {}\nfunction gameRender() {}\nfunction gameRenderPost() { drawTextScreen('Hello World!', mainCanvasSize.scale(.5), 80); }\nengineInit(gameInit, gameUpdate, gameUpdatePost, gameRender, gameRenderPost);\n\u003c/script\u003e\n```\n\n## Tutorials\n\n- [Making Awesome Games With LittleJS](https://youtu.be/_dXKU0WgAj8?si=ZDXLYAFDWp54hrGT) - A short talk about LittleJS with some tips on how to use it.\n- [Tutorial: Breakout](https://github.com/KilledByAPixel/LittleJS/tree/main/examples/breakoutTutorial) - Learn how to make a simple game from scratch\n- [Tutorial: Make a ski game](https://eoinmcgrath.com/little-ski/tutorial.html) - This tutorial by eoinmcg that shows how to make a pixel art style game.\n- [LittleJS Quick Reference Sheet](https://github.com/KilledByAPixel/LittleJS/blob/main/REFERENCE.md) - A reference sheet to help you get started.\n- [Little JS FAQ](https://github.com/KilledByAPixel/LittleJS/blob/main/FAQ.md) - Answers to common questions about LittleJS.\n- [JS13k Branch](https://github.com/KilledByAPixel/LittleJS/tree/js13k) - For size coding events like JS13k there is a special branch that builds to a 7KB zip.\n- [LittleJS AI Tools](https://github.com/KilledByAPixel/LittleJS-AI) - Experiments, games, and templates to improve LittleJS + AI workflows.\n\n## Examples\n\nLittleJS comes with several demos both for learning and using as starter projects to create new games.\n\n- [Example Browser](https://killedbyapixel.github.io/LittleJS/examples/) - Live example browser with all examples and editable source\n- [Short Examples](https://github.com/KilledByAPixel/LittleJS/tree/main/examples/shorts) - 60+ single-file demos showing off individual engine features\n- [Breakout](https://killedbyapixel.github.io/LittleJS/examples/breakout/) - Block breaking game with post-processing effects\n- [Puzzle Game](https://killedbyapixel.github.io/LittleJS/examples/puzzle/) - Match 3 puzzle game with HD rendering and high score tracking\n- [Platformer](https://killedbyapixel.github.io/LittleJS/examples/platformer/) - Platformer/shooter demo that loads level data\n- [Box2D Demo](https://killedbyapixel.github.io/LittleJS/examples/box2d/) - Box2D plugin demonstration and testbed\n- [Stress Test](https://killedbyapixel.github.io/LittleJS/examples/stress/) - Sprite rendering benchmark and music system demo\n- [Particle System Designer](https://killedbyapixel.github.io/LittleJS/examples/particles/) - Particle system editor and visualizer\n\n## Builds\n\n| File | Mode | Module | Use case |\n|------|------|--------|----------|\n| [littlejs.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.js) | Debug | No | Debug mode with asserts |\n| [littlejs.release.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.release.js) | Release | No | Optimized for release |\n| [littlejs.min.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.min.js) | Release | No | Optimized for release and minified |\n| [littlejs.esm.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.esm.js) | Debug | ESM | Debug mode with asserts |\n| [littlejs.esm.min.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.esm.min.js) | Release | ESM | Optimized for release and minified |\n\n## Games Made With LittleJS\n\nHere are a few of the many amazing games created with LittleJS...\n\n- [Space Huggers](https://www.newgrounds.com/portal/view/819609) - Roguelike platformer shoot-em-up game with procedural levels. by [KilledByAPixel](https://frankforce.com/)\n- [Black Cat Squadron](https://js13kgames.com/games/black-cat-squadron) - One button shooter based on a WW2 Navy squadron. JS13k 5th place! by [repsej](https://github.com/repsej)\n- [L1ttl3 Paws](https://github.com/KilledByAPixel/JS13K2025) - Cat glider with procedural art and levels for JS13K! by [KilledByAPixel](https://frankforce.com/)\n- [KleptoKitty](https://js13kgames.com/games/kleptokitty) - Cat themed heist puzzle. JS13K 22nd place. by [eoinmcg](https://eoinmcg.itch.io/)\n- [The Way of the Dodo](https://js13kgames.com/2024/games/the-way-of-the-dodo) - Single button platformer. JS13k 5th place! by [repsej](https://github.com/repsej)\n- [Undergrowth](https://undergrowth.squidband.uk/) - An interactive music videogame for the band Squid. by [KilledByAPixel](https://frankforce.com/)\n- [204Snake!](https://www.newgrounds.com/portal/view/960100) - A puzzle game that combines 2048 with snake. LittleJS Jam 1st place! by [Sodoj](https://sodoj.itch.io/) and [Shai-P](https://shai-p.itch.io/)\n- [GATOR](https://www.newgrounds.com/portal/view/960757) - Retro platformer shooter game where you rescue animals. LittleJS Jam 2nd place! by [eoinmcg](https://eoinmcg.itch.io/)\n- [A Hedgehog's Search](https://willsm1111.itch.io/a-hedgehogs-search) - Adventure game starring a hedgehog. LittleJS Jam 3rd place! by [willsm1111](https://willsm1111.itch.io/)\n- [Wendol Village](https://js13kgames.com/2024/games/wendol-village) - Warcraft inspired RTS game. by [sanojian](https://github.com/sanojian)\n- [Dead Again](https://js13kgames.com/entries/dead-again) - Top down survival horror. by [sanojian \u0026 repsej](https://github.com/sanojian/js13k_2022)\n- [Isletopia](https://store.steampowered.com/app/1861260/Isletopia) - Relaxing strategy game of greenifying barren islands. by [Gamex Studio](https://x.com/gamesgamex)\n- [Tetrimals](https://nixn.itch.io/tetrimals) - A puzzle game mixing Tetris with animals. by [nixn](https://nixn.itch.io/)\n- [Bug\u0026Bee](https://itch.io/jam/littlejs-game-jam-2025/results) - Low fi shoot em up with co-op gameplay. LittleJS Jam 1st place! by [eoinmcg](https://eoinmcg.itch.io/)\n- [Little Platformer](https://psemo.itch.io/little-platformer) - Platformer with many mechanics. LittleJS Jam 2st place! by [PSEMO](https://psemo.itch.io/), [Solita666](https://itch.io/profile/solita666), [GabrielRG](https://gabrielrg.itch.io/), [Nate](https://natesassoon.itch.io/)\n- [Alien Escape Pinball](https://focaccai.itch.io/alien-pinball) - Pinball game with physics and aliens. by [Focaccai](https://www.focaccai.com/)\n- [LittleJS Jam 2024 Results](https://itch.io/jam/littlejs-jam-2024/results) - All the games from the first LittleJS Game Jam.\n- [LittleJS Jam 2025 Results](https://itch.io/jam/littlejs-game-jam-2025/results) - All the games from the second LittleJS Game Jam.\n\n![A collage of screenshots from games made with LittleJS](examples/games.jpg)\n\n*A sample of games built with LittleJS.*\n\n![LittleJS pixel-art favicon](examples/favicon.png)\n\n[npm]: https://img.shields.io/npm/v/littlejsengine\n[npm-url]: https://www.npmjs.com/package/littlejsengine\n[build-size]: https://img.shields.io/bundlephobia/minzip/littlejsengine\n[build-size-url]: https://bundlephobia.com/result?p=littlejsengine\n[npm-downloads]: https://img.shields.io/npm/dw/littlejsengine\n[npmtrends-url]: https://www.npmtrends.com/littlejsengine\n[deepscan]: https://deepscan.io/api/teams/22950/projects/26229/branches/831487/badge/grade.svg\n[deepscan-url]: https://deepscan.io/dashboard#view=project\u0026tid=22950\u0026pid=26229\u0026bid=831487\n[discord]: https://img.shields.io/discord/939926111469568050\n[discord-url]: https://discord.gg/zb7hcGkyZe\n[license]: https://img.shields.io/github/license/KilledByAPixel/LittleJS\n[license-url]: https://github.com/KilledByAPixel/LittleJS/blob/main/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkilledbyapixel%2Flittlejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkilledbyapixel%2Flittlejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkilledbyapixel%2Flittlejs/lists"}