littlejsengine 1.18.28 → 1.19.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/FAQ.md CHANGED
@@ -243,7 +243,12 @@ Plugins are self-contained features that live alongside the engine but aren't pa
243
243
 
244
244
  | Plugin | Purpose |
245
245
  |--------|---------|
246
+ | `math3d.js` | `Vector3` and `Matrix4` for 3D games and plugins, with 3D collision and raycast helpers |
247
+ | `render3d.js` | The built-in 3D renderer: meshes, lights, shadows, fog, terrain and 3D particles, into the same canvas as the 2D scene (needs `math3d.js`) |
248
+ | `threejs.js` | Renders a Three.js scene behind the LittleJS canvas, an alternative to `render3d.js` |
246
249
  | `box2d.js` | Full Box2D physics via WebAssembly (more realistic than the built-in arcade physics) |
250
+ | `lightSystem.js` | 2D dynamic lighting, lights accumulate into a lightmap that darkens the unlit scene |
251
+ | `textureSheet.js` | Packs images into texture sheets as they load, and imports TexturePacker and Aseprite atlases |
247
252
  | `postProcess.js` | Shadertoy-style fragment shaders for screen-wide effects |
248
253
  | `uiSystem.js` | Lightweight in-engine UI widgets (buttons, text, tabs) |
249
254
  | `tweenSystem.js` | Tween any property over time with easing curves |
