Currently Online

Latest Posts

Topic: a big thank you and some suggestions

Tibor

Joined: 2009-03-23, 23:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-04-11, 13:46

soulless, few comments to your comments.

Lumberjacts has a "target" (number of sites) that are never dismantled for security reasons. Yes in a corner case all sites can be placed in infertile areas.

So if lumberjacks don't work after a while and there are foresters nearby ai can dismantle both

Yes, it might dismantle all lumberjacks and rangers in radius x, but consider:

What if these will be all rangers+lumberjacs the player has? This is in confilict with target 'policy', but also what if AI will have no building material to build new ones? Or if new ones will be build in the same territory?

By my opinion, the land quality should be considered mainly when placing ranges/foresters, but the infor is not available.

As for seafaring, it is even worse. AI is not capable to operate on two / more seas, it builds one shipyard only and presumes that all waters are interconnected. What if AI dont see how far the sea goes and have no idea whether this one is good for seafaring? Should it cheat (it can)? It would need (eventually) a logic to gave up on current sea and start building fleet on another one.

Seafaring is completely ommited from genetic algorithm being developed, so there is really a place for improvement, would be merged to trunk directly, and it is now even in separate file.

AI tries to build shipyard ASAP, just in case it is short of good spots, so checking/waiting for producers could interfere here, and could backfire.... But if somebody is willing to take care of this....

Generally, corner cases are just corner cases, AI will never cope with them well.


Top Quote
soulless
Avatar
Topic Opener
Joined: 2017-04-09, 13:20
Posts: 22
Ranking
Pry about Widelands
Posted at: 2017-04-11, 14:15

Tibor wrote:

soulless, few comments to your comments.

Lumberjacts has a "target" (number of sites) that are never dismantled for security reasons. Yes in a corner case all sites can be placed in infertile areas.

So if lumberjacks don't work after a while and there are foresters nearby ai can dismantle both

Yes, it might dismantle all lumberjacks and rangers in radius x, but consider:

What if these will be all rangers+lumberjacs the player has? This is in confilict with target 'policy', but also what if AI will have no building material to build new ones? Or if new ones will be build in the same territory?

By my opinion, the land quality should be considered mainly when placing ranges/foresters, but the infor is not available.

Yes, that would be the best solution. But ok, if the info is not available that is a problem. I thought there was something like "getGroundNearby" and you can say don't build foresters if groundNearby is only desert and mountains.

Generally, corner cases are just corner cases, AI will never cope with them well.

I generally think that the ai is not that bad. If there is a small map with all resources available like "Crater" the ai performs good. The problems I see are bigger maps and difficult starting positions where not every resource is available soon. But I think I need to first learn c++ and work a little with the code to give any help on this. Unfortunately there is not enough time to do interesting things like this. But I will check out ai-post-b19-2 cause I am interested in your genetic algorithm being developed.


Top Quote
Tibor

Joined: 2009-03-23, 23:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-04-11, 14:21

You know, I am not against new ideas, but they usually takes more time to implement and test than it seems initially and means commitment.

I am doing a lot of changes to that genetic algorithm branch so changes between commits are quite big and in both directions. So if the commit is more than 2 days old it does not reflect actuall status in my PC.


Top Quote
king_of_nowhere
Avatar
Joined: 2014-09-15, 18:35
Posts: 1668
Ranking
One Elder of Players
Posted at: 2017-04-12, 23:38

about the attack messages: maybe once a building give attack message it should disable all other attack messages in a radius of 8 tiles concerning the same soldiers. that would avoid one single soldier getting reported with a dozen different attack messages from all your buildings. but it seems difficult to code.


Top Quote
WorldSavior
Avatar
Joined: 2016-10-15, 04:10
Posts: 2091
OS: Linux
Version: Recent tournament version
Ranking
One Elder of Players
Location: Germany
Posted at: 2017-04-17, 19:16

GunChleoc wrote:

WorldSavior wrote:

soulless wrote:

First a big thank you to the developers. A really great game. Some suggestions (or wishes) after all the time I spend playing the game: Seafaring: a checkbox "Search for port places" which by default is checked but you can uncheck so your ship will just explore the unknown Island without "Port Space found" every few minutes.

