QRogue
QRogue is reaching its full 1.0 release. Visit QRogue’s GitHub page for more information and all releases. If you have any feedback, feel free to send it to qrogue.game@gmail.com!
A journey through a universe full of Quantum Computing!
QRogue is an educational puzzle game about Quantum Computing, inspired in look and feel by the 1980s released classical game Rogue. You will play as a student whose dream is to travel through the galaxy. As you hear about “Mission Quniverse”, you immediately apply for its training program to be able to join this fascinating Quantum Computing powered universe exploration mission. In the lessons of the training program and later on during expeditions of Mission Quniverse you will come across a variety of quantum gates. Your Qubot - a robot you control to manipulate quantum circuits - will be able to use them to steadily increase its capabilities and even design small scale quantum algorithms at some point.
But beware of ill-disposed Decoherers - or Deqos for short! They got their name from Decoherence, a phenomenon of the quantum realm that describes how interactions with the environment can destroy a quantum state and turn it classical. And these Deqos will do their best to stand in your way. But luckily, they are in Superposition and your Qubot is equipped with a Measurement ability. This means, you can collapse their quantum state to 0 or 1 by moving towards them. Depending on the result, they will either manifest and block your path until you solve their quantum puzzle, or vanish without a trace. Be ready to combine various quantum gates into all kinds of quantum circuits should you be challenged to solve a puzzle. And some Deqos will be entangled, forming a group that collectively collapses to the same classical state upon Measurement.
Features
- Introductory levels in the form of “Lessons” to teach you the basic concepts of Quantum Computing together with their underlying matrix-vector multiplications.
- Seemingly infinite randomly generated levels in the form of “Expeditions” to experiment and find new quantum gates.
- High scores and seeded expeditions to improve yourself or compete with others.
- Fusing basic quantum gates into more complex quantum gates for near endless possibilities.
- Old school ASCII-style look and feel.
- Easy to learn level design language, so you can also create your own levels and puzzles.
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 states) 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 aforementioned 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 take a 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. So, instead of writing code (e.g., in OpenQASM) you can playfully design quantum algorithms by placing gates in a grid-wise fashion as described in Figure 2.
Getting started
How to install
The easiest way for Windows users is to download a build from GitHub and simply run qrogue.exe to play the game.
For other operating systems or more control over your installation, we recommend Python 3.8.
While newer versions of Python should also mostly work, 3.8 is used for development and testing, hence it is the recommended version. The best way to install QRogue is via its PyPI Package.
Although optional, we highly recommend creating a virtual environment for QRogue via Conda or venv.
Afterward, 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 a 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 will be asked to choose a difficulty:
-
Quantum Newbie:
The training program will use easier puzzles and explain both game mechanics and Quantum Computing in full detail. Pick this difficulty if you are unsure. -
Quantum Experienced:
The training program will use harder puzzles and only explain game mechanics. Explanations about Quantum Computing can still be read via the in-game manual.
After deciding on a difficulty, you can select START YOUR JOURNEY
, SCREEN CHECK
, SAVE
or EXIT
. While these options are mostly self-explanatory, SCREEN CHECK
can be used to make sure that everything is set up correctly. Since QRogue is played in a terminal, it cannot control its exact look. Hence, it is recommended to quickly check out the screen check-menu to verify if the used colors are distinguishable and, most importantly, your window is big enough compared to the font size. The minimum required window dimensions compared with the actual window dimensions can be found in the top right. Usually, the default terminal settings work fine when playing in a maximized window.
As you progress further in the training program, you will unlock LEVEL SELECTION
and WORKBENCH
. The former allows you to replay already completed lessons or start specific expeditions, with the option to choose which Quantum Gates you want to bring with you. The latter will help you to manage your Quantum Gates to combine them into new, more complex and exciting ones.
Controls
Please consult the in-game manual or GitHub page for more details and a full list of the game’s controls.
-
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
-
Pause:
P
,Tab
References
QRogue:
- Short Paper
Presented at FDG2023 conference - GitHub
Source code and game releases - PyPI
Python packages for installation via pip
Theoretical background:
- Quantum Computation and Quantum Information
Textbook containing everything you want to know and even more - Qiskit
IBM’s SDK for quantum computing
Other educational quantum computing games: