Bouy/dock capacity

Got an idea for OpenTTD? Post it here!

Moderator: OpenTTD Developers

Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Bouy/dock capacity

Post by Wahazar »

Currently, waterway paths have infinity capacity, which somewhat break game balance.
Another issue is, that sea pathfinder causes lags, in case of large number of ships and large distances between buoys.
As an results, ships number is often limited or even zeroed in case of multiplayer servers.

I propose following solution:

[*]ships are reserving its path to nearest buoy/dock, if there is any free slot;
[*]ships are anchored at buoy/dock, if there is no free slots for proceed to the next buoy/dock;
[*]buoys have capacity limited to 4 ships (standing or heading to);
[*]docks have capacity limited to 3 ships (loading/unloading or heading to);
[*]similar to road vehicles, ship would proceed if is waiting too long, to avoid jam deadlock.

In my opinion, above proposal should solve both 'infinity waterway capacity' and 'pathfinder usage' problems (automatically forcing players with huge fleet to keep less buoys distances),
and bring interesting challenges with projecting efficient roadsteads.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
User avatar
supermop
Tycoon
Tycoon
Posts: 1104
Joined: 21 Feb 2010 00:15
Location: Fitzroy North - 96

Re: Bouy/dock capacity

Post by supermop »

Sounds like could be an idea for holding pattern stacks at some point distant to airports too, though i'd hate to have to build physical objects to denote where planes circle 20,000 feet above. A (maybe bad?) solution would be for a dock or airport runway to have a 'hold at this distant point' gui in the station window. Not sure it adds much to airports other than maybe a crude way to prioritize landings. for ships it would be neat to see ships waiting in the outer harbor / bay - landing at JFK at night I always like to look at the lights of all of the ships waiting off shore to dock in the morning.
Baldy's Boss
Tycoon
Tycoon
Posts: 1396
Joined: 23 Feb 2014 22:02

Re: Bouy/dock capacity

Post by Baldy's Boss »

Maybe airports could have flashing approach lights when their landing patterns were full up?
leifbk
Chairman
Chairman
Posts: 810
Joined: 23 Dec 2013 16:33
Location: Bærum, Norway

Re: Bouy/dock capacity

Post by leifbk »

I don't really see the problem with the "unlimited capacity" of ships. You can of course have 20 ships at a dock simultaneosly, but that's very poor economy. Ships make money by moving stuff around, not by sitting at the dock waiting for cargo. Besides, if you have breakdowns enabled, a long waiting time will seriously lower the ship's reliability. Therefore, it's always good practice to trim a shipping route to the smallest number of ships that can possibly handle the cargo, with the optimum capacity per ship at about one month's production. Thus, you can have a small distance between each ship, and never have to see two ships at the dock at the same time.
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Bouy/dock capacity

Post by Wahazar »

leifbk wrote:I don't really see the problem with the "unlimited capacity" of ships. You can of course have 20 ships at a dock simultaneosly, but that's very poor economy.
Of course heap of 20 ships waiting for same cargo is counter-productive, but many ships waiting for different cargoes while other can unload cargo simultaneously, are rather OP in comparison to road vehicle bays, train station or airports.
Additionally, many ships waiting (no matter for same or different cargo) are hard to manage (hard to check, which one is partially loaded, which one is empty, and which one is which, all collapsed together). Therefore idea of limited dock/buoy capacity is not only for sake of game balance, but also for more convenient use of ships, not counting aesthetic reasons.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
leifbk
Chairman
Chairman
Posts: 810
Joined: 23 Dec 2013 16:33
Location: Bærum, Norway

Re: Bouy/dock capacity

Post by leifbk »

McZapkie wrote:
leifbk wrote:I don't really see the problem with the "unlimited capacity" of ships. You can of course have 20 ships at a dock simultaneosly, but that's very poor economy.
Of course heap of 20 ships waiting for same cargo is counter-productive, but many ships waiting for different cargoes while other can unload cargo simultaneously, are rather OP in comparison to road vehicle bays, train station or airports.