Letting ships explore without stopping at port spaces is a very nice suggestion. But maybe it could be achieved by just one more click on the explore-buttons or something like this? (instead of using such a box)

And I would suggest to introduce one further mode: Exploring islands without stopping after exploring the whole island. (patrol-mode)

(could be implemented by one further click on the buttons?)

We could also use keyboard shortcuts (CTRL-click - ignore port spaces, ALT-click: patrol mode).

Good idea

I see that there is a problem that hostile soldiers are reported as attackers in cases where they just walk around in your territory.

We also have the converse problem: https://bugs.launchpad.net/widelands/+bug/1665083

Yes, I know. Being attacked without getting a message is horrible...

But now concerning the attack messages discussion: It is good to try decrease the attack messages. But if you would like to implement your suggestions with X minutes, I would prefer to chose in the menu if i would like to have this message behaviour or something else.

The problem which I see: If you don't get attack messages for X minutes, you have to keep that in mind and you have to check all the time if there will be further attacks. In general I consider this as quite suboptimal....

This is why we would need to keep the interval quite short.

... so I think that there should be no interval at all.

king_of_nowhere wrote:

about the attack messages: maybe once a building give attack message it should disable all other attack messages in a radius of 8 tiles concerning the same soldiers. that would avoid one single soldier getting reported with a dozen different attack messages from all your buildings. but it seems difficult to code.

I haven't thought much about the origin of the "8" in your suggestion, but it sounds like a good idea


Wanted to save the world, then I got widetracked

Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2017-04-19, 18:55

I don't know that part of the code well enough to tell if "the same soldiers" is implemented easily, if not, we might add a short time interval to the radius that blocks additional messages - maybe 15 seconds game time?

Bug for highlighting on the minimap: https://bugs.launchpad.net/widelands/+bug/1684227

Port spaces/patrol mode: https://bugs.launchpad.net/widelands/+bug/1684228

Edited: 2017-04-19, 18:58

Busy indexing nil values

Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 18:07
Posts: 1929
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2017-04-20, 12:20

Perhaps the attack messages should include information about which player is attacking, e.g "Player 2 is attacking your sentry". I´m in favour of disabling attack messages for all soldiers of the attacking player in a radius of about 8 tiles (or perhaps a bit more than 8, since multiple attacks should be expected) for as long as the attacker has at least 1 soldier there. If another player attacks the same buildings at the same time, then this should be worth another message. Disabling the messages only for the same soldiers would mean another message every time the enemy sends reinforcements – which, in my experience, happens very often and would not significantly reduce the number of sent messages.

I´m not sure how easy it would be to implement player-specific attack messages, though.


Top Quote
king_of_nowhere
Avatar
Joined: 2014-09-15, 18:35
Posts: 1668
Ranking
One Elder of Players
Posted at: 2017-04-20, 19:10

Nordfriese wrote:

Perhaps the attack messages should include information about which player is attacking, e.g "Player 2 is attacking your sentry". I´m in favour of disabling attack messages for all soldiers of the attacking player in a radius of about 8 tiles (or perhaps a bit more than 8, since multiple attacks should be expected) for as long as the attacker has at least 1 soldier there. If another player attacks the same buildings at the same time, then this should be worth another message. Disabling the messages only for the same soldiers would mean another message every time the enemy sends reinforcements – which, in my experience, happens very often and would not significantly reduce the number of sent messages.

I´m not sure how easy it would be to implement player-specific attack messages, though.

I am proposing an 8 corner radius to disable messages because that radius easily fit into a screen, so you can see all threatened buildings. and yes, disabling messages by player is better than by soldier, and probably easier to do too. the important thing is that attention is brought to the threatened area, but without flooding with messages that may cover other, secondary attacks.


Top Quote
GunChleoc
Avatar
Joined: 2013-10-07, 15:56
Posts: 3324
Ranking
One Elder of Players
Location: RenderedRect
Posted at: 2017-04-21, 09:23

Bug time: https://bugs.launchpad.net/widelands/+bug/1685114


Busy indexing nil values

Top Quote