Tree growth overcomes port spaces

Bug #1230255 reported by _aD
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
widelands
Fix Released
High
Unassigned

Bug Description

Three hours into the Twin Lagoons map I sent off an expedition and found the a port space. It was so overgrown with trees that I only had space for a single building, so of course built a lumberjack.

Tree growth should not be allowed within the boundaries of port spaces so that they are not rendered unusable after a time.

Related branches

Revision history for this message
_aD (ad-simplypeachy) wrote :
Revision history for this message
Astuur (wolfsteinmetz) wrote :

And I meant "buid one early" of course.

Revision history for this message
_aD (ad-simplypeachy) wrote :

Widelands is not about rushing. If the map designer meant me to build an early port or be punished, it would have been scripted. I also did not have suitable resources to build one earlier.

Revision history for this message
SirVer (sirver) wrote :

Also, what happens if you land (with a ship) on a port space that is overgrown with trees? You can build the port (there has been special code added in to clear immovables from these places - this code would not have been necessary without the tree spreading), but you might have zero space to build houses. We could add in logic to clear more room around the port, but depending on the terrain, it might be that there is still no space.

Where the ports are and how they are laid out - easy to access, under trees and so on - should really be the map makers decision and not times and randomness.

Changed in widelands:
status: New → Incomplete
Revision history for this message
_aD (ad-simplypeachy) wrote :

Playing match 8 in the 2013 tournament, I landed on one of the important port spaces, only to find I could not build a single building.

Revision history for this message
_aD (ad-simplypeachy) wrote :
Revision history for this message
Kristin (ha-kripo) wrote :

From a map designer perspective (esp. for map Crossing the horizon) I also found it difficult sometimes to control the port spaces because of the growing trees. When I test-played the map, I didn't found my own port space and then modified the map so that there are less trees directly next to the port space.
It's not a big problem in this map, because the port space is near the HQ, but it gives a bit of the map creators options to randomness.

Revision history for this message
Astuur (wolfsteinmetz) wrote :
Download full text (3.8 KiB)

It's not by chance that the discussion about the automatic tree growth (and spreading) arise again now, that we have seafaring.
A new port is an insertion point - just like your HQ. Differently from your HQ, however, you cannot very well determine at what time into the game a port space will be discovered and used.
So,the space may well be overgrown by that time -- and indeed the player currently has no good way to cope with such a situation.

Do we need a solution for that? Yes, we do!

The radical solution is to get rid of the ATG altogether.
As for the rest of the game (not port-space related), and the role that the ATG (automatic tree growth) plays, it has remained the same and the discussion about its pros and cons has been up before.
There were some then, who would have liked to discontinue the ATG feature even before seafaring ever happend.

Doing so, would make the trees static. No juvenile forms, no growth, no dying of trees, no spreading and no adaption of a forest to the terrain environment by inter-species rivalry.
Trees would be placed by the map-maker and disappear only when cut down. Full control, yes, .. but full control of a graveyard.
In my opinion this would mean a grave loss to the game, but I will not further discuss that here.
I am only mentioning it for fairness, so that all know that I am a dedicated advocate for KEEPING the
tree-growth system. :)

I would like to concentrate on this port problem, for the moment since we have all learned to cope with the other implications of ATG to the game. So it has not the same urgency..
I am well aware however, that the radical solution that some feel tempted to introduce is a valid one.
And also extremely easy to do.

Since I have come to love the ATG-feature, (I was against it initially) I would like to save it, but the port space problem must be overcome.
Maybe it helps for decision-making, if we first had a possible solution to the immediate port-space problem?
It may be easier then, to fathom out, whether it is worth the pain for some programer to start working on it.

So - what could be a solution?

Obviously, some code that would clear the space enough to build a port and a lumberjack's hut, would do the trick.
Boat finds port space, user issues the command to use it, space is cleared.
But it may look awkward to have that clearing pop up out of thin air.

The second thing that comes to my mind is something that would do the same but make WL even more interesting to watch.

Imagine the following:
A ship on expedition circles an island in search of a harbour place.
It finds one, but the space is overgrown with trees.
The ship now lowers a plank and sends a lumberjack ashore, who immediately starts to do his work, clearing the ground. He transports the trunks into the ship for the time being.
As soon as possible, a port is built, and the functionality of a warehouse is removed from the ship and taken over by the port (as usual). The lumberjack's work continues until there is enough space for a Lumberjack's hut, so that things can procede normally.

What would be needed?
It may not be necessary to have code that determines, whether the ground must be cleared.
However we then ...

Read more...

Revision history for this message
SirVer (sirver) wrote :

The discussion about three spreading is alive and going on again at bug 654078. I admire your powerful defense of the tree spreading feature - and I invite you to point me to a replay of the current tournament where the tree spreading feature added to the game in a non-negative fashion. I also do not buy into the graveyard description - animals never vanish, never pop into existance; they just move, still we never had any complains about them not being realistic in any ways.

I digress though. Your suggestion with the lumberjack is very hard to implement - it will mean moving productionsite code and warehouse code into the ship in some way. And most of this code is strongly bound to Economy code - but the ship is no Economy (or maybe it is an economy on its own). That said, however, we also have to solve the problem what happens if the port is already taken by another player - warfare from the ships come to mind and for that the ships have to behave like a militarysite. So some large scale refactoring for ships is needed anyways and it might be possible to sneak warehouse and productionsite into this as well.

So my summariy: good idea probably, hard to implement but we may need to go down a similar path for other reasons just as well.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for widelands because there has been no activity for 60 days.]

Changed in widelands:
status: Incomplete → Expired
Revision history for this message
SirVer (sirver) wrote :

