Quantum Game - a puzzle game with real quantum mechanics in a browser
JavaScript HTML CSS Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bundled misc(index) eternal beta version Dec 31, 2017
css feat(titleManager) next level button shown in top bar Jul 3, 2016
data misc(levels) level 24 can be solved simpler Jun 15, 2018
js typo Jun 4, 2018
sounds feat(sound): absorption sound Mar 19, 2016
.eslintrc.json chore(eslint) Map and jasmine are now fine Jul 12, 2016
Dockerfile Add docker container support May 31, 2018
LICENSE.md fix(license) update of years Apr 9, 2017
README.md doc(README) open for collaboration - link to issue Jun 27, 2018
app.js chore(app): created a class Game for top-level game routines Dec 14, 2015
bg.jpg feat(background): Dragonfish nebula background May 30, 2016
config.js jspm(chore) packages update Jun 25, 2017
deploy_dev.sh chore(deployment) production and images Jun 1, 2016
deploy_play.sh chore(deployment) fb ograph screenshot Jun 3, 2016
favicon.ico chore(favicon) new favicon - 3x3 colors Jun 1, 2016
index.html feat(gameBoard) optional without measurement Dec 30, 2017
karma.conf.js fix(karma): removing baseURL from config.js for karma-jspm to work Mar 19, 2016
logo.svg feat(logo): added logo and preload screen May 30, 2016
package.json chore(package) automatically updated dependencies Oct 16, 2016
screenshot_qg_dev.png docs(screenshot) new white-blue design Jun 1, 2016


Quantum Game with Photons

Quantum Game - play with photons, superposition and entanglement. In your browser! With true quantum mechanics underneath!


Development version

Open for collaboration! For more details, see here.

It's JavaScript, ES6. To build it you need Node.JS and jspm.io package manager.

It's open for collaboration - from level creation, through interface (re)design and adding additional effects (two-photon interference, interactions with an electron). Interested? Mail pmigdal@gmail.com.


After installing Node.js and jspm.io, and cloning this repository:

First, install global packages:

npm install --global karma-cli

Then install local packages.

npm install
jspm install

Additionally, for development we use eslint with eslint-plugin-lodash.

Running server

Start local HTTP server in the quantum game directory (e.g. by http-server).

Running tests

karma start

Production version

Bundle it (and minify, if you want):

jspm bundle-sfx --minify app

It creates a build.js file. To run it we need a modified index.html (it is a manually-modified file, stored in bundled/index.html).

On the server, the structure of files should look as follows:



Alternatively, you can install dependencies using Docker.



  • If your build completes sucessfully there will be a new image ID printed at the end of the build, which you can then use to to run it: docker run -d -p 80:8080 ${IMAGE_ID_FROM_BUILD}
  • or for a community built image try this: docker run -d -p 80:8080 spkane/quantum-game:latest

and then open up a web browser and point it to port 80 on your Docker host.