qiskit-community / qiskit-hackathon-korea-21

A repository for Qiskit Hackathon Korea (February 16-19, 2021)
33 stars 11 forks source link

Make your own quantum game! #25

Closed starktech23 closed 3 years ago

starktech23 commented 3 years ago

Abstract

You will create games that can be run on or makes use of a quantum computer using Qiskit. All you need is your imagination, and the list of tools here will help you make your very own quantum game.

Description

(WIP)

Qiskit is a Python library. You can make games with Qiskit using any Python game engines (Pygame, Python Arcade, etc.).

If your favourite game engine doesn't support Python (which is extremely likely!), you can follow this workaround: run Qiskit on a Flask server, either locally or remotely, and send command from your favourite game engines to the Flask server via HTTPS request.

The best way to learn how to code is to read the source codes. We picked a few examples of quantum games for you to take a look at:

QPong (pygame/Python) QPong-Unity (Unity/C#) Qiskit Blocks (Minetest/Lua) Qubit Tic Tac Toe (Tkinter/Python) Wolfiverse (Twine/JavasScript) Quantum Gate Quest (Phaser.io/JavaScript) QPong-PICO-8 (Pico-8/Lua) Also here's a very simple guide for making quantum games on Jupyter Notebooks if you're interested to take a look.

You can find more details about Qiskit game development on the Qiskit for GameDev repo and about MicroQiskit with PewPew game development on this repo. You can find more quantum games on Awesome Quantum Game repo. When in doubt, ask on the event channel as well the #qiskit-games channel on Slack!

*We have some tools ready for Unity. There's a MicroQiskit for Unity and also Python and Unity implementations of some procedural generation tools.

If you are interested in the history of quantum games, read this seminal piece written by the father of quantum games, Decodoku: Making games with quantum computers.

You can also check out all the entries from the first 2 editions of the IndiQ Quantum Game Jam here: https://itch.io/jam/indiq-quantum-game-jam https://itch.io/jam/indiq-quantum-game-jam-2

Your games must run on a quantum computer. The quantum computer can be: a simulator in Qiskit running locally on your computer (examples: QPong, QPong-Unity, Qubit Tic Tac Toe) a simulator in Qiskit running remotely on a cloud service (examples: QiskitBlocks, Wolfiverse) a real device on IBM Quantum Experience(examples: CatBoxScissors, Quantum Battleships, Quantum Awesomeness) a simulator in MicroQiskit written in the native language of the game engine (examples: Fredventure, Q-Snake, PewPew-Qube)

Try to build your game by keeping in mind the following criteria: Quantumness: accuracy of quantum physics principles implemented in the game, such as superposition, entanglement and randomness. Theme: how well the theme is reflected in the game. Graphics: how good the game looks. Fun: how much you enjoyed playing the game. Overall: Your overall opinion of the game, in every aspect important to you.

Members

Deliverable

A playable game file (.exe, app, webpage, anything!)

GitHub repo