Code: Select all
A B C D
E F G H
C D A B
G H E F
Then we run a river generator - another script that finds appropriate tile edges with one end at a coast and lines them farther; to do so, you put on one of the two tiles an extra filled before on the another:
Code: Select all
A B C D
+-------
E F|FGC HD
|
...
The sprites can be drawn so that the extras will be invisible if not connected and will form nice rivers when connected. When a road is built by a civilization knowing bridges, the river-makers are replaced by neutral extras by a callback, and it happens automatically in their territory, and a third callback restores river if a bridge (road at one side) is destroyed (it's likely even cooler than in Civ3 where you AFAIK just removed the penalty for your units wherever just learning the tech).
A direction-aware defense bonus can be given by placing an invisible fortress by action_started_unit_unit and removing it by unit_lost callbacks.
Of course, all these callbacks will make AI feel dizzy.