Monsters spawn, food needs to be produced, and so forth. These things are regulated by (mathematical?) values that are predetermined before the game starts. If these values do not change, then at some point the player will have built a village that can withstand everything the game will throw at them. On the other hand, if these values increase continually, eventually it will be impossible for the player's village to survive. The game needs something to keep it interesting once the player has established a powerful, thriving village. The player should have to continually adapt to the game environment for their village to survive.
To this end, I have a suggestion; Random events. Some events could occur without warning, while others could warn the player (Event X in Y days). The player would have to modify their village to deal with these events. I have a few preliminary suggestions for event types, but they are not really the important part of this post. The idea of random events in general is my main point.
1. A night with a ridiculous number of monsters spawning (and/or bosses?)
2. Droves of pests coming out of the forest/rocks/whatever to steal food/water/etc.
3. Flying monsters
4. Tunneling monsters
5. Meteorites/Tornadoes/Large map-scale fires (firefighters?)/other natural disasters
6. Regeneration of rock (villagers die if rock appears on top of them) (This would also solve the problem of there being a limited supply of rock in the map)
Random events could become enabled after X days, which would give the player time to build up a village before random things start trying to kill them. Of course, the number of days before random events are enabled could be chosen by the mapmaker, or the player in custom mode.