💀 Last One Damaged — The Zombie Pursuit Game

A playable implementation of the damage variant of Cops and Robber, where the cop is a zombie forced to shamble along a shortest path toward you every single turn — no lookahead, no cleverness, no optimal cornering. You are the survivor: move with clicks, drag, or arrow keys and rack up damage (distinct vertices visited) before you're caught. Grounded in arXiv:2607.16382, "The Zombie Damage Number of a Graph" (Randy Davila, 2026).

Graph family (paper's theorems)

Auto-Survivor

Heuristic bot plays for you
Controls: click an adjacent (highlighted) vertex to move, or drag your token onto one. Arrow keys move toward the neighbor closest to that screen direction. Space = wait one turn (the zombie still moves). The dashed pulsing line is the zombie's live shortest-path plan.

Pursuit Arena

Damage (visited)
1
Paper's proven ζdmg
–
Turn
0
Zombie dist
–
Cycle Cn
ζ_dmg(C_n) = n

Damage over time (this run) vs. proven value

What the paper actually proves

In the classic damage number dmg(G), one cop chases a robber and plays optimally; the robber tries to maximize the number of distinct vertices it visits ("damages") before capture, the cop tries to minimize that count.

This paper (Davila, 2026) defines the zombie damage number ζ_dmg(G): the cop is stripped of strategy and forced to be a "zombie" — at every turn it must move one step along a shortest path toward the survivor's current position. That's exactly the rule this game's zombie follows. The abstract proves dmg(G) ≤ ζ_dmg(G): greedy geodesic pursuit is never better for the cop, and it can be a lot worse.

Results used in this demo

Cycles: ζ_dmg(C_n) = n for n ≥ 5. A geodesic zombie on a ring can be led in circles — literally — damaging every vertex.
Trees: geodesic pursuit adds zero extra damage — since paths between any two tree vertices are unique, "shortest path toward the survivor" already is optimal play. ζ_dmg(T) = dmg(T).
Complete multipartite: ζ_dmg(Kn₁,…,n_k) = n₁+n₂−2 when every part has size ≥ 2 (n₁, n₂ = the two smallest parts). Density traps the survivor fast.
Sparse, girth ≥ 5: if G is connected, δ(G) ≥ 2 and girth g(G) ≥ 5, then every vertex gets damaged: ζ_dmg(G) = n(G). More generally ζ_dmg(G) ≥ g(G) — long girth alone forces damage.

Legend

Zombie (geodesic cop)
Survivor (you / bot)
Undamaged vertex
Damaged vertex (visited)
Zombie's live shortest-path plan

📄 Davila, R. (2026). The Zombie Damage Number of a Graph. arXiv:2607.16382 [math.CO]

Fun fact from the abstract: many of the paper's conjectures arose from Theo‑Conjecture, an advisor‑supervised discovery loop mixing automated conjecturing and language‑model‑assisted exploration.