making a city from scratch starts by creating the universe, then kick starting the big bang, evolution and on and on. but thats alot of work so instead lets make a city from a simple plane inside blender.
how to generate a city from a plane using geometry nodes
we need a mesh object to have the geometry nodes modifier
then in the geometry nodes setup add a grid this is going to be the base geometry so lets make sure it has enough subdivisions
then lets use a distribute points on faces using the grid as the geometry
the reason we are adding these particles is because we want to randomize the position of the grid vertices, a grid city looks too boring
we shall snap the position of each vertex on the grid to the nearest particle using a transfer attribute node, basically using the nearest particle as the location of the nearest vertex, adding some randomness to the grid
from there we can extrude and inset faces to make buildings and roads
If you want to become a better artist stop trying to make everything your self from scratch, take advantage of what other artists have built and start from there, focus on your strength, it not only does it speed up your workflow but its a requirement if you want to work for companies or client work to know how to work with libraries of premade assets from other assets.
a library of premade procedural materials by ducky 3d