Zombie flocking AI for a prototype I'm playing with. Amazing how simple rulesets can give such emergent behaviour!
Each zombie has a set of weights between 0-1:
walk toward where nearby zombies are walking toward (average)
turn left/right based on which area is more open (obstacle avoidance)
keep walking in the direction you're walking
Toss in some random mutations to each zombie's weight on each value and you get surprisingly complex results! I usually see one or two big hordes that form, with smaller groups of 2-4, and a few lone wolves here and there. Collisions between groups results in either group fragmentation /w new groups being formed, or the smaller group sometimes get absorbed into an even bigger horde!