I've been looking closely at how Animal Crossing (for GameCube) creates town maps, and as far as I can tell, it's something like this:
The town is made up of a 5x6 grid of acres. Each acre is 16x16 "tiles" in size.
That's the easier part. As for the actual map generation, it seems to use what I'll call "acre templates." That is, the acres seem to be selected somewhat randomly from a predefined list, with predefined layouts. So there are, for example 2 different layouts of what an acre containing the Museum will look like.
Or if an acre has a river running through it, top-to-bottom, there might be 3-4 different templates of how the river flows through that acre, with optional ponds nearby, etc.
The question is... What is a good suggestion or method for how to organize the data structure to handle all of this?
Another thing to keep in mind is that there's a "second layer" of objects on top of the basic terrain info, such as trees or rocks or inventory objects dropped/buried on/in the ground. How would I store that information in relation to the acre templates?