Hi! Let me just inform you by saying that a game like Cities: Skylines is more than possible so don’t let anyone tell you to rule it out. My personal method would be starting with a placement system that is grid locked for buildings, after that I would make a custom camera controller that would use the Roblox ‘Freecam’ module (it’s part of corescripts) to view the map freely. For the more advanced systems such as the water and power lines, you could use a 2D radius or 3D radius (magnitude/distance between two points on a graph) checker to provide if the buildings have water and/or power.
Keep in mind that even though I’ve dumbed it down, it is still quite difficult and your biggest task will be optimization. You want your game as fast and lightweight as possible to support as many devices.
Here are some great resources that you may want to considering learning from or even using :
cameronmcginley/rblx-placement-system: Rojo initialization (github.com) - Placement system
Freecam Module - An easy way to make Freecam to your game - Resources / Community Resources - Developer Forum | Roblox - Freecam Module
RadiusModule (simple) - Resources / Community Resources - Developer Forum | Roblox - Radius Module
ZonePlus v3.2.0 | Construct dynamic zones and effectively determine players and parts within their boundaries - Resources / Community Resources - Developer Forum | Roblox - Another radius module, a lot more advanced but also has many more features
Vector Icons and Stickers - PNG, SVG, EPS, PSD and CSS (flaticon.com) - My favorite icon site for UI, make sure to give credit!
buildthomas/Rain: Rain effect simulation for Roblox games (github.com) - A rain module for rainy weather
@uid3v Cities: Skylines is one of my favorite games, I would love to see a high-quality remake be made on Roblox. I wish you the best of luck and don’t let anyone doubt you.