If I ever retire early to build city building games, I think it’d be nice to step back from the “series of rectangular lots” model and instead model the house, garage, driveways, and the like, as objects that a constraint solver can place. Then zoning becomes a series of specific rules: setbacks, fire codes, parking, accessibility, and the like. Bundle up zoning rules and apply them as you will. Make your agents look for a place that meets their needs, or renovate their own property. Have actual landlords, offer rent control if you dare… build civic capital with community organizations so that displacing people or gentrifying the neighborhood too quickly means a loss of stability, and urban conflict …
Mind you, this is a boatload of work.