I just wanted to add my two cents about the grid. Couldn't you make it where it is actually 3 grids on top of each other? For example, if you were looking at the city from directly overhead, there would be a north-south grid, a NW-SE grid, and a NE-SW grid. This way, when you put in a road, rail, or zone, the game engine just follows one of the three grid patterns, allowing itself to change from one grid pattern to another as you go. I don't know if I am explaining myself correctly, but hopefully someone here knows what I'm trying to say and can explain it better.