Additionally, many ships waiting (no matter for same or different cargo) are hard to manage (hard to check, which one is partially loaded, which one is empty, and which one is which, all collapsed together). Therefore idea of limited dock/buoy capacity is not only for sake of game balance, but also for more convenient use of ships, not counting aesthetic reasons.
For aestethical as well as practical reasons I prefer to route different cargoes via separate docks, like here:
2080_bulk.png
2080_bulk.png (160.02 KiB) Viewed 4450 times
Bauxite and chemicals are loaded at separate docks, while gasoline is being unloaded at the nearest dock.

For checking which ships are loading and which are waiting, I recommend to assign a vehicle group for each route. With most of Andy's ships, for instance, it's extremely simple to check if there's a surplus.
Selection_033.png
Selection_033.png (35.72 KiB) Viewed 4450 times
You can easily see that ship no. 8 is loading while no. 9 is waiting. However, the overhead in this particular case is so slight that it's better to have a ship briefly waiting, rather than having the cargo waiting for too long.
User avatar
supermop
Tycoon
Tycoon
Posts: 1104
Joined: 21 Feb 2010 00:15
Location: Fitzroy North - 96

Re: Bouy/dock capacity

Post by supermop »

leifbk wrote:For aestethical as well as practical reasons I prefer to route different cargoes via separate docks, like here:
A problem with this solution, however, is that not all maps/playstyles/available funds will allow the construction of such a generous harbour with multiple docks. Additionally, some groups of ships will need to use the same dock, for example to transfer cargo, and depending on the situation you still may end up with an undifferentiated pile of boats.
User avatar
andythenorth
Tycoon
Tycoon
Posts: 5656
Joined: 31 Mar 2007 14:23
Location: Lost in Music

Re: Bouy/dock capacity

Post by andythenorth »

My objection to ships currently is that they have practically infinite capacity per tile. Other transport types in OpenTTD do not have that. ;)

For me, the primary challenge of the game is fitting routes into the landscape, especially when they contend for space/ capacity. So a transport type that has unlimited capacity per tile is not so fun to actually use. Of course, there are other play styles, but eh, that's my 2p.

Directly limiting the capacity-per-tile by restricting the number of ships per tile (as per trains) is probably unfeasible due to pathfinder issues. Limiting capacity-per-tile via stations and bouys is an interesting alternative approach, and roughly in-line with how RVs and planes work.
User avatar
Pyoro
Tycoon
Tycoon
Posts: 2558
Joined: 17 Oct 2008 12:17
Location: Virgo Supercluster

Re: Bouy/dock capacity

Post by Pyoro »

Disguise them with NewObjects.

Not that I disagree, as such.
J0anJosep
Traffic Manager
Traffic Manager
Posts: 139
Joined: 06 Aug 2011 15:51
Location: Spain

Re: Bouy/dock capacity

Post by J0anJosep »

McZapkie wrote:Currently, waterway paths have infinity capacity, which somewhat break game balance.
Another issue is, that sea pathfinder causes lags, in case of large number of ships and large distances between buoys.
As an results, ships number is often limited or even zeroed in case of multiplayer servers.
In my opinion, the problem with ships routes is that they suppose no challenge and they are really boring. If we take away the "infinity capacity", they will be less used than now.
McZapkie wrote:I propose following solution:
[*]ships are reserving its path to nearest buoy/dock, if there is any free slot;
[*]ships are anchored at buoy/dock, if there is no free slots for proceed to the next buoy/dock;
[*]buoys have capacity limited to 4 ships (standing or heading to);
[*]docks have capacity limited to 3 ships (loading/unloading or heading to);
[*]similar to road vehicles, ship would proceed if is waiting too long, to avoid jam deadlock.
You are suggesting to create bottlenecks for players who abuse ship routes.
And if the bottlenecks are really jammed, do as usual.

