This is the second post in a series on quantum error correction. For other parts, check out the link at the bottom.
When storing and processing digital information, we use binary. Everything is expressed as strings of 0s and 1s. Though these are simple units of information, there is a whole science built on what they can do and how they can do it. This is the field of information theory.
We can make this field even richer by allowing for quantum mechanical effects. We won’t go into great detail on this complex topic in one short blog post, but…
5 years ago I had ran a citizen science project based on quantum computing. More specifically it was based on quantum error correction, which is how we plan to help quantum computers solve problems despite the effects of imperfections. For those who wanted to know more, I had a blog to explain it all.
Now, 5 years on, quantum computing is even more popular than ever. Cloud-based quantum computers, like those of IBM Quantum, allow anyone to use prototype devices. And programming frameworks such as Qiskit let anyone dabble with writing quantum programs.
So it seems like a good time…
This is the transcript of a talk given at the PCG workshop at the FDG 2020 conference. You can find the paper it’s based on here. It’s all about procedural generation, which is basically making content (like terrain, levels, puzzles, etc) for things that need content (like games).
I’m James Wootton from IBM Quantum, where we work on quantum computation. This is a new technology, so you’ve probably not heard it being applied to procedural generation before. I’ve been looking into how it might be done, and that’s what I’m here to tell you about!
Hi, I’m James Wootton. I work at IBM Research. We build quantum computers and I used a couple of them to do some map generation for games. That’s what I’m going to tell you about today.
We now live in a world with quantum computers. Many are on the cloud and ready to use, requiring little more than an internet connection. But what can we do with them?
First, we need to be realistic with our scope. No world crisis will be solved with a current quantum computer. No fortunes will be made. When thinking of these current devices as a computer, you have to think of them as pretty bad computers. The limited number of qubits means that they can’t do much, and the effect of errors means they can’t do even that very well.
Quantum computers are a new technology! Games are great! Let’s put them together! This is what I’ve been looking into for the past few years, and many others have now heard the call and joined the fun.
Nevertheless, you might be wondering why anyone would bother, and how they’d go about doing it. To answer this, I think it’s best to go back to the dawn of all computer games: the 1950s.
Games have been around for as long as humanity. Computers are a more recent phenomenon. It was the 1950s when they really began to coalesce.
First, you’ll need to know how to write quantum programs. Most tools to help you do this are written in Python. So here are some Python basics.
Next you’ll need to use a tool that allows to to create and manipulate quantum programs. As someone who works on a framework called Qiskit, I’d suggest Qiskit. Here are the basics.
To use Qiskit, you can either install it or use our web-based interface. Installation is done with
pip install qiskit. If that makes no sense to you, you’d probably be better off with the web version.
Now you have the resources…
Updated in September 2020
Whether you are attending a quantum hackathon, or just want a quantum project to work on at home, I have some ideas for you!
What follows is by no means a comprehensive account of everything useful or interesting that can be done with quantum computing. It is completely biased towards the things that I am personally interested in. So if you want to know more about any of them, feel free to ask me.
Making a game doesn’t necessarily mean making something big and fancy. Just pushing a pixel around can be enough, and it can…
From 1980’s Rogue to recent games like No Man’s Sky, randomly generated content has become an important part of game design. The techniques used for this are far more sophisticated than just coin flips, since the content they provide needs to satisfy an array of complex conditions. For example:
When trying to ensure that these conditions are satisfied, we can easily run into computational problems that simply take too much time or computer…
For me, one of the best things about games like Minecraft or Civ is the ability to explore randomly generated landscapes (and occasionally blow stuff up). This is all done through the magic of procedural generation.
One algorithm that recently caught my eye is called Wave Function Collapse, because it is inspired by ideas from quantum mechanics. From now on, we’ll just call it WFC.
Since my job is to write software for quantum computers, I instantly saw an opportunity. I would upgrade WFC from being just quantum-inspired, to truly being quantum.
To understand how I did this, we first…
Wrangler of qubits. Drinker of tea. Father.