package/README.md CHANGED
@@ -1,199 +1,207 @@
1
- # LittleJS - The Tiny Fast JavaScript Game Engine
2
-
3
- <div align='center' markdown='1'>
4
-
5
- ![LittleJS Logo](examples/logo.png)
6
-
7
- [![NPM Package][npm]][npm-url]
8
- [![Build Size][build-size]][build-size-url]
9
- [![NPM Downloads][npm-downloads]][npmtrends-url]
10
- [![DeepScan][deepscan]][deepscan-url]
11
- [![MIT License][license]][license-url]
12
- [![Discord][discord]][discord-url]
13
-
14
- </div>
15
-
16
- ## 🚂 All Aboard!
17
-
18
- LittleJS is a fast, lightweight, and fully open source HTML5 game engine designed for simplicity and performance.
19
- Its small footprint is packed with a comprehensive feature set including rendering, physics, particles, sound, and input handling.
20
- The code is very clean and well documented with many examples to get you started quickly.
21
-
22
- ### 🚀 [Join the LittleJS Game Jam](https://itch.io/jam/littlejs-jam)
23
-
24
- *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.*
25
-
26
- ### 😼👍 [LittleJS + JS13k](https://github.com/KilledByAPixel/LittleJS/tree/js13k) - We made a special branch designed for size coding events like JS13k.
27
-
28
- <div align='center' markdown='1'>
29
-
30
- ## [Demos](https://killedbyapixel.github.io/LittleJS/examples) | [Arcade](https://killedbyapixel.github.io/LittleJSArcade) | [Docs](https://killedbyapixel.github.io/LittleJS/docs) | [FAQ](https://github.com/KilledByAPixel/LittleJS/blob/main/FAQ.md) | [Trailer](https://youtu.be/chuBzGjv7Ms) | [Discord](https://discord.gg/zb7hcGkyZe)
31
-
32
- </div>
33
-
34
- ![LittleJS Screenshot](examples/screenshot.jpg)
35
-
36
- ## LittleJS Features
37
-
38
- ### ✨ Graphics
39
-
40
- - Blazing fast WebGL2 + Canvas2D hybrid rendering system
41
- - Apply [Shadertoy](https://www.shadertoy.com) style shaders for post-processing effects
42
- - Robust particle effect system and [effect design tool](https://killedbyapixel.github.io/LittleJS/examples/particles/)
43
- - Load sprites and animations into texture sheets at runtime, or import [TexturePacker](https://www.codeandweb.com/texturepacker) and [Aseprite](https://www.aseprite.org) atlases
44
- - Optional 3D rendering with the [Three.js](https://threejs.org) plugin
45
-
46
- ### 🔊 Audio
47
-
48
- - Sound and music with mp3, ogg, or wave files
49
- - Use [ZzFX](https://killedbyapixel.github.io/ZzFX/) sound generator to play sounds without asset files
50
- - Spatial audio stereo panning
51
-
52
- ### 🎮 Input
53
-
54
- - Comprehensive input handling for mouse, keyboard, gamepad, and touch
55
- - Customizable on screen gamepad designed for mobile devices
56
-
57
- ### 💥 Physics
58
-
59
- - Robust arcade physics system with collision handling
60
- - Fast tilemap collision and raycasting
61
- - Full Box2D integration for realistic physics using [Box2D v2.3.1 wasm](https://github.com/kripken/box2d.js)
62
- - Grid-based A* pathfinding plugin with optional path smoothing
63
-
64
- ### 🚀 Flexibility
65
-
66
- - Compatible with all modern web browsers and mobile devices
67
- - Full TypeScript and Module support with example projects for both
68
- - [Vite](https://vite.dev) starter template for instant dev server with hot reload
69
- - Great for size coding competitions like [Js13kGames](https://js13kgames.com/)
70
- - Open Source and [MIT licensed](https://github.com/KilledByAPixel/LittleJS/blob/main/LICENSE)
71
-
72
- ### 🛠️ Developer Tools
73
-
74
- - Live example browser with code editor
75
- - Import level editor data from [Tiled](https://github.com/mapeditor/tiled) or other JSON
76
- - Debug overlay and primitive rendering system
77
- - Medal tracking system with [Newgrounds](https://www.newgrounds.com/) support
78
- - Node.js build system
79
-
80
- ### 🤖 AI Friendly
81
-
82
- - The entire API is small and well documented so LLMs can produce high quality results
83
- - [LittleJS AI Tools](https://github.com/KilledByAPixel/LittleJS-AI) - Templates, examples, and prompts tuned for AI + LittleJS workflows
84
- - [LittleJS GPT](https://chatgpt.com/g/g-67c7c080b5bc81919736bc8815836be6-littlejs-game-maker) - Build LittleJS games right inside ChatGPT
85
-
86
- ### 🧊 3D with Three.js
87
-
88
- - Optional [Three.js](https://threejs.org) plugin renders a 3D scene behind the LittleJS canvas
89
- - 2D camera and 3D camera stay aligned so sprites and meshes share the same world space
90
- - LittleJS physics drive Three.js meshes with `ThreeJSObject`
91
-
92
- ## How To Use LittleJS
93
-
94
- To get started download the latest LittleJS package from GitHub or install via npm:
95
-
96
- ```
97
- npm install littlejsengine
98
- ```
99
-
100
- or use `degit` for an empty Vite template
101
-
102
- ```
103
- npx degit KilledByAPixel/LittleJS/examples/vite-starter my-game
104
- cd my-game
105
- npm install
106
- npm run dev
107
- ```
108
-
109
- Here is a minimal Hello World example game.
110
-
111
- ```html
112
- <!DOCTYPE html>
113
- <script src="../dist/littlejs.js"></script>
114
- <script>
115
- function gameInit() {}
116
- function gameUpdate() {}
117
- function gameUpdatePost() {}
118
- function gameRender() {}
119
- function gameRenderPost() { drawTextScreen('Hello World!', mainCanvasSize.scale(.5), 80); }
120
- engineInit(gameInit, gameUpdate, gameUpdatePost, gameRender, gameRenderPost);
121
- </script>
122
- ```
123
-
124
- ## Tutorials
125
-
126
- - [Making Awesome Games With LittleJS](https://youtu.be/_dXKU0WgAj8?si=ZDXLYAFDWp54hrGT) - A short talk about LittleJS with some tips on how to use it.
127
- - [Tutorial: Breakout](https://github.com/KilledByAPixel/LittleJS/tree/main/examples/breakoutTutorial) - Learn how to make a simple game from scratch
128
- - [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.
129
- - [LittleJS Quick Reference Sheet](https://github.com/KilledByAPixel/LittleJS/blob/main/REFERENCE.md) - A reference sheet to help you get started.
130
- - [Little JS FAQ](https://github.com/KilledByAPixel/LittleJS/blob/main/FAQ.md) - Answers to common questions about LittleJS.
131
- - [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.
132
-
133
- ## Examples
134
-
135
- LittleJS comes with several demos both for learning and using as starter projects to create new games.
136
-
137
- - [Example Browser](https://killedbyapixel.github.io/LittleJS/examples/) - Live example browser with all examples and editable source
138
- - [LittleJS Arcade](https://killedbyapixel.github.io/LittleJSArcade/) - Over 50 example games you can use as starter projects
139
- - [Short Examples](https://github.com/KilledByAPixel/LittleJS/tree/main/examples/shorts) - 60+ single-file demos showing off individual engine features
140
- - [Breakout](https://killedbyapixel.github.io/LittleJS/examples/breakout/) - Block breaking game with post-processing effects
141
- - [Puzzle Game](https://killedbyapixel.github.io/LittleJS/examples/puzzle/) - Match 3 puzzle game with HD rendering and high score tracking
142
- - [Platformer](https://killedbyapixel.github.io/LittleJS/examples/platformer/) - Platformer/shooter demo that loads level data
143
- - [Box2D Demo](https://killedbyapixel.github.io/LittleJS/examples/box2d/) - Box2D plugin demonstration and testbed
144
- - [Three.js Side Scroller](https://killedbyapixel.github.io/LittleJS/examples/threejs/sideScroller/) - 3D rendering with Three.js behind the 2D canvas
145
- - [Three.js Platformer](https://killedbyapixel.github.io/LittleJS/examples/threejs/platformer/) - 3D platformer with LittleJS gameplay and Three.js rendering
146
- - [Stress Test](https://killedbyapixel.github.io/LittleJS/examples/stress/) - Sprite rendering benchmark and music system demo
147
- - [Particle System Designer](https://killedbyapixel.github.io/LittleJS/examples/particles/) - Particle system editor and visualizer
148
-
149
- ## Builds
150
-
151
- | File | Mode | Module | Use case |
152
- |------|------|--------|----------|
153
- | [littlejs.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.js) | Debug | No | Debug mode with asserts |
154
- | [littlejs.release.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.release.js) | Release | No | Optimized for release |
155
- | [littlejs.min.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.min.js) | Release | No | Optimized for release and minified |
156
- | [littlejs.esm.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.esm.js) | Debug | ESM | Debug mode with asserts |
157
- | [littlejs.esm.min.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.esm.min.js) | Release | ESM | Optimized for release and minified |
158
-
159
- ## Games Made With LittleJS
160
-
161
- Here are a few of the many amazing games created with LittleJS...
162
-
163
- - [Space Huggers](https://www.newgrounds.com/portal/view/819609) - Roguelike platformer shoot-em-up game with procedural levels. by [KilledByAPixel](https://frankforce.com/)
164
- - [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)
165
- - [L1ttl3 Paws](https://github.com/KilledByAPixel/JS13K2025) - Cat glider with procedural art and levels for JS13K! by [KilledByAPixel](https://frankforce.com/)
166
- - [KleptoKitty](https://js13kgames.com/games/kleptokitty) - Cat themed heist puzzle. JS13K 22nd place. by [eoinmcg](https://eoinmcg.itch.io/)
167
- - [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)
168
- - [Undergrowth](https://undergrowth.squidband.uk/) - An interactive music videogame for the band Squid. by [KilledByAPixel](https://frankforce.com/)
169
- - [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/)
170
- - [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/)
171
- - [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/)
172
- - [Wendol Village](https://js13kgames.com/2024/games/wendol-village) - Warcraft inspired RTS game. by [sanojian](https://github.com/sanojian)
173
- - [Dead Again](https://js13kgames.com/entries/dead-again) - Top down survival horror. by [sanojian & repsej](https://github.com/sanojian/js13k_2022)
174
- - [Isletopia](https://store.steampowered.com/app/1861260/Isletopia) - Relaxing strategy game of greenifying barren islands. by [Gamex Studio](https://x.com/gamesgamex)
175
- - [Tetrimals](https://nixn.itch.io/tetrimals) - A puzzle game mixing Tetris with animals. by [nixn](https://nixn.itch.io/)
176
- - [Bug&Bee](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/)
177
- - [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/)
178
- - [Alien Escape Pinball](https://focaccai.itch.io/alien-pinball) - Pinball game with physics and aliens. by [Focaccai](https://www.focaccai.com/)
179
- - [LittleJS Jam 2024 Results](https://itch.io/jam/littlejs-jam-2024/results) - All the games from the first LittleJS Game Jam.
180
- - [LittleJS Jam 2025 Results](https://itch.io/jam/littlejs-game-jam-2025/results) - All the games from the second LittleJS Game Jam.
181
-
182
- ![A collage of screenshots from games made with LittleJS](examples/games.jpg)
183
-
184
- *A sample of games built with LittleJS.*
185
-
186
- ![LittleJS pixel-art favicon](examples/favicon.png)
187
-
188
- [npm]: https://img.shields.io/npm/v/littlejsengine
189
- [npm-url]: https://www.npmjs.com/package/littlejsengine
190
- [build-size]: https://img.shields.io/bundlephobia/minzip/littlejsengine
191
- [build-size-url]: https://bundlephobia.com/result?p=littlejsengine
192
- [npm-downloads]: https://img.shields.io/npm/dw/littlejsengine
193
- [npmtrends-url]: https://www.npmtrends.com/littlejsengine
194
- [deepscan]: https://deepscan.io/api/teams/22950/projects/26229/branches/831487/badge/grade.svg
195
- [deepscan-url]: https://deepscan.io/dashboard#view=project&tid=22950&pid=26229&bid=831487
196
- [discord]: https://img.shields.io/discord/939926111469568050
197
- [discord-url]: https://discord.gg/zb7hcGkyZe
198
- [license]: https://img.shields.io/github/license/KilledByAPixel/LittleJS
199
- [license-url]: https://github.com/KilledByAPixel/LittleJS/blob/main/LICENSE
1
+ # LittleJS - The Tiny Fast JavaScript Game Engine
2
+
3
+ <div align='center' markdown='1'>
4
+
5
+ ![LittleJS Logo](examples/logo.png)
6
+
7
+ [![NPM Package][npm]][npm-url]
8
+ [![Build Size][build-size]][build-size-url]
9
+ [![NPM Downloads][npm-downloads]][npmtrends-url]
10
+ [![DeepScan][deepscan]][deepscan-url]
11
+ [![MIT License][license]][license-url]
12
+ [![Discord][discord]][discord-url]
13
+
14
+ </div>
15
+
16
+ ## 🚂 All Aboard!
17
+
18
+ LittleJS is a fast, lightweight, and fully open source HTML5 game engine designed for simplicity and performance.
19
+ Its small footprint is packed with a comprehensive feature set including rendering, physics, particles, sound, and input handling.
20
+ The code is very clean and well documented with many examples to get you started quickly.
21
+
22
+ ### 🚀 [Join the LittleJS Game Jam](https://itch.io/jam/littlejs-jam)
23
+
24
+ *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.*
25
+
26
+ ### 😼👍 [LittleJS + JS13k](https://github.com/KilledByAPixel/LittleJS/tree/js13k) - We made a special branch designed for size coding events like JS13k.
27
+
28
+ <div align='center' markdown='1'>
29
+
30
+ ## [Demos](https://killedbyapixel.github.io/LittleJS/examples) | [Arcade](https://killedbyapixel.github.io/LittleJSArcade) | [Docs](https://killedbyapixel.github.io/LittleJS/docs) | [FAQ](https://github.com/KilledByAPixel/LittleJS/blob/main/FAQ.md) | [Trailer](https://youtu.be/chuBzGjv7Ms) | [Discord](https://discord.gg/zb7hcGkyZe) | [AI](https://github.com/KilledByAPixel/LittleJS-AI)
31
+
32
+ </div>
33
+
34
+ ![LittleJS Screenshot](examples/screenshot.jpg)
35
+
36
+ ## LittleJS Features
37
+
38
+ ### ✨ Graphics
39
+
40
+ - Blazing fast WebGL2 + Canvas2D hybrid rendering system
41
+ - Apply [Shadertoy](https://www.shadertoy.com) style shaders for post-processing effects, or on any object or draw
42
+ - Robust particle effect system and [effect design tool](https://killedbyapixel.github.io/LittleJS/examples/particles/)
43
+ - Load sprites and animations into texture sheets at runtime, or import [TexturePacker](https://www.codeandweb.com/texturepacker) and [Aseprite](https://www.aseprite.org) atlases
44
+
45
+ ### 🧊 LittleJS 3D
46
+
47
+ - Built-in 3D renderer with no dependencies that adds about 21kb gzipped, drawing into the same WebGL canvas as the 2D scene, so 3D can sit behind your sprites, in front of them, or both
48
+ - `EngineObject3D` is an `EngineObject` with a mesh, so update, collision, children, timers and sound all work the way they do in 2D
49
+ - Build shapes in code with box, sphere, plane, cylinder, cone, capsule, torus, lathe and loft builders, give any sprite thickness to make a block model, or load an OBJ file
50
+ - Sunlight with real shadow maps, where cut-out art like a leafy tree casts its true outline, plus ambient light, up to 8 colored point or directional lights, specular highlights, emissive glow and distance fog
51
+ - Height map terrain from an array or an image, with height, normal and raycast lookups for driving and walking on it
52
+ - Instanced drawing puts thousands of copies of a mesh into one draw call
53
+ - 3D particles, trails, ribbons, billboards and text extruded from the engine font
54
+ - Orbit, chase and first person cameras, perspective or orthographic, with mouse picking and 3D positional sound
55
+ - Any object can carry its own shader, in 2D or 3D, and post-processing shaders reach the 3D scene too, including a built-in bloom for glowing lights
56
+ - The [Three.js](https://threejs.org) plugin is still fully supported as an alternative, rendering a Three.js scene behind the LittleJS canvas with `ThreeJSObject` letting LittleJS physics drive its meshes
57
+
58
+ ### 🔊 Audio
59
+
60
+ - Sound and music with mp3, ogg, or wave files
61
+ - Use [ZzFX](https://killedbyapixel.github.io/ZzFX/) sound generator to play sounds without asset files
62
+ - Spatial audio stereo panning
63
+ - Audio effects plugin with filter, reverb, delay, distortion and compressor
64
+
65
+ ### 🎮 Input
66
+
67
+ - Comprehensive input handling for mouse, keyboard, gamepad, and touch
68
+ - Customizable on screen gamepad designed for mobile devices
69
+
70
+ ### 💥 Physics
71
+
72
+ - Robust arcade physics system with collision handling
73
+ - Fast tilemap collision and raycasting
74
+ - Full Box2D integration for realistic physics using [Box2D v2.3.1 wasm](https://github.com/kripken/box2d.js)
75
+ - Grid-based A* pathfinding plugin with optional path smoothing
76
+
77
+ ### 🚀 Flexibility
78
+
79
+ - Compatible with all modern web browsers and mobile devices
80
+ - Full TypeScript and Module support with example projects for both
81
+ - [Vite](https://vite.dev) starter template for instant dev server with hot reload
82
+ - Great for size coding competitions like [Js13kGames](https://js13kgames.com/)
83
+ - Open Source and [MIT licensed](https://github.com/KilledByAPixel/LittleJS/blob/main/LICENSE)
84
+
85
+ ### 🛠️ Developer Tools
86
+
87
+ - Live example browser with code editor
88
+ - Import level editor data from [Tiled](https://github.com/mapeditor/tiled) or other JSON
89
+ - Debug overlay and primitive rendering system
90
+ - Medal tracking system with [Newgrounds](https://www.newgrounds.com/) support
91
+ - Node.js build system
92
+
93
+ ### 🤖 AI Friendly
94
+
95
+ - The entire API is small and well documented so LLMs can produce high quality results
96
+ - [LittleJS AI Tools](https://github.com/KilledByAPixel/LittleJS-AI) - Templates, examples, and prompts tuned for AI + LittleJS workflows
97
+ - [LittleJS GPT](https://chatgpt.com/g/g-67c7c080b5bc81919736bc8815836be6-littlejs-game-maker) - Build LittleJS games right inside ChatGPT
98
+
99
+ ## How To Use LittleJS
100
+
101
+ To get started download the latest LittleJS package from GitHub or install via npm:
102
+
103
+ ```
104
+ npm install littlejsengine
105
+ ```
106
+
107
+ or use `degit` for an empty Vite template
108
+
109
+ ```
110
+ npx degit KilledByAPixel/LittleJS/examples/vite-starter my-game
111
+ cd my-game
112
+ npm install
113
+ npm run dev
114
+ ```
115
+
116
+ Here is a minimal Hello World example game.
117
+
118
+ ```html
119
+ <!DOCTYPE html>
120
+ <script src="../dist/littlejs.js"></script>
121
+ <script>
122
+ function gameInit() {}
123
+ function gameUpdate() {}
124
+ function gameUpdatePost() {}
125
+ function gameRender() {}
126
+ function gameRenderPost() { drawTextScreen('Hello World!', mainCanvasSize.scale(.5), 80); }
127
+ engineInit(gameInit, gameUpdate, gameUpdatePost, gameRender, gameRenderPost);
128
+ </script>
129
+ ```
130
+
131
+ ## Tutorials
132
+
133
+ - [Making Awesome Games With LittleJS](https://youtu.be/_dXKU0WgAj8?si=ZDXLYAFDWp54hrGT) - A short talk about LittleJS with some tips on how to use it.
134
+ - [Tutorial: Breakout](https://github.com/KilledByAPixel/LittleJS/tree/main/examples/breakoutTutorial) - Learn how to make a simple game from scratch
135
+ - [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.
136
+ - [LittleJS Quick Reference Sheet](https://github.com/KilledByAPixel/LittleJS/blob/main/REFERENCE.md) - A reference sheet to help you get started.
137
+ - [Little JS FAQ](https://github.com/KilledByAPixel/LittleJS/blob/main/FAQ.md) - Answers to common questions about LittleJS.
138
+ - [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.
139
+
140
+ ## Examples
141
+
142
+ LittleJS comes with several demos both for learning and using as starter projects to create new games.
143
+
144
+ - [Example Browser](https://killedbyapixel.github.io/LittleJS/examples/) - Live example browser with all examples and editable source
145
+ - [LittleJS Arcade](https://killedbyapixel.github.io/LittleJSArcade/) - Over 50 example games you can use as starter projects
146
+ - [Short Examples](https://github.com/KilledByAPixel/LittleJS/tree/main/examples/shorts) - 60+ single-file demos showing off individual engine features
147
+ - [Breakout](https://killedbyapixel.github.io/LittleJS/examples/breakout/) - Block breaking game with post-processing effects
148
+ - [Puzzle Game](https://killedbyapixel.github.io/LittleJS/examples/puzzle/) - Match 3 puzzle game with HD rendering and high score tracking
149
+ - [Platformer](https://killedbyapixel.github.io/LittleJS/examples/platformer/) - Platformer/shooter demo that loads level data
150
+ - [Box2D Demo](https://killedbyapixel.github.io/LittleJS/examples/box2d/) - Box2D plugin demonstration and testbed
151
+ - [3D Example](https://killedbyapixel.github.io/LittleJS/examples/3d/) - The 3D plugin in one scene: terrain, shadows, lights, sprites, particles and bloom
152
+ - [3D Racing Game](https://killedbyapixel.github.io/LittleJS/examples/?example=3D%20Racing%20Game) - Built-in 3D plugin: terrain, shadows and a chase camera in one short file
153
+ - [Three.js Platformer](https://killedbyapixel.github.io/LittleJS/examples/threejs/) - 3D platformer with LittleJS gameplay and Three.js rendering
154
+ - [Stress Test](https://killedbyapixel.github.io/LittleJS/examples/stress/) - Sprite rendering benchmark and music system demo
155
+ - [Particle System Designer](https://killedbyapixel.github.io/LittleJS/examples/particles/) - Particle system editor and visualizer
156
+
157
+ ## Builds
158
+
159
+ | File | Mode | Module | Use case |
160
+ |------|------|--------|----------|
161
+ | [littlejs.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.js) | Debug | No | Debug mode with asserts |
162
+ | [littlejs.release.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.release.js) | Release | No | Optimized for release |
163
+ | [littlejs.min.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.min.js) | Release | No | Optimized for release and minified |
164
+ | [littlejs.esm.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.esm.js) | Debug | ESM | Debug mode with asserts |
165
+ | [littlejs.esm.min.js](https://github.com/KilledByAPixel/LittleJS/blob/main/dist/littlejs.esm.min.js) | Release | ESM | Optimized for release and minified |
166
+
167
+ ## Games Made With LittleJS
168
+
169
+ Here are a few of the many amazing games created with LittleJS...
170
+
171
+ - [Space Huggers](https://www.newgrounds.com/portal/view/819609) - Roguelike platformer shoot-em-up game with procedural levels. by [KilledByAPixel](https://frankforce.com/)
172
+ - [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)
173
+ - [L1ttl3 Paws](https://github.com/KilledByAPixel/JS13K2025) - Cat glider with procedural art and levels for JS13K! by [KilledByAPixel](https://frankforce.com/)
174
+ - [KleptoKitty](https://js13kgames.com/games/kleptokitty) - Cat themed heist puzzle. JS13K 22nd place. by [eoinmcg](https://eoinmcg.itch.io/)
175
+ - [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)
176
+ - [Undergrowth](https://undergrowth.squidband.uk/) - An interactive music videogame for the band Squid. by [KilledByAPixel](https://frankforce.com/)
177
+ - [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/)
178
+ - [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/)
179
+ - [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/)
180
+ - [Wendol Village](https://js13kgames.com/2024/games/wendol-village) - Warcraft inspired RTS game. by [sanojian](https://github.com/sanojian)
181
+ - [Dead Again](https://js13kgames.com/entries/dead-again) - Top down survival horror. by [sanojian & repsej](https://github.com/sanojian/js13k_2022)
182
+ - [Isletopia](https://store.steampowered.com/app/1861260/Isletopia) - Relaxing strategy game of greenifying barren islands. by [Gamex Studio](https://x.com/gamesgamex)
183
+ - [Tetrimals](https://nixn.itch.io/tetrimals) - A puzzle game mixing Tetris with animals. by [nixn](https://nixn.itch.io/)
184
+ - [Bug&Bee](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/)
185
+ - [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/)
186
+ - [Alien Escape Pinball](https://focaccai.itch.io/alien-pinball) - Pinball game with physics and aliens. by [Focaccai](https://www.focaccai.com/)
187
+ - [LittleJS Jam 2024 Results](https://itch.io/jam/littlejs-jam-2024/results) - All the games from the first LittleJS Game Jam.
188
+ - [LittleJS Jam 2025 Results](https://itch.io/jam/littlejs-game-jam-2025/results) - All the games from the second LittleJS Game Jam.
189
+
190
+ ![A collage of screenshots from games made with LittleJS](examples/games.jpg)
191
+
192
+ *A sample of games built with LittleJS.*
193
+
194
+ ![LittleJS pixel-art favicon](examples/favicon.png)
195
+
196
+ [npm]: https://img.shields.io/npm/v/littlejsengine
197
+ [npm-url]: https://www.npmjs.com/package/littlejsengine
198
+ [build-size]: https://img.shields.io/bundlephobia/minzip/littlejsengine
199
+ [build-size-url]: https://bundlephobia.com/result?p=littlejsengine
200
+ [npm-downloads]: https://img.shields.io/npm/dw/littlejsengine
201
+ [npmtrends-url]: https://www.npmtrends.com/littlejsengine
202
+ [deepscan]: https://deepscan.io/api/teams/22950/projects/26229/branches/831487/badge/grade.svg
203
+ [deepscan-url]: https://deepscan.io/dashboard#view=project&tid=22950&pid=26229&bid=831487
204
+ [discord]: https://img.shields.io/discord/939926111469568050
205
+ [discord-url]: https://discord.gg/zb7hcGkyZe
206
+ [license]: https://img.shields.io/github/license/KilledByAPixel/LittleJS
207
+ [license-url]: https://github.com/KilledByAPixel/LittleJS/blob/main/LICENSE