This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cities build irrational bridges: right on the shore, along the lake, next to each other #9051
Comments
I don't think it's feasible to begin adding land mass shape and reachability analysis to town expansion just to avoid silly bridges. A simpler solution I think will solve this problem, and other oddities with town expansion, might be to let towns have an expansion budget. A smaller town has a smaller budget, obviously, and different expansions have different costs. Bridges would have a rather large cost. Expanding with a road tile on flat land would be cheap, expanding with small houses on flat land is cheap, expanding with roads on slopes somewhat more expensive, building houses on slopes again more expensive. Destroying existing buildings to replace them with others can be significantly more expensive than building on empty land. Expanding further from the town center is more expensive. This will make bridges unlikely to happen until a town has no choice but expand over a body of water, or over some railroad tracks, and because the bridges have a cost the town will be more likely to choose a shorter bridge. It will also be more likely to have built all along the shore/track that needs to be expanded past and thus have more options open for places to build the bridge. |
There would need to be some kind of limit/random chance to not just take the cheapest current option, as otherwise towns on mostly flat maps would just sprawls endlessly. While this might be realistic, it's not not visually appealing. Also, it would make a reworking of the town zones almost mandatory. |
I think two parts in my idea as written will prevent endless sprawl. First is that expanding further from centre has a higher cost, second that larger towns have bigger budget. It obviously needs tuning, but eventually the cost of expanding outwards will be higher than the cost of expanding upwards. Since low density buildings have much less population, large sprawl should not contribute as much to the budget of the town. Possibly, the budget should not be linear on the population count, but rather each house contributes exponentially more depending on its size. |
Whether you add a budget or not, it has nothing to do with how or where cities build their bridges. Well, a similar restriction is currently in use, and it doesn't work good. The bigger the city (bigger budget), the longer the bridges. What you write about will not prevent situations from the screenshots. If the big city has only one lake nearby, he will build all the bridges over that lake. Bridges along the coast will continue to be built. Basically the whole idea of a budget would not affect the method of construction but rather only the pace. In order to maintain the current growth speed settings of cities, you would have to raise the budget, which means that nothing would change with main issue. Currently when building anything, the terrain is always checked, so why shouldn't it be like that here? |
You're making assumptions about my idea to break it instead of thinking of ways it can work. For example if a 6 tile long bridge over water is more expensive than expanding with an office building 20 tiles out from the city center, then those bridges would still not be built except when the town has literally no more options. I say "cost" and you probably think of the same costs players see when building bridges, where additional length doesn't have that much effect on the total cost. When I say cost I mean an abstract cost, that might have exponential growth on length. You suggest "look at the landscape", but do you actually know what you are asking for there? What you are asking for is a detailed analysis of the shape of the land and making a choice of optimal positioning to maximize the ability of the town to expand while minimizing the length of bridges. That's a very computationally heavy problem, my stomach feeling says similar to the difficulty of building an analytical system to evaluate moves in the game of Go. |
Yes, I understand what you are writing about. No, this is just a check on specific tiles (shown in the graphic) if there is land or another bridge there. Nothing more. Is there a detailed analysis when building a enterprise? Rather not. There is no planning here. At most, coordinates could be saved where a bridge could not be built, so as not to repeat the same action every now and then. |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
Version of OpenTTD
1.11.0 (also earlier, but a bit less problematic)
Expected result
Bridges are built across the width not length of water bodies, in the narrowest, not the widest places.
Long bridges are not built side by side and do not cover the entire lake.
Actual result
The city builds bridges wherever it can. He will build a bridge right along the shore or along the lake. This is especially noticeable since version 1.11.0 where the length of the city bridge can be much longer. However, this is not an issue resulting from this change.
Possible solution
If a game could check for land or another bridge in adjacent tiles before building a bridge over water, it might work like this:
Unfortunately, this is just an idea. I am not able to code it, or even verify whether it is possible at all. But if any of you have thought about it, it might be helpful. I have tentatively named the function Bridge building restriction. Could have settings where the control area would increase depending on them. Of course, the restrictions would only apply to bridges built by cities.
The text was updated successfully, but these errors were encountered: