Latest Posts

Topic: News about AI

Tibor

Topic Opener
Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-07-19, 11:43

Two comments about attacking:

  • AI does not do any picking from available soldiers, it just says the number of attackers
  • Functions used by AI (but not AI functions) are not reliable. F.e. it will say that X possible attackers are available, and when aI sends a command to attack with X attackers, sometimes nobody attack, sometimes less number then X go.
  • I modified fitness function to be more aware of the strength (as sum of all soldiers) and less about territory size (I already mentioned it)

Top Quote
Tibor

Topic Opener
Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-07-19, 11:59

OK, so I found the root cause. It is the new_building_overdue counter. It measures time how long the building is needed, but cannot be built (too low score, shortage of building spots). Its value reflects to the score of building, but the ranges for AI was set too low, so the final score grew up very slowly and usually other buildings were winning.

I will train the game now for few generations and push to the launchpad afterwards. Behaviors should be improved...


Top Quote
soulless
Avatar
Joined: 2017-04-09, 12:20
Posts: 22
Ranking
Pry about Widelands
Posted at: 2017-07-19, 20:27

I also did again some experiments today. I wanted to play an ai-only game on The Nile but was unable to deselect human player and also to select ai for all players. I think I do need a debug-build for this?

Anyhow, I started one game, build a small economy and let them do there stuff. After about 6 hours all tribes had built military economy. For empire I added basic_amount=1 in lua-files for smelting works and smithies but that late they had up to 3 smelting works and 2 armor and weapon smithy. Altantean also build smelting works and armor and weapon smithy. So I thought that this is a problem which can be solved by training or perhaps now is solved by the last change from Tibor and training.

But wells are a different story. Also after 6 hours every ai only had one well. So I thought lets make an experiment and added basic_amount=3 to empire/well/init.lua and started a new game. After doing some work and visiting some friends I now looked what the state is and I, with a small economy, had a military-score of 815, the best ai had 165. And of course they loose some soldiers from fights but they also attacked me so I also loose some. And every remaining ai has smelting works and weapon / armor producers but only one well. And that is the well near the headquarter so I think the first one built. The only ai which started to build a new well was the ai that lost the first well because some fights. I don't know is this also related to new_building_overdue or if this is something else. I mean in defaultai.cc there is a comment "one well is forced" which gives prio+=200 but nothing about stocklevel or something like this. And I think the lack of water is a big problem for building strong soldiers and working iron-mines.

Regarding the container and headless I think I need about 2 weeks because first I need to do an upgrade to debian 9 for the host and before that I need to modify puppet to work with debian 9. This is already on my todo-list and I think I do it before experiments because the newer the kernel the better the chance to get it running. 3d could be a problem but I will try it and than give feedback.


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-07-19, 20:38

soulless wrote:

I also did again some experiments today. I wanted to play an ai-only game on The Nile but was unable to deselect human player and also to select ai for all players. I think I do need a debug-build for this?

Did you started a multiplayer game (LAN/Direct IP) to set ai to all players? This should work without a debug build.


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

Top Quote
Tibor

Topic Opener
Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-07-19, 20:49

@Soulless - I think you should wait for new my changes and test them. Because each change improves something and hurts something else, so no need to speculate too far ahead.

And wells should be affected by latest changes as well...


Top Quote
soulless
Avatar
Joined: 2017-04-09, 12:20
Posts: 22
Ranking
Pry about Widelands
Posted at: 2017-07-20, 00:47

kaputtnik wrote:

soulless wrote:

I also did again some experiments today. I wanted to play an ai-only game on The Nile but was unable to deselect human player and also to select ai for all players. I think I do need a debug-build for this?

Did you started a multiplayer game (LAN/Direct IP) to set ai to all players? This should work without a debug build.

ah, ok, thanks, did go to single player as normal. LAN / Direct IP works.


Top Quote
soulless
Avatar
Joined: 2017-04-09, 12:20
Posts: 22
Ranking
Pry about Widelands
Posted at: 2017-07-20, 00:52

Tibor wrote:

@Soulless - I think you should wait for new my changes and test them. Because each change improves something and hurts something else, so no need to speculate too far ahead.

And wells should be affected by latest changes as well...

Of course I will wait .... and test it. Saw your post after I had all the information and thought I post the infos.


Top Quote
Tibor

Topic Opener
Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-07-20, 21:53

After some changes I can see that military power grows now (though performance varies), so who is interested can try new version in ai_dna_dump branch...


Top Quote
Nordfriese
Avatar
Joined: 2017-01-17, 17:07
Posts: 1950
OS: Debian Testing
Version: Latest master
Ranking
One Elder of Players
Location: 0x55555d3a34c0
Posted at: 2017-07-21, 14:23

I played a game against 2 frisians AIs with the frisians branch and the game crashed after some time with the following error (which I never got before with any tribe):

Fatal exception: […/src/ai/defaultai.cc:2294] AI: Max presciousness must not be <= 0 for building: frisians_reindeer_farm

I used the AI version from the frisians branch, which is equal to the one in trunk. Just thought you should know about this (if you didn´t know it already).


Top Quote
Tibor

Topic Opener
Joined: 2009-03-23, 22:24
Posts: 1377
Ranking
One Elder of Players
Location: Slovakia
Posted at: 2017-07-21, 15:46

Hi,

all outputs should have preciousness > 0. The preciousness of fur is 1 - so OK, but problem is the other output - reindeer? - This is worker, correct? AI code expects a ware. With exception of barracks but this is controlled by other logic.

Such sites are for AI identified as recruitment in init.lua (see e.g. barbarians_cattlefarm), but these are built blindly - without calculating actual need.

So one of your options is identify it as a recruitment site in init.lua. In addition to this, you can set it as "basic" building, to force it on the beginning...

Or just split this into two buildings: "normal productionsite" and "recruitment productionsite"

Edited: 2017-07-21, 15:46

Top Quote