Inspiration
We've been to our fair share of hackathons, but this time we wanted to try something entirely new to us. So, we decided to dive into the world of VR, building a game and also somehow incorporating quantum computing to it. The result? A VR fishing game like no other - Schrödinger's Catch: TROUT of this World!
What's the Catch?
In our game, you get to explore a beautiful island, cast your line, and wait for a bite. But here's the twist - we used Python and Qiskit to add a dash of quantum randomness to the experience. When a fish bites, it's not just any ordinary randomness - it's quantum-powered.
How we built it
We created the VR portion of Schrodinger's Catch using the Godot game engine with Godot XR Tools, We built the VR part of our game using the Godot game engine and Godot XR Tools. For the quantum side of things, we used Qiskit to generate truly random numbers using the Hadamard function. With 32 types of fish to choose from, we needed 5 qubits to create a random number between 0 and 31. This calculation happens in a Python Flask app, which exposes an API for our Godot project to use through an HTTP request.
Challenges we ran into
We ran into countless challenges during the creation of our project. From lack of resources and documentation on Godot XR Tools to being absolute beginners in VR and quantum computing (and linear algebra) - we had to learn as we went. And then there was the issue of spawning fish after casting the line... let's just say it took a few dozen testing phases to get it working.
Accomplishments that we're proud of
We created a working application of quantum random number generation and a pretty cool VR experience. Even though we had no real prior knowledge of quantum computing or even VR, we were able to make something that while we could not incorporate any advanced algorithms into, we still had a blast working on it.
What we learned
We learned how to export a Godot VR game to the Meta Quest 2 VR Headset to test and play, how to set up a player scene for VR in Godot using the Godot XR tools, and how to get random number generation using quantum computing. We learned a lot about qubits and quantum computing and it's applications. We learned about superposition and we got a feel for the workflow of what its like to do quantum computing.
What's next for Schrödinger's Catch: TROUT of This World!
The next steps for Schrödingers Catch: TROUT of this World! is to learn how to create our own Godot XR scenes and functionality. We felt that the tools given to us didn't perform as well as we wanted to them to, so if we got more practice then it could be possible to create our own scenes that more closely align with what we want. If we had more time, we would also want to add or even create our own sound effects for the game, so that the VR experience is more immersive. In the future we would also like to explore and learn about Grover's algorithm which we learned a little bit about in a workshop.
Log in or sign up for Devpost to join the conversation.