Each cell holds grass (green), prey (yellow), predator (red), or is empty. Local rules generate emergent Lotka-Volterra oscillations.