The idea seems easy to implement, but I don't see a real improvement for gameplay. I think it is a way of forcing players to use the correct amount of ships and less distance between buoys (something you can already do now as your own play style -or forced by an admin-).
McZapkie wrote:In my opinion, above proposal should solve both 'infinity waterway capacity' and 'pathfinder usage' problems (automatically forcing players with huge fleet to keep less buoys distances),
"Infinity waterway capacity" is not really that efficient if you take into account costs and breakdowns. As it has been previously said, a good use of ships and buoys is better than abusing with several ships waiting at the same dock.
Your proposal won't make "pathfinder usage" of ships really better. Using less ships and more buoys will make the problem less detectable, but that is not an improvement over what we already have now.
andythenorth wrote:Directly limiting the capacity-per-tile by restricting the number of ships per tile (as per trains) is probably unfeasible due to pathfinder issues.
In fact it is easily doable. You have plenty of free bits in water-related tiles. You can force the separation of ships, improve pathfinder use, use multi-docked stations... There are so many free bits in the water-related tiles you can even set which tracks and in which directions ships can take (water lanes).
Formerly known as Juanjo
User avatar
andythenorth
Tycoon
Tycoon
Posts: 5656
Joined: 31 Mar 2007 14:23
Location: Lost in Music

Re: Bouy/dock capacity

Post by andythenorth »

Juanjo wrote:You have plenty of free bits in water-related tiles.
The problem I see isn't free bits, it's having a performant pathfinder where the number of possible routes to evaluate might be very high (because ships have to consider every water tile).

I'm not arguing that can't be solved. ;)
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Bouy/dock capacity

Post by Wahazar »

Juanjo wrote: In my opinion, the problem with ships routes is that they suppose no challenge and they are really boring. If we take away the "infinity capacity", they will be less used than now.
I agree with first part of your thoughts, but logically results should be opposite. Ships are boring because there is no challenge, finite buoys/dock capacity bring some challenge, isn't?

If talking about buoys vs tiles capacity - in my opinion, buoys limited capacity is better solution both for pathfinder and player, because they are more predictable.
With buoys, player can easily check, if given path is saturated or not, and fix it, it is hard to estimate in case of tiles.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Bouy/dock capacity

Post by Alberth »

So how does one make two parallel paths with buoys where the path finder distributes ships between the paths, like the trains distribute themselves between two parallel tracks?
I don't see how to achieve that easily, as it would mean you have to change the ship orders.
Being a retired OpenTTD developer does not mean I know what I am doing.
J0anJosep
Traffic Manager
Traffic Manager
Posts: 139
Joined: 06 Aug 2011 15:51
Location: Spain

Re: Buoy/dock capacity

Post by J0anJosep »

andythenorth wrote:The problem I see isn't free bits, it's having a performant pathfinder where the number of possible routes to evaluate might be very high (because ships have to consider every water tile).
NPF and YAPF pathfinders are quite efficient, but they don't cache paths and they are called way too many times. Caching part of those paths would be an improvement. It would also make possible the separation of ships in different tiles. But this is off-topic.
Anyway, I think limiting the number of ships in docks or in buoys is a solution that seems a little arbitrary. Why limiting the ships heading to a sea buoy to 4 if the sea is big enough for more?
McZapkie wrote:I agree with first part of your thoughts, but logically results should be opposite. Ships are boring because there is no challenge, finite buoys/dock capacity bring some challenge, isn't?

If talking about buoys vs tiles capacity - in my opinion, buoys limited capacity is better solution both for pathfinder and player, because they are more predictable.
With buoys, player can easily check, if given path is saturated or not, and fix it, it is hard to estimate in case of tiles.
Yes, your idea brings a challenge for ship routes, but I don't see it involves any terraforming, building and design challenge. I think the difference in gameplay would be just checking if you have a right amount of vehicles in the route, which by the way won't make an improvement for pathfinders.
Formerly known as Juanjo
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Bouy/dock capacity

Post by Wahazar »

Alberth wrote:So how does one make two parallel paths with buoys where the path finder distributes ships between the paths, like the trains distribute themselves between two parallel tracks?
I don't see how to achieve that easily, as it would mean you have to change the ship orders.
Well, goto non-stop would make strict route, whereas goto allow to make detour.
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Bouy/dock capacity

Post by Alberth »

McZapkie wrote:
Alberth wrote:So how does one make two parallel paths with buoys where the path finder distributes ships between the paths, like the trains distribute themselves between two parallel tracks?
I don't see how to achieve that easily, as it would mean you have to change the ship orders.
Well, goto non-stop would make strict route, whereas goto allow to make detour.
Huh?

