Contact

Technical University of Munich
School of Computation, Information and Technology
Chair for Design Automation
Prof. Dr. Robert Wille
Arcisstrasse 21
80333 Munich | Germany
robert.wille@tum.de
Tel: +49 89 289 23551

Google Maps Navigation



The Chair for Design Automation is supported by the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program.

Der Lehrstuhl für Design Automation wird durch das Bayerische Staatsministerium für Wissenschaft und Kunst im Rahmen des Spitzenprofessurenprogramms gefördert.

Bavarian Coat of Arms

↑ Quantum Computing

QRogue

QRogue is currently in its open beta stage. If you have any feedback we’d be happy if you could send it to michael.artner@jku.at.

For further information and updates of the development have a look at QRogue’s GitHub page.

QRogue's Spaceship

A journey through a universe full of Quantum Computing!

QRogue is a modernized Quantum Computing take of the classical game Rogue. You will play as a student who’s dream is to travel through the galaxy. As they hear about “Mission Quniverse” they immediately apply for its training program to be able to join this fascinating Quantum Computing powered universe exploration mission. In the training program and later on in Mission Quniverse you will come across a variaty of quantum gates to steadily increase the capabilities of your “Qubot” - a robot you control to manipulate quantum circuits - and even design small scale quantum algorithms.

During your exploration you will find impassable doors, dead ends and lots of static enemies. But beware! Not everything is as it seems. In the quantum realm enemies can be in superposition or entangled! One step of your Qubot can be enough to perform a measurement: Either collapsing an enemy’s state to 0 to remove them from the map or collapsing it to 1. Be ready to solve a quantum computing puzzle should the latter be the case!
And if you think these enemies with their simple quantum puzzles are the only thing trying to stop you from uncovering the secrets of the quantum realm you’d be in for a treat…

Example level of QRogue to show the most important things that could be in a level.
Figure 1: Examplatory level of QRogue with descriptions of what you can see in a typical level.

Quantum Computations

Quantum computations are at the heart of QRogue’s puzzles. They boil down to matrix-vector multiplication, whereas states (e.g., input or output state) are described by vectors and operations (i.e. gates) by matrices.
Don’t worry if you don’t know anything about quantum computations yet! The game will teach you all you need to know step by step in the afore mentioned training program. Alternatively you can also check the theoretical references mentioned at the bottom of this page. Just be sure to understand basic matrix-vector multiplication before starting (you can look here if you need a refresher).

Quantum Computations in QRogue

QRogue uses a circuit-based approach to perform quantum computations. This way quantum operations can be viewed as gates that can be placed in a quantum circuit. This way instead of writing code (e.g. in OpenQASM) the player can playfully design quantum algorithms by placing gates in a grid-wise fashion as described in Figure 2.

QRogue's Quantum Computing Puzzle
Figure 2: Examplatory quantum computing puzzle in QRogue with descriptions of the individual parts of the screen.

Getting started

How to install

Prerequisite: Python 3.8
It should also work for Python 3.9 but 3.8 is used for development and testing, hence it is the recommended version. Since Python 3.10 introduced a breaking change to one of the imports it is currently not supported.

The best way to install Qrogue is via its PyPI Package. This way it is very simple to keep it up to date. Although optional, we highly recommend to also create a virtual environment for Qrogue via Conda or venv. Afterwards you can install QRogue simply by executing pip install qrogue in the Python environment of your choosing (again, it is recommended to do this in the separate virtual environment). If it was installed successfully, just execute qrogue and the game will launch!

How to start

The first time you launch the game you have the option to either “Start your journey” or “Exit”. As expected, with the first option you will start the game. Later—after you completed the first level—this option will change to “Continue” and will let you continue the level you stopped at.

Launch Options

  • --user-data / -ud $path:
    Path to the folder where you want to store/load user data (options, save data) from.

  • --game-data / -gd $path:
    Path to the folder where you want to store/load game data (levels, default config, clean save) from. Only specify if you know what you’re doing!

For debugging purposes only:

  • --debug / -d:
    Activates certain debugging options like additional logs, rendering additional information, cheat codes, simulation of runs, …

  • --from-console / -fc:
    Skips the closing prompt when you exit the game. Necessary to see errors if you’re not starting the game from a console.

  • --validate-map / -vm $path:
    Check whether a level or world can be generated successfully from the given .qrdg or .qrw file.

  • --test-level / -tl $path:
    Specifies a level to start with (only works in conjunction with --debug).

  • --simulation-path / -sp $path:
    Specifies the .qrkl (key log) file to use for simulating a run of the game.

Controls

For most actions there are multiple keys you can use:

  • Navigate in menus: Arrow Keys, WASD

  • Move in game: Arrow Keys, WASD

  • Scroll in popups: Arrow Keys, WASD

  • Close popup: Space, Enter

  • Reopen last popup: H

  • Confirm selection (also in question popup): Space, Enter

  • Cancel/back (also in question popup): Shift+A, Shift+Left Arrow, Backspace

  • Pause: P, Tab

  • Situational keys: QE, CTRL+Left, CTRL+Right

  • Situational shortcuts: 0-9

References

Theoretical background:

Other educational quantum computing games: