Latest Posts

Topic: Ferries

Nordfriese
Avatar
Topic Opener
Joined: 2017-01-17, 17:07
Posts: 1949
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2018-07-24, 17:03

Based on an old bug report and forum thread, I´m planning to implement transport ferries.

A ferry is a kind of ship that travels along a predefined waterway. A waterway is like a road that connects two flags which both have to stand on the coast. The player needs to own both end points and all the space between to build a waterway. The ferry can carry one ware or one worker (plus the imaginary carrier that rows it).

Ferries are produced by the shipyard. It will be available on all maps. "Normal" ships will be produced only on seafaring maps, ferries on all. A ferry should cost about a fourth of the cost of a normal ship.

Obviously, having ferries can be a huge advantage that will break design concepts of some maps, so it first needs to be decided how to keep this problem small.

  • It was suggested at the mentioned link to have chance of boating accidents which increases with the waterway´s length. The longer the ferry travels without stopping, the higher the risk that the freight drops overboard or the ferry even sinks completely.

  • Another option would be to demand that the flags between which the player wants to build a waterway already need to be in the same economy. That way, waterways could only be used as shortcuts, never to reach unaccessible territory. This is the option I prefer.


Top Quote
fuchur

Joined: 2009-10-07, 13:01
Posts: 186
Ranking
Widelands-Forum-Junkie
Location: Germany
Posted at: 2018-07-24, 21:20

Ferries are nice idea and could be helpful as a shortcut. I remember them from Settlers 1. There they were implemented as small boats like a canoe. And if I remember correctly they could transport wares only, not workers. But that was a different game, and we can decide to transport workers as well. Just wanted to mention it for completeness.

Now a few comments on your thoughts concerning breaking map design concepts. I think I wouldn't like random events like accidents. So I prefer as well that one can install a ferry only if both end points are in the same economy.

But then, and correct me if I'm wrong, it would mean one could build a waterway for a ferry between two nearby islands once you own both opposite coast points and all the water in between. That's because I think different islands count as the same economy as long as you have a port on both of them. Of course that would only work if the islands are not too far away from each other. But is that a wanted possibility? I think there are quite some maps where several waterways between two islands could be established. This could increase transportation speed quite a lot.

I'm not sure if that would be a change too big. Therefore I'd suggest to restrict the ability to build a waterway between two flags to only be possible if there is an already established road connection between the flags. That means you can have ferries crossing rivers or fjords or lakes, but only between points on the same island.

Now some thoughs concerning the production of ferries. There should be a possibility to stop the shipyard from building ships or ferries if one needs the other one. Will the ferries be a ware and get stored in a warehouse? Then one could set a target quantity. But this is not possible for ships.

One has to think if those waterways could interfere with ships. Think of a long river (or long narrow lake) with ports at both ends and waterways crossing.

In the bug report a maximum range for waterways is mentioned. That could help to prevent map breaking as well. People more familiar with the official maps than me could tell better. Also that maximum range should be choosen careful. If it is too low waterways are maybe not of great use.

Anyway, thanks for starting to work on this. face-smile.png


Top Quote
ypopezios
Avatar
Joined: 2018-04-19, 23:22
Posts: 220
Ranking
Widelands-Forum-Junkie
Posted at: 2018-07-24, 22:37

-1 for accidents, because they break consistency. If accidents are ever considered in Widelands, they should apply to the whole game, not just to one aspect of it.


Top Quote
king_of_nowhere
Avatar
Joined: 2014-09-15, 17:35
Posts: 1668
Ranking
One Elder of Players
Posted at: 2018-07-25, 01:34

I myself suggested a milder version: ferries are only established among ports, and assinged to a specific waterway between two ports. it would make sea traffic much easier to handle in maps with many islands


Top Quote
einstein13
Avatar
Joined: 2013-07-28, 23:01
Posts: 1118
Ranking
One Elder of Players
Location: Poland
Posted at: 2018-07-25, 08:37

As I remember from Settlers II, the ferries (there: boats) has the limit of 4-units length route. This is quite short distance, but it was enough to prevent most collisions with ships. Of course the game was simple and the collisions were not possible. I would left that.

But there was no limit of "economy joins". The maps were just designed not to connect any of them via ferries. Also you couldn't use ferries to move people. The problem is that a person have to wait for a ferry next to the flag. This can be hard to implement. Also moving people between two economies make it one working economy. With ships it is done a bit harder and with more control on map designer side.

My voice on "voting" on this topic is:
I don't want to add any of the randomisation here (no accidents) - definite NO here. Also collisions between big ships and small ferries should not appear (it can cause lots of bugs and strange traffic jams) - here small NO. for limiting length of route - definite YES, the limit from my side should be 4 or 6 units (preferable 6). I think that it should not be limited by economies - you should be able to move wares between two separate and close enough islands. But you shouldn't be able to move people. The only exception I can think about here is a builder - he should be able to go to the new island and build a port there. And the last limit: all the water route should be placed inside player's territory. Losing it means that the route is destroyed and the ferry can be lost too (the carrier can go to the closest shore and left the boat there).


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/
backup website files: http://kartezjusz.ddns.net/upload/widelands/

Top Quote
ypopezios
Avatar
Joined: 2018-04-19, 23:22
Posts: 220
Ranking
Widelands-Forum-Junkie
Posted at: 2018-07-25, 08:48

king_of_nowhere wrote:

I myself suggested a milder version: ferries are only established among ports, and assinged to a specific waterway between two ports. it would make sea traffic much easier to handle in maps with many islands

As described in various places, ferries are a different concept, not supposed to replace ships, and shouldn't be limited by ports. The problem of sea traffic can be solved in various other ways (and in a separate thread).


Top Quote
kaputtnik
Avatar
Joined: 2013-02-18, 19:48
Posts: 2439
OS: Archlinux
Version: current master
Ranking
One Elder of Players
Location: Germany
Posted at: 2018-07-25, 08:59

Nordfriese wrote:

A waterway is like a road that connects two flags which both have to stand on the coast. The player needs to own both end points and all the space between to build a waterway.

Maybe a ferry should also be restricted in distance: Say a ferry can only act when the space between two flags is between 2 and 3 nodes. So a ferry will be used more like a bridge, a shortcut over a river. And not as a replacement for a ship between two islands.

  • It was suggested at the mentioned link to have chance of boating accidents which increases with the waterway´s length. The longer the ferry travels without stopping, the higher the risk that the freight drops overboard or the ferry even sinks completely.

-1

  • Another option would be to demand that the flags between which the player wants to build a waterway already need to be in the same economy. That way, waterways could only be used as shortcuts, never to reach unaccessible territory. This is the option I prefer.

+1

king_of_nowhere wrote:

I myself suggested a milder version: ferries are only established among ports, and assinged to a specific waterway between two ports. it would make sea traffic much easier to handle in maps with many islands

I think this should be an option for ships in general, but not for ferries. Naval transportation of wares is currently a bit fuzzy, imho. Especially with a lot of ports...


Fight simulator for Widelands:
https://wide-fighter.netlify.app/

Top Quote
einstein13
Avatar
Joined: 2013-07-28, 23:01
Posts: 1118
Ranking
One Elder of Players
Location: Poland
Posted at: 2018-07-25, 09:00

Oh... I forgot about Settlers II 10th anniversary. I remember that I joined an island with a main continent. All the wares wanted to go through the ferry/boat, not the ship. That was a bug from my point of view, because the traffic should be distributed in both sides.


einstein13
calculations & maps packages: http://wuatek.no-ip.org/~rak/widelands/
backup website files: http://kartezjusz.ddns.net/upload/widelands/

Top Quote
Nordfriese
Avatar
Topic Opener
Joined: 2017-01-17, 17:07
Posts: 1949
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2018-07-25, 09:41

There is rarely such clear consensus not to have a particular feature face-smile.png No accidents, then.

One has to think if those waterways could interfere with ships. Think of a long river (or long narrow lake) with ports at both ends and waterways crossing.

These "waterways" will be nothing more than a number of buoys marking the way for a ferry. Ships can pass unhindered. Collisions are not possible.

Now some thoughs concerning the production of ferries. There should be a possibility to stop the shipyard from building ships or ferries if one needs the other one. Will the ferries be a ware and get stored in a warehouse? Then one could set a target quantity. But this is not possible for ships.

Perhaps it would be easier to implement a ferry as a kind of worker (with target quantity). How about this design:

The shipyard stays as it is. Ferries are produced by a Ferry Depot, which combines productionsites and warehouse features. The Ferry Depot produces ferries. It has a port dock attached to it (wherefore it can be built only near water, but not only on port spaces), and it stores ferries that are not currently assigned to a waterway; a ferry can enter the depot by rowing onto the attached dock. When a waterway is destroyed, the ferry goes to the nearest depot, or if there isn´t one, it behaves like any lost worker: It rows around and eventually sinks.

And if I remember correctly they could transport wares only, not workers. But that was a different game, and we can decide to transport workers as well. Just wanted to mention it for completeness.

I believe wares-only transport is much easier to implement. That´s another point for worker exclusion face-wink.png

Therefore I'd suggest to restrict the ability to build a waterway between two flags to only be possible if there is an already established road connection between the flags. That means you can have ferries crossing rivers or fjords or lakes, but only between points on the same island.

Checking whether the flags are in the same economy is trivial, but this may be really hard to implement… first, I´ll implement the same-economy-rule, and when we have something that works, we can consider this again.

Maybe a ferry should also be restricted in distance: Say a ferry can only act when the space between two flags is between 2 and 3 nodes. So a ferry will be used more like a bridge, a shortcut over a river. And not as a replacement for a ship between two islands.

3 nodes is a bit very few imho. But we could have a tribe-dependent range limit. Atlanteans and Frisians are seafaring tribes, they´d get a high limit like ~8. Barbarians get less, about 6, and the Empire dislikes the sea and gets only 4.

Also, I want to propose the restriction that a flag can have no more than one waterway attached to it.

I think that it should not be limited by economies - you should be able to move wares between two separate and close enough islands. But you shouldn't be able to move people. The only exception I can think about here is a builder - he should be able to go to the new island and build a port there.

Permitting worker transport and restricting it to builders can be really difficult. And permitting to reach unreachable territory with ferries would break design concepts of many maps – play for example No Metal Challenge with a different player than blue, and consider how you´d like it when the AI can build ferries to reach the other shore face-wink.png

And the last limit: all the water route should be placed inside player's territory. Losing it means that the route is destroyed

+1

and the ferry can be lost too (the carrier can go to the closest shore and left the boat there).

That would be really too much effort… I´d prefer to make it work as described above about the Ferry Depot.

Oh... I forgot about Settlers II 10th anniversary. I remember that I joined an island with a main continent. All the wares wanted to go through the ferry/boat, not the ship. That was a bug from my point of view, because the traffic should be distributed in both sides.

Definitely an issue that will need watching, but that can be taken care of when everything else works.

Edited: 2018-07-25, 09:41

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 14:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2018-07-25, 09:49

We are agreed then on not having accidents, and on restricting the length of the route.

The UI could be:

  1. Place a flag-sized ferry stop, go into "ferry route building mode" similar to road building mode, then have a radius where the second stop can be placed, or an existing stop be linked. A route will be created.
  2. Both source and target location are restricted by being near water, and we can also reuse the reachability code we have for seafaring checks, to make sure that only spots adjacent to the same body of water are offered.
  3. Do we want to have a UI associated with the ferry stop, to choose which wares will be transported?

We could also make ferry stops small buildings, which employ a ferryman who will first build a ferry and then start shipping?


Busy indexing nil values

Top Quote