  Given a quantum gate circuit, how does one execute it in a fault-tolerant
architecture with as little overhead as possible? In this paper, we discuss
strategies for surface-code quantum computing on small, intermediate and large
scales. They are strategies for space-time trade-offs, going from slow
computations using few qubits to fast computations using many qubits. Our
schemes are based on surface-code patches, which not only feature a low space
cost compared to other surface-code schemes, but are also conceptually simple,
simple enough that they can be described as a tile-based game with a small set
of rules. Therefore, no knowledge of quantum error correction is necessary to
understand the schemes in this paper, but only the concepts of qubits and
measurements. As an example, assuming a physical error rate of $10^{-4}$ and a
code cycle time of 1 $\mu$s, a classically intractable 100-qubit quantum
computation with a $T$ count of $10^8$ and a $T$ depth of $10^6$ can be
executed in 4 hours using 55,000 qubits, in 22 minutes using 120,000 qubits, or
in 1 second using 330,000,000 qubits.
