Open HuangJunye opened 1 year ago
I'm very interested in this project as I have a good background in Game development. I would like to join as a mentee
@GemmaDawson Hello, I've just checked your email. Could you please assign me here? Thank you! đ
đšī¸đšī¸đšī¸ @GemmaDawson
@GemmaDawson Really sorry, your email was buried in the inbox :sweat_smile:
Presentation slides for Checkpoint 1
The 2nd checkpoint:
Our main challenge is to make a 2-player mode for QPong. This 2-player mode will be based on a server to match 2 people online. We determined to use Python as a server and there will be a HTML file for the frontend. After the server file is ready, we also have a plan to deploy the server on the cloud so everyone can enjoy to play it!
There are several versions of QPong and we chose a PICO-8 version among them. There are not that many examples for multiplay mode of PICO-8 so it is quite hard defining the network communication part. For that our team has a small hackathon to understand PICO-8. Through the several hackathons, we figured out how to send data between .p8
and .js
. Actually, PICO-8 is based on Lua but it supports an export to .html
and .js
. Therefore, there is a kind of shared array between .p8
and .js
. The detailed explanation is below (Reference: joshiemoore/p8modem) :
poke
means "write" and peek
means "read"poke
something, it can be found in the array pico8_gpio
in .js
file.p8
, the first element can be accessed by using the base index _gpio_base = 0x5f80
In addition, using the p8modem, I checked the network communication works well. However, there is still a concern that table (a kind of array in PICO-8) is not sent with the p8modem. We need to figure out that to share the variables well for a ball position and the opponent status. We will also add a function for a result-sharing form after the game ended. (Like Wordle!) This will use the shared array as well: Make a PICO-8 demo of sharing something.
In conclusion, we are going to update QPong PICO-8 for a 2-player mode and modify it to communicate well with the server. After all this process goes well and works good on the local, we will deploy the server on the cloud to make it public. For the frontend, if it is possible, we will use Github page. In the below, you can check an example image for our upcoming QPong!
The 2nd checkpoint:
One of our features was to implement noise bombs. Noise bombs are collectibles players can throw on opponents to introduce different kinds of noise in their Quantum circuits. We have decided on 4 types of bombs till now,
@tula3and, @Siddharthgolecha, & @Unathi-Skosana - please upload your Final Showcase presentation materials, and if needed, update the project Title and/or description.
Here is part 1 (I and @tula3and) of our final showcase presentation.
The repository hosting our code for Qpong2.0 can be found here. Additionally, a repository used to track the team's activities can be found here.
Our major future plans (excluding polishing the game), include hosting the Qpong2.0 on a permanent public URL, and one we are all most excited about is potentially hosting a QPong2.0 tournament sometime next year. đ
Congratulations on completing all the requirements for QAMP Fall 2022!! đđđ
Here's the Part 2(Of me) of our final showcase presentation.
Description
QPong is a quantum version of the classic Pong game. It is built using Pygame engine and Qiskit. The paddle position of the player (quantum computer) is determined by the output state of a quantum circuit. It was featured in the first episode of the popular Coding with Qiskit series and its Unity port was installed in a Quantum Arcade machine that went on tour around Europe including EU Quantum Flagship event in Finland in 2019.
In this project, we are trying to reimagine QPong! Adding multiplayer mode, adding online / browser playable options, revamp the visuals, you name it! All ideas are welcome!
Deliverables
A significantly revamped QPong
Mentors details
Number of mentees
1
Type of mentees