Lightbot is an educational puzzle game about programming and logical thinking.
The player controls a small robot and must guide it to light up all blue tiles in each level.
Instead of moving the robot directly, you build a program from simple instructions
(move, turn, jump, light up, repeat, etc.). This makes Lightbot well-suited for
introductory courses on algorithms, control flow, and problem decomposition.
You can play Lightbot directly in your browser:
No installation or account is required for the online version.
- Download the latest release from the Releases page.
- Unpack the archive.
- Open
index.htmlin your browser (no server required).
The release build is static, so you cannot add a new localization by editing files after download. New languages must be added in the source and released as part of the project.
Translations live in:
src/locales/translations.en.js
src/locales/translations.de.js
src/locales/translations.fr.js
- Copy an existing file (for example
translations.en.js) to a new file liketranslations.it.js. - Translate only the values (right-hand side). Keep all keys exactly the same.
- Add the new language to the i18n resources in
src/lightbot/lightbot.view.canvas.ui.translate.js. - Add the language option to the language selector in
index.html. - Open a Pull Request with the new file.
Only Pull Requests are accepted for new translations.
If you prefer to build the game yourself (or modify the code):
-
Clone the repository
git clone https://github.com/haan/Lightbot.git cd Lightbot -
Install dependencies
Install Node.js 26.12.1 or a newer 26.x release and npm 11.19.0. The version in
.nvmrcis also used by CI and release builds. With nvm-windows, runnvm install 26.12.1andnvm use 26.12.1; with nvm on macOS/Linux, runnvm installandnvm use. Checknode --version, then run:npm ci
-
Start the dev server
npm run dev
-
Build the game
npm run build
This outputs a production build to
dist/. -
Run locally
Open
dist/index.htmlin your browser.
Node.js 26.12.1 includes the fix for the Brotli decoder vulnerability
CVE-2026-111497.
The Node engine requirement and .npmrc reject unsupported runtimes during dependency
installation. After upgrading Node, restart development and preview servers so they
use the patched runtime. npm audit checks package dependencies, not Node's bundled
Brotli decoder.
Lightbot's web and offline builds are static browser assets; the repository contains no Python application or Node production backend. This update protects the Node development, build, and CI environment. Any separately managed hosting software or reverse proxy needs its own vendor updates.
Lightbot was designed with teaching in mind. Typical use cases include:
- Introducing basic programming concepts (sequencing, loops, conditionals)
- Practicing algorithmic thinking and planning
- Comparing different solutions for efficiency (shorter programs vs. more steps)
Teachers are free to:
- Run the online version in class
- Provide a local copy built from the Releases page
- Fork the repository and customize levels and interface to their needs
- Development: Laurent Haan
- Interface: Zenobia Homan
- Robot artwork: surt
- Music: hektikmusic
- Original Lightbot concept: https://lightbot.com/
This project is released under the MIT License.
See the LICENSE file for the full license text.