Quantum Racer
Java, Android SDK, Gradle, XML
Unedited notes in my own words, written to explain the thinking behind this rather than summarize it. These are the same notes the chat on this site draws from.
Choosing one concept
Instead of worrying about the accuracy-versus-fun tradeoff, I focused on the simplicity of the concept. For World Quantum Day, in a world where most people don't even know what quantum really means, it's important to home in on a specific concept and distill it. The aspect I focused on was quantum decoherence. It's central to why quantum computers can't function at the scale they do, because of noise. The purpose of the game was to teach people how badly noise can render quantum states unpredictable.
How the game taught it
The game put you in the driver's seat of a quantum car, and while driving you'd be placed into superposition. That superposition was kept very simple: in one state the car was stationary, and in the other state it kept moving. As you drove in the moving state, you could increase the probability of maintaining that state when wave function collapse occurred after a set amount of time. Scattered across the track were probability-increasing tokens and noise tokens. Every time the car crashed into a noise token, the screen would blur into static and simultaneously reset the probability of maintaining the moving state to a random, uncontrollable value.
It might happen that a player drives for 30 seconds, makes it 25% of the way through the track, then crashes into a noise token that drops their probability to 10%. On wave function collapse, the car resets to where the superposition started. That moment shows how one bad interaction can undo a carefully constructed quantum state.
What would have made it better
Ideally, the player would be dropped straight into an immersive 3D environment, something like Gran Turismo or Forza, where educational pop-ups appeared in the world itself to explain what the noise tokens and probability tokens were, how they are fundamentally quantum, and why they mattered. We put all of that in the about section, but obviously no player is going to look at the about section before they start playing.
The game wasn't so difficult it was impossible to beat. It had a learning curve, but once you got the hang of it you could consistently make it to the end. In the two and a half months we had, it was significant progress. With bigger reach and deeper integration between the game mechanics and the educational content, we could have taught more.
What educational games get wrong
A lot of educational games make the mistake of info-dumping on the player and expecting them to read everything and learn it. You don't internalize it unless it's immersive and directly correlatable with the challenges you face in the game.
The iCivics games do a great job of this. They walk you through the processes of different political and legal systems in a way that actually teaches you how they work. The mechanic is so ingrained with the real-life process that it's impossible to understand the game without also understanding the process. With Quantum Racer, it's possible to understand how the game works without understanding the underlying concepts. That gap in design would have made a big difference.
Why teach quantum at all
I started a quantum computing club in high school, and I'm passionate about teaching younger people about emerging technologies because that forward thinking is what allowed me to get ahead of quantum computing, AI, and machine learning. I think that opportunity should be granted to all students, which is why I built an educational game that any student could learn from and play.
On complexity gatekeeping
Most people think quantum is too complex to engage with. The scientific community does a poor job of introducing younger people to it because they hold the opinion that you must understand everything fundamentally before you can truly understand it. While that's true in the limit, no high schooler is going to comprehend quantum physics at the level that allows them to meaningfully engage with quantum computing theory.
What they can do instead is learn a simplified version that introduces the concepts and builds enough familiarity that, when they're older and have more mathematics and physics behind them, those complex ideas map back onto foundations that were already there.
Obviously there is unlearning to do, but learning anything quantitative requires unlearning what you fundamentally understand about the world. Having some interest and foundation draws more people to the field, not fewer.
When I first encountered AI and machine learning, I knew there was something called backpropagation and that it improved the model. I had never taken a derivative. But that interest drew me in. When I later learned about gradients in calculus, I was able to relate that back to gradient descent, and it gave me a much better mathematical foundation than I would have had if I'd never had that earlier exposure, because the familiarity was already there.
Was it worth building
It was worth building. It was the first time I put an app on the App Store. I created educational material for students, and it taught me a lot about how to design something that is both educational and fun, which matters for anyone who takes on the role of instructor, even tangentially.