Topic: Ferries
Nordfriese Topic Opener |
Posted at: 2018-08-03, 16:17
No, there´s also a road connection out of sight. But it´s much longer, that´s why wares are sent through the ferry (the warehouse is in the north). The builder and the carriers for the southern roads used the land route though, as they should.
The pathfinder already works like this: Waterways are treated exactly like roads when routing wares, and excluded when routing workers. This was a fairly trivial change actually. But economies are mainly responsible for handling supplies and requests. Whenever a building needs a Top Quote |
einstein13 |
Posted at: 2018-08-03, 21:13
Ok... so let me test it. Where I can find Windows binaries? My point is that I can try to make separate economy by splitting current one. Also I would like to see what happen with all ware and worker requests. Maybe changes aren't so drastic as you are talking? Maybe there is a smooth solution? Can you send a link to the code reference where you have found those problems? einstein13 |
hessenfarmer |
Posted at: 2018-08-04, 00:24
https://ci.appveyor.com/project/widelands-dev/widelands/build/_widelands_dev_widelands_ferry-3552 Top Quote |
Ex-Member |
Posted at: 2018-08-04, 09:22
It may be advantageous at some time to revisit the ware request/allocation code anyway, if this also make ferries easier then it is win/win. A problem situation. You build a port by an expedition, the port needs some sort of defence quickly and often there are trees and rocks to clear. You start building two or three buildings and goods are allocated from anywhere in the economy. Quite often the military building is waiting for the last log or stone which is travelling around the map while the warehouse next to the build site is filling with logs and stone from the buildings finished first. It would be better if the allocation of wares was determined by the distance and if a new producer/supply comes online the the allocations are recalculated. Top Quote |
teppo |
Posted at: 2018-08-04, 09:32
Annoying indeed. On the other hand, routing of wares is a significant contributor to Widelands CPU load already. If wares in transit would be continuously rerouted, this could get worse. Top Quote |
ypopezios |
Posted at: 2018-08-05, 07:42
We should design ferries as a complete feature and reach there in steps. Tribe-specific limits seem pointless to me, cause this is really a map feature. I would prefer maps to have options, like it's currently done with fog-of-war. In ferries' case, that could be an option among no-ferries (could be the default for old maps), short-distance-only ferries (maybe a value of 6), and unlimited-distance ferries (like land-roads). No more bothering about breaking existing maps. And later we can introduce shallow waters, to let map-designers fine-tune their maps. Likewise, ferries should finally be able to transfer workers (I believe that's inevitable). And it's not as hard to be coded as it initially seems (but for sure it will have to wait for B21). The needed code should not touch economies and it has nothing to do with how ships do it (e.g. no special building). Ships should get improved independently of ferries and there is no need for a third type of small boats. Have a look at my recent effort of ship-scheduling: 32-bit 64-bit
and
I have planned to revisit the ware request/allocation code (that's a big win for many reasons), but this has to happen in smaller steps. Continuous rerouting won't happen. But big (port-level / warehouse-level) rerouting is in the plans. And small (flag-level) rerouting is already implemented for the basic case. If you want to help to that direction, you can test current step here. But let's limit this thread on ferries. Edited: 2018-08-11, 21:36
Top Quote |
einstein13 |
Posted at: 2018-08-05, 13:21
I have tried to test the appveyor build. I couldn't build any ferry (building was consuming wood and nothing happen). Also I have found that if you destroy a part of the road, new economy has a problem with connecting with old one (rebuilding destroyed road). Rebuilding roads is a common situation. There will be many situations where you build a part of the roads, build some waterways, destroy roads and rebuild them again. With current code, waterways will not work any more. Edited: 2018-08-05, 13:23
einstein13 |
WorldSavior |
Posted at: 2018-08-05, 17:37
Very good idea Wanted to save the world, then I got widetracked Top Quote |
GunChleoc |
Posted at: 2018-08-06, 10:53
+1 for the map-specific limits Busy indexing nil values Top Quote |
Nordfriese Topic Opener |
Posted at: 2018-08-12, 07:30
Fixed an annoying crash and a couple of other bugs now. The branch is testable again. Ferries can now be built on any shore, road rendering works again, and the ferry is visible when shipping wares.
Good idea, but I´m afraid this exceeds my programming abilities, as it will require changes to the editor GUI and the map_io. If someone would prepare a branch for me that takes care of that, I´d implement it like this… I have thought more about waterways connecting separate economies. The request-handling code could probably be adjusted easier than I thought, but this will necessarily break the economy´s handling of worker demands anyway: Assume you have a warehouse with shovels in the southern half and an unoccupied foresters house in the northern part of the economy. The parts are connected only by waterway. A shovel will be turned into a forester to fulfill the demand, but the forester can´r reach the site, so another shovel is used up for another forester and so on. This is problematic in many cases also because of this bug. Top Quote |