Currently Online

Latest Posts

Topic: Ware weight influences worker speed

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: 2017-06-01, 16:40

If I aren´t very much mistaken, the speed of a worker depends on nothing but the steepness of the slope. This is (I think) 3.6 s/tile × (slope factor). It seems strange that a worker carrying a heavy ware like granite is just as fast as someone carrying nothing or a light ware (cloth, wool). So I think there should be a slowdown factor for heavy wares – which could be implemented by assigning (in the lua files) every ware a weight between 1 (weighs nothing) and very very large (extremely heavy). The worker´s speed would be the product of a constant factor, the slope factor and the weight of the carried ware (or 1 if nothing is being carried.) The basic speed would have to be lowered, or the game would become much slower by this.

Of course, this is just a suggestion. I just don´t see a reason why all wares should be considered equally heavy. It is not realistic. Opinions?


Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 14:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2017-06-01, 17:29

My question is, would this improve gameplay or make it too complicated?


Busy indexing nil values

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: 2017-06-01, 17:58

Surely it is obvious that dragging a slab of granite somewhere takes longer than carrying a piece of cloth? Unless you have made the personal experience that moving heavy furniture is no more exhausting than picking up a sheet of paper face-wink.png

I always found it rather unfair that light wares don´t get a speed bonus compared to heavy wares. And if the base speed were lowered, the average transport time wouldn´t change much, but the (very visible) walking speed would make more sense. Perhaps add animation for carriers struggling with the enormous weight of their marble column? face-smile.png That would make it obvious why some wares are carried more slowly than others. It doesn´t seem much more complicated than regarding slopes for speed.


Top Quote
Tibor

Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-06-01, 19:36

It might look good indeed, though I believe that it would be so balanced that net effect would be ~zero.

Looks like an introductory task for a new contributor...


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: 2017-06-01, 19:56

Tibor wrote:

It might look good indeed, though I believe that it would be so balanced that net effect would be ~zero.

If it looks good and has no (negative) effect on the game, then that´s a good reason to implement it face-smile.png

Looks like an introductory task for a new contributor...

Because the main task is finding and testing good values? I would be happy to do that (since it was my suggestion). The only real coding needed is to add the factor to the speed calculation, which (I guess) will take about 5 minutes.

May I already suggest an outline for the values? 2.4 seconds base speed (quite fast), values ranging from 1.1 (wool, very fast) to 3.0 (marble column, takes ages). Common wares like logs should get a weight of ~1.5, so their speed doesn´t change too much compared to now (otherwise, the game might be unbalanced). I already thought of values for all the other wares…


Top Quote
Tibor

Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-06-01, 20:04

Nordfriese wrote:

Tibor wrote:

It might look good indeed, though I believe that it would be so balanced that net effect would be ~zero.

If it looks good and has no (negative) effect on the game, then that´s a good reason to implement it face-smile.png

Looks like an introductory task for a new contributor...

Because the main task is finding and testing good values? I would be happy to do that (since it was my suggestion). The only real coding needed is to add the factor to the speed calculation, which (I guess) will take about 5 minutes.

May I already suggest an outline for the values? 2.4 seconds base speed (quite fast), values ranging from 1.1 (wool, very fast) to 3.0 (marble column, takes ages). Common wares like logs should get a weight of ~1.5, so their speed doesn´t change too much compared to now (otherwise, the game might be unbalanced). I already thought of values for all the other wares…

5 minutes? Creating new branch, looking for what files are to be modified, trying to understand the code, modify the code, compile, test it, (repeat the compilation and testing multiple times) and just then you might start populating lua files with custom speed values. If you already know the code and are smart it might be 1 hour.


Top Quote
WorldSavior
Avatar
Joined: 2016-10-15, 03:10
Posts: 2094
OS: Linux
Version: Recent tournament version
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-06-01, 20:41

Tibor wrote:

Nordfriese wrote:

Tibor wrote:

It might look good indeed, though I believe that it would be so balanced that net effect would be ~zero.

If it looks good and has no (negative) effect on the game, then that´s a good reason to implement it face-smile.png

It would have negative effects! Often you have to build important buildings far away from your warehouses. So your idea would make the time until those buildings are completed even longer face-sad.png

Furthermore, I don't think that implementing the whole thing is a good idea. I mean, it's normal that computer games are not completely logic, especially in games like widelands: Here are so many things not logic that you would have to change so many things, that you would change the whole game into a completely different game.

And who says that carriers are not so strong that they can handle just every ware? At least animal-carriers should (edit: ... in most cases).

Don't you want to do changes of the game which would make more sense? face-wink.png

Nordfriese wrote:

Surely it is obvious that dragging a slab of granite somewhere takes longer than carrying a piece of cloth? Unless you have made the personal experience that moving heavy furniture is no more exhausting than picking up a sheet of paper face-wink.png

I always found it rather unfair that light wares don´t get a speed bonus compared to heavy wares. And if the base speed were lowered, the average transport time wouldn´t change much, but the (very visible) walking speed would make more sense. Perhaps add animation for carriers struggling with the enormous weight of their marble column? face-smile.png That would make it obvious why some wares are carried more slowly than others. It doesn´t seem much more complicated than regarding slopes for speed.

And I think it's a little bit pointless because the graphics of the wares are not realistic anyway! Look at the tiny logs, how could a building be build by just three of them? Maybe you're taking something too serious? face-wink.png

GunChleoc wrote:

My question is, would this improve gameplay or make it too complicated?

It would not improve the gameplay, it would make it worse, and it would make it too complicated face-wink.png

Nordfriese wrote:

If I aren´t very much mistaken, the speed of a worker depends on nothing but the steepness of the slope. This is (I think) 3.6 s/tile × (slope factor).

Are you sure? That seems like two times more than it should be?

By the way: Do you know how big the slope factor is? That would be interesting

Edited: 2017-06-01, 20:42

Wanted to save the world, then I got widetracked

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 14:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2017-06-01, 21:00

Balancing is indeed an important point here. For example, Empire needs marble columns = super heavy, Atlanteans need gems and spidercloth = super light...

No idea what the slope factor is or where in the code it is, I'd have to go digging.


Busy indexing nil values

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: 2017-06-01, 21:23

I agree with WorldSavior.


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

Top Quote
tuggyne

Joined: 2011-07-21, 23:27
Posts: 42
Ranking
Pry about Widelands
Location: TN
Posted at: 2017-06-01, 22:43

Nordfriese wrote:

If I aren´t very much mistaken, the speed of a worker depends on nothing but the steepness of the slope. This is (I think) 3.6 s/tile × (slope factor). It seems strange that a worker carrying a heavy ware like granite is just as fast as someone carrying nothing or a light ware (cloth, wool). So I think there should be a slowdown factor for heavy wares – which could be implemented by assigning (in the lua files) every ware a weight between 1 (weighs nothing) and very very large (extremely heavy). The worker´s speed would be the product of a constant factor, the slope factor and the weight of the carried ware (or 1 if nothing is being carried.) The basic speed would have to be lowered, or the game would become much slower by this.

Of course, this is just a suggestion. I just don´t see a reason why all wares should be considered equally heavy. It is not realistic. Opinions?

The density of wares of course varies greatly, but honestly I'm not sure why you would suppose the overall package weight would be very different. Carrying a full load of cloth might require a sizable bag, but you could very well load up 50-80 lbs of cloth on the average porter. Similarly, no one is going to be carrying 400 lbs of granite around at a time, even though that might fill the same size bag.

Just consider how heavy furniture is when moving, even though it's mostly made of items (wood, leather, stuffing, cloth) with a density a fifth that of stone or less.


Top Quote