A bespoke rule to force an outcome is the anti-pattern; move the abstract cause instead
When an emergent simulation wont produce a desired behavior (e.g. empires that fall), the temptation is to hand-code a targeted mechanism (a proxy-war rule that makes a rival blocs members get raided). That is enforcement, not emergence -- a tell that youre reaching for a result instead of a cause. It usually also just doesnt work. The emergent fix is to find the abstract FIELD/parameter the EXISTING rules already read and change that: here, cooperation already reads a resource-intensity field, so seeding abundance everywhere made everyone ally into a stable hierarchy; flipping the field to scarce makes the SAME cooperation rule score alliance lower so the SAME raid rule fires more -- competition, erosion, decline, with zero new behavior. Deeper corollary: a STATIC field yields a STATIC equilibrium (stable OR fragmented, but frozen either way). For genuinely CYCLIC history (rise AND fall over time) the field itself must MOVE -- ebbing/flowing scarcity, a threat that surges and recedes -- which is still an abstract cause, not a scripted event. Test discipline: if you catch yourself writing a rule whose name is the outcome you want, stop.