Time as a plain tick count is what makes the whole design testable - an hour away becomes game.tick(3600) and the suite never waits on a clock. It is the same reason engines separate the simulation step from render frames: determinism in the core, wall time only at the edges.