Setting to confirmed - noone has a good solution to this problem yet though, but I am sick of discussing the tree spreading feature right now - let's revisit in a few monts.

Changed in widelands:
status: Expired → Confirmed
importance: Undecided → High
Revision history for this message
fuchur (fuchur77) wrote :

I don't know if this is difficult to implement, but how about forbidden regions for trees?

I know the tree growth depends on the terrain type. But here I suggest that each spot in the map can be marked in a way that no tree can grow on it, independent of terrain type. So the map designer can make sure that at least the port space, a place for a lumberjacks hut and enough space for a path connecting them stays clear. And if the map designer likes to make it more difficult this feature doesn't need to be used. And maybe some designers may find it useful in other situations, too.

Revision history for this message
Felix Atagong (atagong) wrote :

I am not sure if this is possible, but in my opinion a port should be a multi-purpose building with at least four buildings in one: a warehouse (that is already the case), a military building, a tree cutter and a quarry.

An expedition ship could contain, next to goods, also a woodcutter, a stone digger and at least a dozen of soldiers (perhaps the amount could be chosen before starting the expedition). Or these could be send automatically to the port after it has been build, if there are trees and stones in the vicinity.

Revision history for this message
Frank Pieper (frank-pieper-1) wrote :

WHERE LEFT MY OWN POST HERE? CODE RED!

Revision history for this message
Frank Pieper (frank-pieper-1) wrote :

Big Idea of Post was to lumber Trees at PortSpaceLocation with Lumberer from Ship.

Revision history for this message
Flávio J. Saraiva (flaviojs2005) wrote :

How about being able to send a lumberjack to a flag? Similar to the geologist but with a single cut: we send a lumberjack to the flag, lumberjack goes to flag, goes cut a nearby tree, puts resulting log in the flag and returns to the warehouse.

However, allowing this is a slippery sloop since then the same action might be expected for other jobs (stonecutter, fisher, hunter, gamekeeper, forester, ...)

Revision history for this message
GunChleoc (gunchleoc) wrote :

And you would still need space for a flag, which you might not have because of the trees.

I like the multi-purpose building idea. Another idea I had is that a port could clear a certain radius around it once it's finished buiding.

Revision history for this message
SirVer (sirver) wrote :

Setting to incomplete for bug sweeping.

Changed in widelands:
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for widelands because there has been no activity for 60 days.]

Changed in widelands:
status: Incomplete → Expired
SirVer (sirver)
Changed in widelands:
status: Expired → Confirmed
Revision history for this message
TiborB (tiborb95) wrote :

What about new type of worker - similar to geologist - uprooter (bush cleaner) - no special building needed, no need to deal with wood (let presume it stays on ground and rot there), can be part of expedition, you can send it to land and left him there, to die or find a flag to return to a warehouse....

Revision history for this message
GunChleoc (gunchleoc) wrote :

Suggestion by DragonAtma on the forums:

Maybe we should use the Banished model. In Banished, if you put a building on completely clear ground:
(1) Laborers carry over the materials needed.
(2) A builder builds it.

But if you put a building on a forest:
(1) Laborers cut down any trees blocking it (and mine any stone/iron there).
(2) Laborers bring over any extra resources needed, carrying away any unneeded materials.
(3) A builder builds it.

If the programming is feasible, I can see Widelands doing something similar, where you can tell it to put a building on top of a tree:
(1) A lumberjack cuts down the tree in the way.
(2) He then carries away the log.
(3) Repeat steps 1 and 2 for any remaining trees in the way.
(4) Widelands then goes through the current building process.

And even if that's not feasible, it should be possible to prioritize some trees for woodcutting.

On a side note, you can tell the foresters to prioritize spaces on how well trees go there. So if trees grow three times as well on plains as on mountains, then a forester would be three times as likely to plant a new tree on plains as on a mountain.

Revision history for this message
Nasenbaer (nasenbaer) wrote :

As far as I can say, tree spreading has been removed again, right? so the bug itself is fixed. Therefore we could close this bug.

However I kinda like the suggestion in #24

how do we go on here?

Revision history for this message
GunChleoc (gunchleoc) wrote :

Trees will still seed other trees - the recent changes have been to the terrain affinity values to tweak this process. So, this bug is still open.

I also like #24 - we would need to add a lumberjack to the expedition though. We can't show workers in the expedition costs yet though, so we would need to fix that as well

https://bugs.launchpad.net/widelands/+bug/1191295

Revision history for this message
GunChleoc (gunchleoc) wrote :

How about when a ship places a port construction site, this will automatically clear enough space around the site to build a lumberjack.

Revision history for this message
kaputtnik (franku) wrote :

I think, the problem is to have enough space for a port and a lumberjack. The lumberjack could only be build if the port has been build because the port is needed to get the material for the lumberjack. So if the port couldn't be build you couldn't build a lumberjack.

Automatically clearing up enough space for port and a lumberjack may look annoying if we don't have an animation for that. F.e. burning down trees or the builder cuts the trees.

GunChleoc (gunchleoc)
Changed in widelands:
status: Confirmed → In Progress
assignee: nobody → GunChleoc (gunchleoc)
milestone: none → build19-rc1
Revision history for this message
GunChleoc (gunchleoc) wrote :

The savegame that I used for testing.

GunChleoc (gunchleoc)
Changed in widelands:
status: In Progress → Fix Committed
assignee: GunChleoc (gunchleoc) → nobody
GunChleoc (gunchleoc)
tags: added: world
removed: treegrowth
GunChleoc (gunchleoc)
Changed in widelands:
status: Fix Committed → Fix Released
Revision history for this message
GunChleoc (gunchleoc) wrote :

Fixed in build19-rc1.

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.