A: As oxygen ω diffuses from the outer spheroid boundary, it is consumed by live cells. Consequently, the oxygen concentration at the centre decreases as the spheroid increases in size. We use the oxygen distribution to distinguish up to four different regions, or compartments, within a spheroid: a well-oxygenated rim, where ωq ≤ ω ≤ 1, contains proliferating cells; a quiescent compartment, where ωh ≤ ω < ωq, contains non-proliferating viable cells; a hypoxic compartment, where ω ≤ ωh, contains non-proliferating viable cells which will become necrotic if they remain hypoxic for longer than a prescribed time period; and a necrotic compartment, containing dead cells which degrade over time. B: Schematic showing how the way in which cells switch between different compartments depends on the local oxygen concentration. C: Schematic showing the forces which act on individual cells to determine cell movement. All nodes experience spring forces due to interactions with their neighbours, a random force which represents local fluctuations in the cell environment, and a drag force which resists cell movement. Boundary nodes also experience a surface tension force which is directed inwards, towards the spheroid centroid, and which resists spheroid expansion. D: Flowchart summarising how the ABM is updated on each timestep—see main text and Supporting Information, S2 Appendix: Algorithm for updating the cell cycle, for details.