claiming port space without making port

Bug #1717363 reported by king of nowhere
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
widelands
Won't Fix
High
Unassigned

Bug Description

It is possible to conquer a port space without unloading the ship. That way you can prevent your enemies to make a port, without investing any resources yourself. See from the replay of worldsavior vs trimard (downloadable at http://www.widelands.org/~sirver/wl/170906_tournament_2017_replays/Round01/) what I mean.

it's clearly a bug, and must be fixed.

Tags: seafaring
Revision history for this message
SirVer (sirver) wrote :

> it's clearly a bug, and must be fixed.

I do not think it is a bug. It follows the rules we established for the rest of Widelands: you cannot conquer space that is owned by somebody else without exerting military control over it. I do agree that the behavior is undesirable. It will lead to each game with ships being a run for the first ship to "lick" all available port spaces. So I suggest we think about how we can modify the rules to fix this.

The problem is, I cannot think of a simple solution. If we say a port alone is not enough to reserve a port space this means that two players can just ping pong on a single port space - i.e. one starts building a port, the second one goes there as well and also starts building a port. That is also not good behavior.

We could change the rules there that around port spaces land is lost when there are no buildings of a player. But that would be surprising, since it is not the way widelands behaves elsewhere.

Are there any other suggestions?

Changed in widelands:
importance: Undecided → High
status: New → Incomplete
Revision history for this message
Venatrix (elisabeth) wrote :

From what I got from WorldSavior’s answer, even he wasn’t able to build a port there after he destroyed the construction site. (https://wl.widelands.org/forum/post/21343/ last line) So there’s definitely something wrong.

Revision history for this message
Benedikt Straub (nordfriese) wrote :

A suggestion for a possible solution: If there is no portconstructionsite on a port space and no player (except possibly the one who wants to found a colony there) has military influence over the port space, then it should be possible for an expedition ship to found a colony on this port space, conquering the other player´s unguarded land to do so.
That way, a port space would only be blocked if a player is actively constructing a port there or he has an occupied military building nearby that makes it impossible for another player to conquer the entire land required by the constructionsite.
This would fix both the rush-to-block-port-spots-problem (which I consider not a bug but an unfair strategy) and the issue that the same player can´t build a port there later (which is most certainly a bug).

Revision history for this message
king of nowhere (lainluigi86) wrote :

I would make a special code for expeditions that reverts the terrain to unclaimed if the ship is not fully unloaded, or if the port is not completed within a limited time.

Revision history for this message
kaputtnik (franku) wrote :

If feasible it would be enough to switch the order of building a port. Currently we have:

1. Click on "build a colony"
2. immediately the land gets conquered and a constructionsite is placed
3. Wares get unloaded of the ship

New:

1. Click on "build a colony"
2. Wares get unloaded of the ship
3. Land gets conquered and a constructionsite is placed

Or omit step 3 in current behavior and immediately unload all wares at once. All we loose is some animation if one is looking at the ship window then.

Additional observation:
In the replay one could see that the blue player has all wares for an expedition in his port and two ships, but no ship sails to the port to start an expedition. I guess this is because no port spaces are available anymore? Maybe this part of the code has to adjusted depending on the solution for this bug.

This bug is maybe related:
bug 1191296 "Seafaring: possibility to clear land of opposing players"
bug 1191297 "Seafaring: Add soldiers to the expedition"

Revision history for this message
Albert Einstein (w-aaaaa) wrote :

From my side, the land currently not in range of any military building (headquarters is also a military building here) is not "real conquered land". It is rather "temporarily conquered" and you can pick it.
This is my point of view.
With this, empty land, "conquered" by previous port building, can be captured by anyone. Really anyone. Also this can help with solving some issues if we will go to "military expeditions" (conquering port & building one).

Kaputtnik, with your idea there is small issue: if I've found a port space right next to enemy's one, I can establish my port, because he is establishing his own. This can be solved by some rules, but all changes are tricky here. You solve one problem and another is shown.

There are a few situations we have to cope here:

1. Two players started building port in the same space in a short time diff
2. Two players started building port in near space (less than 5 units) in a short time diff
3. One player stopped building port (destroy building site)
4. One player destroyed the ship before all wares were unloaded

In all the situations we have to find solutions what should be prohibited/ allowed and what can happened after that. Probably most of them are straight :)

Revision history for this message
GunChleoc (gunchleoc) wrote :

How about we disable the option to destroy the construction site for expedition ports?

Revision history for this message
GunChleoc (gunchleoc) wrote :

Or have the sip unload all its wares anyway?

Revision history for this message
king of nowhere (lainluigi86) wrote :

All those solutions seem workable.

Revision history for this message
SirVer (sirver) wrote :

I like #7 - that seems very simple and does not change the rules of Widelands at all. It is still possible to conquer a portspace and burn down the port, but that is just as expensive as keeping the port.

#3 is my second favorite, but feels like an exception to the other rules in Widelands. I think it would not be super surprising in this case since ports are special anyways, but I prefer #7.

#5 is hard to implement and similar to #7 it its outcome. #4 is a special rule, and also a bit hard to implement. #6 seems to be the same suggestion, at least I do not understand the difference.

My vote is for #7: change expedition port's constructionsite to not be cancellable.

Revision history for this message
Benedikt Straub (nordfriese) wrote :

Would #7 make the port under construction indestructible only while the wares are being unloaded or until the building process is completed?
If the latter, I´d prefer #7; otherwise #3.

Revision history for this message
SirVer (sirver) wrote :

until the building process is completed makes most sense and is probably easiest to implement IMHO.

GunChleoc (gunchleoc)
Changed in widelands:
milestone: none → build20-rc1
tags: added: seafaring
Revision history for this message
Teppo Mäenpää (kxq) wrote :

#3 has some funny side-effects: Many people dismantle military buildings far away from borders and thus have no military presence there. What if there is a farm on top of the port space, would it burn down?

GunChleoc (gunchleoc)
Changed in widelands:
milestone: build20-rc1 → build21-rc1
Revision history for this message
GunChleoc (gunchleoc) wrote :
Changed in widelands:
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.