v0.4.2 Release Candidate #3 Discussion

Describe your experience with the latest version of FreeOrion to help us improve it.

Moderator: Oberlus

Forum rules
Always mention the exact version of FreeOrion you are testing.

When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.
Message
Author
User avatar
Sloth
Content Scripter
Posts: 685
Joined: Sat Mar 17, 2007 12:28 am

v0.4.2 Release Candidate #3 Discussion

#1 Post by Sloth »

I played my first game with r5763 (aka 0.4.2 RC3) with Cray. Maybe i was very lucky, but the AI's didn't really manage to expand their empires or threaten me in any way. I think the AI's fought a lot between themselves.
Notable is that the pink and green empires planned to build Black Hole Power Generators (the green one even started building one on Heinlein), which shouldn't have a high priority for empires that small.

This is turn 115:
Attachments
Turn115.JPG
Turn115.JPG (120.43 KiB) Viewed 1287 times
All released under the GNU GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0 licences.

unjashfan
Creative Contributor
Posts: 175
Joined: Fri Dec 30, 2011 8:08 am

Re: v0.4.2 Release Candidate #3 Discussion

#2 Post by unjashfan »

In a recent playtest (typical difficulty, v5767), one of the AIs was spamming single "basic troopers" into a system with a sentry and a native planet. The sentry never took damage, and so far the AI had lost at least 4 ships.

I haven't tested with more aggressive AIs yet. As of 5763, the aggressive/maniacal AIs had a habit of colonizing poor or hostile planets too early and their new colonies kept dying off. These "emergency colonies" generally won't survive long enough before they will provide a significant amount of resource output, so I think this should be removed from the AIs decision making list and have them seek alternate solutions when there are very few habitable planets. Prioritizing certain growth techs or creating more warships (not scouts or troop ships) would be better than wasting a colony ship to get an outpost.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: v0.4.2 Release Candidate #3 Discussion

#3 Post by Geoff the Medio »

What aggression, and what monster frequency did you use? In a couple AI-only test games, I got very little AI expansion by turn 115 with Maniacal with ~20 systems/AI and moderate monsters, but on Typical with ~30 systems/AI and few monsters, there were several quite large empires after only 70 turns.

User avatar
Sloth
Content Scripter
Posts: 685
Joined: Sat Mar 17, 2007 12:28 am

Re: v0.4.2 Release Candidate #3 Discussion

#4 Post by Sloth »