Let's try to model the panama canal. One side has a buoy A, and the other side has a buoy Z. For simplicity, let's assume A and Z have infinite capacity. (In reality, you'd probably have to make A1, A2, ...An, and Z1, Z2, ... Zm, but I don't want to go there.)

In the canal, you drop buoys B, C, and D to split the route into 4 shorter pieces, and ships do A -> B -> C -> D -> Z or vice versa. Now it's busy in the canal, and these buoys are becoming full. I need another route. I add P parallel to B, Q parallel to C, and R parallel to D, and now ships must choose between A -> B -> C -> D -> Z and A -> P -> Q -> R -> Z. How is "goto B" ever going to make a detour and use the latter route?

Maybe you intend to have "goto Z" directly instead of the intermediate buoys? Ships figure out by themselves which intermediate buoys they use?
My first thing I see then is that you add an additional layer of path finding problems on top of the old one. Ships not only have to find their way between buoys, they also have to find which buoys they should visit in which order. This drops max ships that you can run roughly to 1/2th of what we have now.

A few versions back we introduced intermediate buoys to reduce performance problems in path finding, adding a whole new path finding layer sounds like the wrong direction.


For a long enough panama canal, you are also not solving the problem. If the canal is longer than the maximum allowed distance from A to the next destination, then A -> Z is not accepted. You need some intermediate buoy (or sequence of buoys like above) in the canal to go to as intermediate waypoint. That brings you right back to my first described alternative of parallel routes.



Another nice one to ponder about is deadlock. Say I let 100 ships go from A going to Z, and 100 ships from Z to A. They meet somewhere in the middle. All buoys in the canal become full, and no ship can move any more, since its next buoy is also full.
Being a retired OpenTTD developer does not mean I know what I am doing.
J0anJosep
Traffic Manager
Traffic Manager
Posts: 139
Joined: 06 Aug 2011 15:51
Location: Spain

Re: Buoy/dock capacity

Post by J0anJosep »

Alberth wrote:Let's try to model the panama canal. One side has a buoy A, and the other side has a buoy Z. For simplicity, let's assume A and Z have infinite capacity. (In reality, you'd probably have to make A1, A2, ...An, and Z1, Z2, ... Zm, but I don't want to go there.)...
McZapkie's suggestion is trying to limit the number of ships assigned to each line or route. Players will have to solve the Panama Canal problem, but there is no need in ships having to choose a set of buoys.

If the Panama Canal has a length of 50 tiles and the player wants to create 2 routes, he can create 4 lines:
ABCDXXXXXXXABCDXXXXXXXABCDXXXXXXXABCDXXXXXXXABCDXXXXXXX...
where X are empty canal tiles, A are the buoys for route 1 east to west, B are the buoys for route 1 west to east,...
With this trick, players can put lots of routes and ships in the Canal. In this case, the suggestion makes ship routing more interesting (but I do not like the trick.)

There are other important issues like the fact that buoys are shared with all players.
Formerly known as Juanjo
Wahazar
Tycoon
Tycoon
Posts: 1451
Joined: 18 Jan 2014 18:10

Re: Bouy/dock capacity

Post by Wahazar »

Alberth wrote: Maybe you intend to have "goto Z" directly instead of the intermediate buoys? Ships figure out by themselves which intermediate buoys they use?
Yes, I assumed that "A order: goto Z" in case of saturated Z it would work similar to trains which cannot access destination points and start to detour to other stations.
Therefore, if player is lazy (everyone is) and make large distance between buoys, it would saturate path for larger number of ships, but anyone can put additional buoys between A and Z to fix problem with no need to change orders.

Of course it is only rough idea, I have no idea if it is feasible to implement this idea, honestly whole pathfinder implementation is like witchcraft for me :)
Formerly known as: McZapkie
Projects: Reproducible Map Generation patch, NewGRFs: Manpower industries, PolTrams, Polroad, 600mm narrow gauge, wired, ECS industry extension, V4 CEE train set, HotHut.
Another favorite games: freeciv longturn, OHOL/2HOL.
Post Reply

Return to “OpenTTD Suggestions”

Who is online

Users browsing this forum: No registered users and 7 guests