Replies: 9 comments 1 reply
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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? |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
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. |
Beta Was this translation helpful? Give feedback.
-
I've been trying to see how the city's budget could prevent the weird building of bridges, and I really don't see it. No matter how complex the mechanism may be, it will not prevent bridges from being built in irrational places. In general, I am also not convinced of the very concept of the budget, at least in the form and assumptions you presented. It's not that I necessarily want to break someone else's idea, for example because I consider mine to be better (facepalm), I just see some significant shortcomings of such a solution.
The main effect of such an assumption will be that the cities will have the shape of a circle, which means that you will strengthen one of the disadvantages of OTTD, which are identical and symmetrical-looking cities.
This would reinforce another OTTD disadvantage of homogeneous cities without suburbs. In my opinion, cities should keep some proportions between the different types of buildings. Here, something very cool is how the ITL addition changed the way the city developed. It's not perfect either, because sometimes the whole city can be a suburb with small houses, but I think it shows a very good direction.
Creating as big cities as possible is one of the goals in this game for many players. Obstructing development for the player to have to do more than build 5 stops would even be good, but strictly restricting that would not be nice at all. I think that the way cities develop would be a very good topic for a separate discussion. Asymmetric development, irregular layout of city zones, new definition of city zones (center, old city, suburbs, industrial zone, ...), impact of urban transport and goods supply on development, districts, better road layout (including dual carriageways, triple with tramway between and intercity roads), ... This is something definitely worth improving. However, I don't think that it makes sense to combine this with the limitation of the location of bridge construction. In my opinion, a city could have something like a budget. This could be de facto multiple target budgets, something like a noise limit in a city that would limit the excessive number of specific buildings (including bridges), and at the same time define the proportions of the number of different buildings. However, this will not affect where the structures, including bridges, will be built. It shouldn't, because assigning too many functions to one mechanism won't be good. Returning to the topic of the location of bridges... I don't want to force anything, firstly because I really don't know how complicated it can be (or not), but I would like to point out, for airports example. Why would such a mechanism not work for bridges? (Concept including a target budget for bridges) 0 - The bridges length limit is not exhausted > the city can build another bridge > ... > the city is trying to build a bridge: Initially, I assumed that the terrain the game would check would be a pattern (the farther from the bridgehead, the wider the range) that would reduce or increase the restrictions by changing one value. Honestly, I don't know how to write it down, although it is certainly possible. Another solution would be to use templates for different bridge lengths (and direction). Currently, the maximum length of a city bridge is practically unlimited (it's probably a bug), so creating as many templates is senseless. But it would be possible to create templates for lengths up to 20, and the middle part above would use the same template. An alternative solution could be to check whether there is any other bridgehead (i.e. another bridge) at a certain distance from the bridgehead of the planned bridge. Here, only bridgeheads facing the same direction would be considered. The minimum distance can be variable and defaults to, for example, 2/3 of the length of the planned bridge. |
Beta Was this translation helpful? Give feedback.
-
In many cases, this would be an even better solution. However I don't think it's simpler. Searching for a path is probably more entertaining than checking tiles within a certain radius? Anyway, more than a year has passed and the problem is still present. A minor issue prior to change #8439 now makes any map with more water look ridiculous after a while. I encounter this bug in almost every game... Please, do something about it. It doesn't have to be any complicated solution. Even reverting the above-mentioned change or limiting the length of city bridges would improve a lot. Before the change, the maximum length was 12 - this value gave quite good results and I think was a good compromise between different expectations. Adding a setting that allows you to freely define the maximum length of city bridges could also be useful, but really, even the simplest change will improve a lot here. |
Beta Was this translation helpful? Give feedback.
-
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.
Beta Was this translation helpful? Give feedback.
All reactions