Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/QPong/QPong-Unity
QPong rewritten in Unity
https://github.com/QPong/QPong-Unity
game ibm pong quantum unity
Last synced: 4 months ago
JSON representation
QPong rewritten in Unity
- Host: GitHub
- URL: https://github.com/QPong/QPong-Unity
- Owner: QPong
- Created: 2019-06-15T03:27:59.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-08-22T16:57:03.000Z (over 4 years ago)
- Last Synced: 2024-05-20T03:20:01.756Z (9 months ago)
- Topics: game, ibm, pong, quantum, unity
- Language: C#
- Size: 921 KB
- Stars: 27
- Watchers: 4
- Forks: 5
- Open Issues: 18
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
- Awesome-Quantum-Games - QPong-Unity - QPong ported to Unity for IBM Quantum Arcade Machine. (by Huang Junye, Gregory Boland, Ivan Duran) (2019 / Others)
README
# QPong
![alt text](Logo.png)
QPong is a quantum re-imagination of the classic video game Pong. It uses [Qiskit](https://github.com/Qiskit/qiskit), IBM’s open source framework for making software for quantum computers. QPong let you explore unfamiliar yet fundamental concepts of quantum computing, such as superposition and measurement in a familiar and fun setting.
This game was initiated in IBM Qiskit Camp 2019 by [Huang Junye](https://github.com/HuangJunye), Jarrod Reilly, Anastasia Jeffery and [James Weaver](https://github.com/JavaFXpert). (The original Python version can be found [here](https://github.com/HuangJunye/QPong)) This port over to Unity was developed by [Huang Junye](https://github.com/HuangJunye), [Gregory Boland](https://github.com/boland25), & [Ivan Duran](https://github.com/filemaster).
## Story
In the dawn of the Quantum Era, a primitive 3-qubit Quantum Computer is trying to challenge the Classical Computer, the long-time ruler of the Computer Empire. Your mission is to use your Human Intelligence to help the Quantum Computer defeat the Classical Computer and demonstrate "quantum supremacy" for the first time in human history. The battle field of the Quantum-Classic war is none other than the classic Pong game.## Installation
Download the last [release](https://github.com/HuangJunye/QPong-Unity/releases) and unzip the files to the "Downloads" folder on your computer. You need to run the `QPong-Python-Server` before runing QPong game. To do that you need to install Python and three required packages. You will also need to run the server in command line tool (Command Prompt for Windows or Terminal for macOS).### Install Python
If you don't have Python installed on you computer, you can install Python from https://www.python.org/ or install Anaconda from https://www.anaconda.com### Open command line tool
On Windows, open Command Prompt by typing "Command Prompt" on the search box of Start menu. Check this link if you are not sure about how to do that: https://www.wikihow.com/Open-the-Command-Prompt-in-WindowsOn macOS, press Command + Space to open Spotlight. Type "Terminal" on Spotlight to open Terminal. Check this link if you are not sure about how to do that: https://www.wikihow.com/Open-a-Terminal-Window-in-Mac
### Install required packages
The Python libraries that you need to use are `qiskit`, `flask`, and `json_tricks`. To install these python libraries, `cd` to `QPong-Python-Server` in the command line and runpip install -r requirements.txt
The Python server lives in a subfolder of the project. `cd` to `QPong-Python-Server/flask_server` and run
python3 server.py
### Run the game and have fun!
With Python server running on command line tool, you can run QPong by double clicking the game icon (QPong Arcade.exe for Windows, QPong Arcade application for macOS)## How to play
Press "S" to start the game from title screen.Use A/Left and D/Right to select qubit.
Press X to add/remove X gate and H to add/remove H gate.
Paddle position is determined by the quantum state of the 3 qubits. Nothing fancy happens if you only use X gate. Try H gate to see cool quantum superposition.
## Credits
### QPong Python version
James Weaver: Mentoring, Created [Qiskit-Pygame framework](https://github.com/JavaFXpert/quantum-circuit-pygame)Huang Junye: Programming, Project Management
Jarrod Reilly: Programming, Quantum Physics Consulting
Anastasia Jeffery: UX Design
### QPong Unity Version
Gregory Boland: Project Management, Arcade Machine IntegrationHuang Junye: Game Design, Programming
Ivan Duran: Unity Expert
### SFX and font
Sound effects are made by NoiseCollector from Freesound.org: https://freesound.org/people/NoiseCollector/packs/254/
Font used in the game is Bit5x3 made by Matt LaGrandeur: http://www.mattlag.com/bitfonts/