Started by Matthew, April 17, 2022, 01:13:30 AM
0 Members and 1 Guest are viewing this topic.
Quote from: prissi on April 17, 2022, 08:50:50 AMThe 2nd Kammon is 3.4 km long and is 58 m below sea level. That is pretty much undersea. There is also the Hudson tunnel in New York from 1927, which is 23 m below sea level. I think that limited length undersea tunnels were feasible from the 1920ies.
Quote from: Matthew on April 17, 2022, 01:13:30 AMFrom a gameplay point of view, I don't want to see the maps turn into a race to build very long undersea tunnels
Quote from: PJMack on April 19, 2022, 12:32:52 AMI updated the PRs for restrictions on depth below water level for underwater tunnels. The value for "sea_depth_limit" is the number of tiles below the surface of water for a tunnel beneath a water tile. It is mutually exclusive to "depth_limit" so only one of those can be above zero.
Quote from: SiriusWhich leads us to the most difficult question "What is a realistic restriction?"The history of the channel tunnel dates back to the 19th century.After a geological survey in 1866, construction of cross-Channel tunnel was considered feasible.In the 1880s, exploration tunnels were started on both ends of the tunnel. The project was stopped for political reasons.Another proposal came up around 1930. Again, it was stopped for politicalreasons.In the end, it is very difficult to derive an introduction date of sub sea tunnels from that information,
Quote from: Octavius on April 19, 2022, 10:52:29 AMBuilding a Channel Tunnel in the 1880s would have been highly optimistic (or an investment scam). You really need electric trains, electric drainage pumps, electric drills, good steel and decent concrete. By the 1930s it may have been technically feasible, but probably not economical in competition against ferries. But then, if you started construction in the 1880s, I don't think the tunnel would be ready before 1930.
Quote from: OctaviusThe issue is that the limits on tunnel building are hard to simulate. Length is a problem. When the tunnel gets longer, more water leaks in and has to be pumped a longer distance to get it out again. The drainage pipe gets both longer and wider; the pumps must handle more flow and pressure while getting their power from farther away. There are similar issues for ventilation. And the longer the tunnel, the more likely it is that you cannot avoid difficult rock conditions. So cost increases faster than linear with length. Rock conditions under the Straight of Dover are very easy.
Quote from: PJMack on April 17, 2022, 08:25:30 PMAs to limiting tunnel length, that was discussed however the discussion did not resolve a practical method of doing so. If a method can be found that is simple enough to code, algorithmically efficient, realistic, and intuitive to (new) players, then length limits would be reconsidered.
Construction could not be completed. Undersea tunnels of this type must be built within 500 metres (4 tiles) of a land tile.
Quote from: Sirius on April 18, 2022, 12:54:06 PMI agree with that concern. A realistic restriction is desirable but it should not be more restrictive than reality.If that restriction means that we cannot build an underwater tunnel of ~7km length around the 1870s, then it might be better to not have such a restriction at all.Same goes for 50km undersea tunnels around the 1970s
Quote from: OctaviusMaybe every tunnel tile could keep track of the distance to the nearest entry.
Quote from: Siriusbut it seems quite clear to me that is is not a good idea to have a strict magical date which suddenly allow us to construct tunnels of any length underneath the ocean, where it was truly impossible to construct a 10km long tunnel underneath the ocean just one month ago.
Quote from: SiriusImho it's a good compromise address this issue with construction and maintenance costs from both, a realistic and gameplay perspective.James suggestion might be sensible as well.
Quote from: Matthew on April 19, 2022, 04:53:45 PMBased on the points above, it seems to me that the critical factor is not so much the length of the tunnel as the distance from a land point where you can put a ventilation shaft. This seems to me to be easy to implement in code. Players can only build a tunnel tile if it is within a certain distance (set in the tunnel type's .dat) of a land tile. For example, to represent the 'one kilometre tunnels' that were feasible until the 1970s, the severn-tunnel type might have a limit of 500m = 4 tiles (so one kilometre total undersea length). I think that checking for ground vs water tiles only requires a 2D search, so that requires checking 25 tiles around each undersea tunnel tile (the check is not required for tunnel tiles under land). That must then be multiplied by the length of tunnel that the player is trying to build. If a player tries to build a 100-tile undersea tunnel then their client might freeze, but other clients and the server won't need to handle this, and players will quickly learn this is pointless because if construction fails, they would see an error message, such as:Code Select ExpandCode Select ExpandConstruction could not be completed. Undersea tunnels of this type must be built within 500 metres (4 tiles) of a land tile.Does this suggestion meet the constraints that you have very sensibly set?
Quote from: Matthew on April 19, 2022, 04:53:45 PMI hope the points above justify a tighter limit (one kilometre) in the 1870s.
Quote from: Sirius on April 19, 2022, 06:16:57 PMI don't think so.It is a concern to me that any (newly introduced) restrictions in simutrans-extended do not disallow the construction of objects that existed in the real-world.The Severn tunnel is real. It is 7 km in length, roughly 3.6 km under water and was built in the 1870s.If simutrans-extended simulates the ventilation system of that tunnel in detail, so it is possible to construct that tunnel on a real-world heightmap in its original place, but not in a place where it might not have been possible to build such a tunnel, then fine! Go for it!If it doesn't, just don't be over-restrictive and generally permit construction of tunnels that are 7km long in total and 3.6 km under water.
Quote from: PJMackAs for the algorithmic efficiency, though not ideal I think it would be efficient enough.
Quote from: jamespetts on April 19, 2022, 05:22:04 PMMatthew's idea is an interesting one - but surely the sensible way to implement this would be to look for a land tile within x kilometres from the current tile along the length of the existing (or planned, for tunnels built by clicking and dragging multiple tiles at once) tunnel, rather than in all directions? It does not assist ventilation, after all, if there is some land on which a ventilation shaft could in theory be built a kilometre to the side of the tunnel. This is certainly a viable algorithm, and much easier and less computationally intensive than a two dimensional search in all directions.
Quote from: jamespettsMore generally, ventilation based restrictions have been discussed before, but these are potentially complex. We perhaps need more detailed historical research to be sure that any given proposed set of restrictions will not produce arbitrary results or results that are significantly at odds with reality.
Quote from: PJMack on April 19, 2022, 04:55:03 PMAs for referencing proposed tunnels, we need to keep in mind that there is a difference between what engineers thought was feasible and what actually was. The first couple of attempt to build a tunnel under the Thames failed (see https://en.wikipedia.org/wiki/Thames_Tunnel#Construction).
Quote from: PJMack on April 19, 2022, 05:30:55 PMMatthew, our posts seam to have crossed paths.
QuoteAs far as error messages when routing of the tunnel, that would be major undertaking given the way the routing algorithms are currently written.
QuoteThe idea behind using the depth is that on most maps, there is an approximate correlation between the water depth and distance to shore. Your solution would not depend upon the map generator, so the question becomes whether or not the extra accuracy is worth the extra complexity?
Quote from: Matthew on April 19, 2022, 08:37:35 PMSo would this require PJMack to implement the A* algorithm or something similar to trace all possible routes along the tunnel(s) until a land tile was reached? If so,
Quote from: Matthew on April 19, 2022, 04:53:45 PMJames and others have mentioned good points about depth. But after reading more, it does seem that the critical restraint on undersea tunnels is ventilation. Without ventilation shafts, fuel-burning vehicles will asphyxiate their passengers and crew. The roughly 'one kilometre tunnels' (Boston, Hudson, Kanmon, and Severn) were short enough that they did not need ventilation shafts in their underwater sections, because the gap between river banks/coasts were small enough to ventilate from land. A genuinely undersea tunnel needs to solve this problem as do sufficiently deep tunnels under land.
Quote from: jamespetts on April 20, 2022, 04:28:09 PMI suspect that we may well get it wrong if we guess.
Quote from: PJMack on April 20, 2022, 06:01:05 PMAs in the other thread, I suspect the conclusion to this discussion would be that ventilation based length limits would be too complicated, not only for coding, but for players to understand.
Quote from: Matthew on April 27, 2022, 01:55:23 AMI said that I would post an example of one of Phystam's maps. Here is the Solomon Islands map that was a popular server last year:I can't figure out a way to accurately determine undersea height from a savegame, but you can see that all the sea is displayed with shallow graphics. I believe this map was generated from a heightmap. Being able to prevent people connecting distant islands with tunnels might be desirable on a map like this.