I’ve Worked in Game Development My Whole Career — Here’s Why I’m Learning Quantum Computing
Tags: Open Source, Game Development, Quantum Computing, Software Development, Qiskit

I’ve Worked in Game Development My Whole Career — Here’s Why I’m Learning Quantum Computing Qiskit Follow Feb 16 · 4 min read

By Amir Ebrahimi — Principal Software Engineer · ‎Unity Technologies

What opened quantum computing up for me was realizing that it’s even more connected to our physical universe than classical computing is.

I’m at Unity, where I have a day job developing software for Barracuda, our CPU/GPU optimized inference engine for neural networks. I’ve been working in the video game industry since 2003, which is usually on the cutting edge of technology, so it’s surprising that I had never heard about quantum computing until about three years ago — I don’t know if I was ignoring it or if I simply wasn’t exposed to it. Back in 2018, one of my coworkers who was already interested in quantum computing shared a few links to the IBM Quantum Experience, and explained that you could use a quantum computer online. I took a look and bookmarked it, but didn’t actually try it out.

About a half-year later, I had a change in my thinking — I became a lot more interested in the universe, physics, ontology, and other topics that I never really cared about before. I remembered quantum computing, and decided to hold myself to reading one quantum computing article a week during lunch. Then, in the fall of 2019, I dove in and wrote a 40+ page white paper for Unity on the topic. Since then, I’ve spent almost every night and some weekends learning about quantum computing. I even took 2 weeks of “vacation” off from work to attend the Qiskit Global Summer School. And now, at 40 years old, I’m back in school at the University of Texas doing a masters degree in computer science and machine learning in order to better prepare myself for quantum computing. I even switched groups at my own company to get as close to quantum computing as I could — by working in machine learning and deep learning.

I don’t really know what specifically is drawing me to quantum computing just yet. However, I haven’t been this focused on a single subject ever. I can see it playing out for the rest of my professional career, even if it just means making a small contribution to the field. I’d like to throw my hat in the ring at such an important time during the development of this nascent field. In the meantime, I’m working with others on a graphical interface for Qiskit and Qiskit Pulse, which can be used to experiment with the microwave pulses that we use to control qubits — I’ll hopefully be writing more on that for the Qiskit blog soon. But I’m going to continue onward, because after my deep dive, I’ve started to realize how much I have yet to learn.

A screenshot of Qonduit: “an open-source Python widget library and dashboard workflow for quantum computing” that I’m working on

As for advice, I encourage anyone to try their hand at quantum computing, with only “linear algebra and python” needed as a prerequisite. But rather quickly, you’re going to get to a point of “now what” where things will get a lot, lot harder. Then, if you’re like me, you’ll need to reel your interests in to understand deeper concepts if you hope to do active research in the field. If you’ve just had your “aha” moment, I’d encourage you to stick with your curiosity and go in deep on a particular piece that’s capturing your attention. You might feel a pull to quickly move on to the next big breakthrough for a specific qubit modality or to get lost in sub-fields you’ve had no prior experience in (e.g. computational chemistry). I’d say resist it or at least limit it to avoid burnout. For example, I’ve had several passes learning and implementing Grover’s search algorithm, and each time a new piece of gold is revealed. You might also want to spend some time with classical machine learning, which can help you understand some of the variational and other exciting algorithms that quantum researchers are focusing on today.

I want to stress that, while I hope to see quantum computing aid in the development of games, I’m not bullish on quantum computing being used in games, at least not with real quantum hardware any time soon. The core task of the game developer is to create games with high-quality, quickly-rendering geometry that’s fun to play, and there are a myriad of complex tasks that are required to bring that to fruition. I do hope that quantum computers may at some point provide an advantage for some of these complex tasks, though.

So, if not for the gaming aspect, what keeps me coming back for more? Perhaps what’s keeping me interested is how much inherent beauty there is in this interdisciplinary field. I remember the first time I learned about stabilizers and normalizers — it was a wonder to me that these existed and how they worked. While classical computing has afforded some moments like this, such as performing any boolean operation with only NAND gates, quantum computing delivers in spades. There’s a similar universality of quantum computers that goes even deeper, since nature requires things to behave in this beautiful way. I find myself facing even more “aha” moments in quantum computing than I ever had in classical computing. If you’re new to the field, I hope you’ll experience some of these “aha” moments, too.

Read previous “Why I’m Learning Quantum Computing” Stories here and here, and get started with Qiskit here!