/quantum-game

Quantum Game - a puzzle game with real quantum mechanics in a browser

Primary LanguageJavaScriptMIT LicenseMIT

Quantum Game with Photons

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

Screenshot

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.

Installing

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:

css\
favicon.ico
build.js
index.html

Docker

Alternatively, you can install dependencies using Docker.

Building

Running

  • 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.