Geoff the Medio wrote:What aggression, and what monster frequency did you use? In a couple AI-only test games, I got very little AI expansion by turn 115 with Maniacal with ~20 systems/AI and moderate monsters, but on Typical with ~30 systems/AI and few monsters, there were several quite large empires after only 70 turns.
Aggressive AI setting. And at least pink and blue are Royal Demesne ( = Aggressive).
Medium monsters (but i haven't seen a single monster nest).
All released under the GNU GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0 licences.

AndrewW
Juggernaut
Posts: 791
Joined: Mon Feb 04, 2013 10:15 pm

Re: v0.4.2 Release Candidate #3 Discussion

#5 Post by AndrewW »

I've run through one session with Aggressive AI's. One gave me a lot of trouble initially, ended up pretty much a WWI scenario with neither side making much progress for a bit, then I started pushing the AI back, AI responds with Psychogenic Domination, I decided to just pull back for a bit and wait it out (39 turns, hadn't researched much in that direction), played with the other AI on my borders, had mostly beene some ship sightings between us hadn't given me any trouble, didn't have much left, found the other AI (the one giving me some trouble) on the other side of that one), never even saw the third AI, was probably caught between the other two.

AI was doing more production until about turn 228 and more research till about turn 237 or so but once I went back on the offensive wasn't any real trouble.

unjashfan
Creative Contributor
Posts: 175
Joined: Fri Dec 30, 2011 8:08 am

Re: v0.4.2 Release Candidate #3 Discussion

#6 Post by unjashfan »

Another small note: If the AI starts as Eaxaw, it doesn't realize it can make Mark VII's from the get-go and will still research the weaker weapon techs and subsequently produce weaker ships (Lynx-2, Lynx-3, etc.).

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: v0.4.2 Release Candidate #3 Discussion

#7 Post by Dilvish »

unjashfan wrote:Another small note: If the AI starts as Eaxaw, it doesn't realize it can make Mark VII's from the get-go and will still research the weaker weapon techs and subsequently produce weaker ships (Lynx-2, Lynx-3, etc.).
Ack! The AIs that start off with Laser 1 just immediately start making Lynx-5's, but I'm afraid I had overlooked having that hull line going up to a high enough weapon; it was needing to get Organic hulls before it had a design that used that weapon. I've now rectified that -- thanks for the catch!
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: v0.4.2 Release Candidate #3 Discussion

#8 Post by Geoff the Medio »

Dilvish wrote:Ack! [...] I've now rectified that...
Are you reasonably certain that change won't break anything else? I'd like to avoid another few days delay to do an RC4 if possible, so could we just make the release the version with that change added? Or should we just do the release without that change, if it's not a major issue?

yandonman
Creative Contributor
Posts: 699
Joined: Thu Aug 30, 2012 12:32 am

Re: v0.4.2 Release Candidate #3 Discussion

#9 Post by yandonman »

Based on current description, not a major issue.
Code released under GPL 2.0. Content released under GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: v0.4.2 Release Candidate #3 Discussion

#10 Post by Dilvish »

Geoff the Medio wrote:
Dilvish wrote:Ack! [...] I've now rectified that...
Are you reasonably certain that change won't break anything else?
This was a very easy/straightforward matter to rectify; I'm very confident that hasn't caused any other problems. The fix was just to change a single digit in line 302 of ProductionAI.py -- the "6" to an "8"
I'd like to avoid another few days delay to do an RC4 if possible, so could we just make the release the version with that change added? Or should we just do the release without that change, if it's not a major issue?
Either way would be ok. I went ahead and just now committed that one fix in case you want to proceed (or undo it if you want to skip it). There are a couple other issues I just today fixed / worked on, respectively, that I feel I should mention.

The smaller one was that I sorted out & fixed the issue with my code for logging enemy/monster fleets that were just briefly glimpsed as an AI ship was destroyed. The bug had been leading the AI's to underestimate the enemy/monster fleet there and try clearing that system with insufficient firepower, thereby wasting ships. This bug was noticeable to people, but is far from critical.

A bigger issue I just discovered today, which I don't have a fix for yet, relates to AI invasions apparently being wrongly blocked. I had noticed AI troop ships sometimes piling up over a (generally & perhaps always native) planet & failing to complete their invasion. I thought it might relate to the "invasionus interruptus" problem we've discussed with respect to the player UI, that if an invasion/colonization order gets interrupted/blocked by combat or whatnot, that the local client might be left thinking there is still an invasion order pending when there is not. I checked the AI invasion code & saw that it was indeed susceptible to that problem, so put in some extra checks to cause the invasion order to be reissued if necessary. I'm pretty sure that helped, but it did not entirely solve the problem. The continuing problem appears to be due to something strange that I haven't fully sorted out. Below is a log line from a failed invasion attempt which is seeming typical for this problem:

Code: Select all

2013-02-18 20:59:46,288 ERROR AI : AIInterface::IssueInvadeOrder : planet with passed planet_id is not invadable due to one or more of: owned by invader empire, not visible to invader empire, has shields above zero, or is already being invaded.
2013-02-18 20:59:46,288 DEBUG AI : Ordered troop ship ID 1922 to invade Algedi II, got result 0  -- planet has 0.0 stealth, shields 2.0,  15.0 population and is owned by empire -1
You likely think "Oh, shields! Of course it failed!" But ask yourself what native species has any planetary shields, and take a look at the screenshot of the situation; my display was as an observer of a multiplayer game:
Algedi.png
Algedi.png (107.6 KiB) Viewed 1244 times
These apparent shields that don't show up on my UI, but which nevertheless seem to be blocking AI invasions, were also causing trouble on other planets (with different species, but again nonzero planet shield meter reading).

ok so I just went and added a little more info into the AIInterface error message to confirm if these "ghost" shields are indeed the problem, and it is -- AIInterface.cpp::IssueInvadeOrder is being told that these native planets have nonzero shields. To double check its not something just on my system, I tried a clean SVN version, same result. I'm out of ideas for tonight.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: v0.4.2 Release Candidate #3 Discussion

#11 Post by Geoff the Medio »

Weird... Can you post a universe Dump output for that planet on that turn as the AI sees it?

AndrewW
Juggernaut
Posts: 791
Joined: Mon Feb 04, 2013 10:15 pm

Re: v0.4.2 Release Candidate #3 Discussion

#12 Post by AndrewW »

Silly AI had one colony, that was blocked in (other empire fleets at both ends of the two starlanes), was sitting there building scouts... Later with an enemy fleet over the planet was building troops ships.

User avatar
em3
Vacuum Dragon
Posts: 630
Joined: Sun Sep 25, 2011 2:51 pm

Re: v0.4.2 Release Candidate #3 Discussion

#13 Post by em3 »

AndrewW wrote:Silly AI had one colony, that was blocked in (other empire fleets at both ends of the two starlanes), was sitting there building scouts... Later with an enemy fleet over the planet was building troops ships.
I guess the AI is not ready for Battlestar Galactica scenario yet. :wink:
https://github.com/mmoderau
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: v0.4.2 Release Candidate #3 Discussion

#14 Post by Dilvish »

Geoff the Medio wrote:Weird... Can you post a universe Dump output for that planet on that turn as the AI sees it?
I can have the AI print out more information & also swap to verbose logging & then get the detail log lines for the planet, is that what you mean?
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: v0.4.2 Release Candidate #3 Discussion

#15 Post by Geoff the Medio »

Dilvish wrote:
Geoff the Medio wrote:Weird... Can you post a universe Dump output for that planet on that turn as the AI sees it?
I can have the AI print out more information & also swap to verbose logging & then get the detail log lines for the planet, is that what you mean?
Verbose logging would show dump info, yes. There's also a universe.dump() command that should be usable in python which returns a string. There could be one added to UniverseObject but I don't think it has been.

Post Reply