I found this thread and delved into it.

I modified the code to show the current status of the world for debugging. Experimenting with it, I found that a new city never builds a city building if job_shortage = true.
As soon as you increase the number of jobs in the world and job_shortage becomes false, the new city will return to sanity.
And as I pointed out in another thread, there is another problem.
Urban expansion seeks to maintain a balance between population and work, but renovation does not.
There is a balancer written by james in the code that expands the city.
I think the renovation code is written by catasteroid (below the line 5468 of simcity.cc), but there is no balancer there. So in another thread, as I pointed out, renovation causes a lack of jobs.
It's very easy to reproduce this. And there are many problems that trigger this.
First of all, set the median town population to a low value or city 0 to start a new game.
In this way, create a city at the edge of the map or in a place such as a small island where it is difficult to expand the city area.
(Even if you do not intentionally place a city in this way, for example, if there is another city nearby, it will not be able to extend the city limit any further, and the city will prioritize renovation.)

If you use the grow city tool in this city, the world will easily run out of jobs due to renovation. Because there is no balancer in the renovation.
And this exposed even more problems.
As mentioned earlier, the first city building that city builds is RES. And like simcity, renovation doesn't change the use of tiles.
That is, the center of the city is always a residential area.
Is the center of London a residential area? I do not know.
I wouldn't leave Jalapagos because I'm afraid to fly on a lump of iron. (´・ω・`)
Anyway, however, in Japan, the larger the city, the more the center of the city is the commercial area. There may be many high-rise office buildings lined up. However, many slaves may sleep in the office rather than in their own home. So it's not a lie to say that they live in the office.

(But covid may have prompted them to go home.)
Anyways, since the center of the city is always a residential area in simutrans entended, these are the buildings with the highest potential for growth in the city, and as the city grows, population explosions are more likely to occur.
Especially during the 1960s-80s, this actually causes the population to decrease because residential buildings are renovated into those with a smaller population.
As I've already pointed out, this is just an expectation of chance. Perhaps even in those times, condominiums are more densely populated than small houses.
If it doesn't always do exactly that (rather, it would be a lot of work and difficult for the pakset author to control it correctly), then the system has to control it.
And look at the percentage of residential areas throughout the city. It turns out that most of the city is a residential area. And the use of these tiles will not change.
There is currently no code to control population, at least in renovation.
Performing a renovation that does not take this balance into consideration in the two conditions that the center of the city is a residential area and most of the city is a residential area will likely lead to a shortage of jobs in the future.
It has not been decided whether the renovation will increase or decrease the population, but as long as there are high-rise housing such as condominiums, it is likely that the renovation will increase the population.
As the renovation breaks job-population balancing in this way, the balancing code during city expansion is also almost meaningless.
I know that I plan to change the city generation algorithm in the future, but there is a possibility that we can take measures that can be taken at this time or make effective changes in the future.
Other measures I came up with:(1) Allows the construction of COM/IND even if the city population is 0.
I have no idea how this can be achieved or why this is currently not possible. (´・ω・`)
(2) Renovation considering population and job balance.
Renovation is complicated because it does not always increase the population. (I'm not familiar with those codes)
(3) Stopping the half-broken balancing code once.
Because it virtually makes it impossible to manually set up a new city in the middle of the game. You have to create a city with a population of 0 or manually plant all the buildings in the city. Or you need to plant a COM/IND building until world get the right job. The grow city tool cannot be used because it makes things worse.
OTOH, it's very easy to add a simuconf.tab option that stops job-population balancing code.
Even so, the city is not created completely randomly because it follows the city rules.
// Divide unemployed by 4, because it counts towards commercial and industrial,
// and both of those count 'double' for population relative to residential.
int employment_wanted = get_unemployed()*2;
I tried to do (1).
A big improvement can be seen by changing get_unemployed () / 4 to get_unemployed () * 2 or get_unemployed () * 4. Simply removing / 4 will not improve much.
Balances seems to be working properly even in this case. Rather, it improves the situation where the city does nothing.
I'm not familiar with these codes so I'd appreciate any insight into this. (´・ω・`)
EDIT: Addition of countermeasures
(4) Allows rebuilding to another district.
For example, if there is a shortage of job, a more reasonable district can be transformed into an industrial or commercial district.
This is a bit complicated due to the existence of the cluster system. The alternative district must be a reasonable location. (For example, outdated buildings, low-level buildings) It should not be isolated or unnatural.