Notes on rev 5642

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
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Notes on rev 5642

#16 Post by eleazar »

I agree. AI personalities are a really cool feature, but it only slightly overlaps the point of difficulty settings.

A few ideas for difficulty adjustments:

1) pair starting species with more or less suitable personalities. Requires further species development.

2) allow the player to choose more powerful starting species for easy, or weaker on for hard. Easier to implement if the player can choose his own picks.

3) increase or decrease AIs resource production to alter difficulty. Seems the easiest. No AI changes needed.

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

Re: Notes on rev 5642

#17 Post by unjashfan »

I feel that the AI makes bad decisions when their planets are being attacked. Here's what I've noticed so far:
  • They will continue to produce OrbitalShields even when planetary defenses have been compromised. This also applies to the homeworld.
  • Stray fleets nearby tend to sit there and do not attempt to regroup with other fleets. They also do not run from certain death.
  • Newly produced fighters at an attacked system will not leave the system, only to be destroyed on the next turn. I think this is fatal to the AI.

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

Re: Notes on rev 5642

#18 Post by Sloth »

Dilvish wrote:
Geoff the Medio wrote:Regardless of how defensive you can make an AI, new players don't know how to play the game, and particularly if they're not familiar with the genre, they are not going to be able to compete against any reasonably competent AI player.
That makes sense. We could call it "TrainingServo" or the more self explanatory "BeginnerMode" and I could have it not do invasions and perhaps not stray more than 4 or 5 star-jumps from its homeworld, have it keep the laser limit like Turtle AIs, and also prohibit it from Fusion and Solar Generators -- how does that sound?
I also agree that a beginner mode sounds like a good idea, but no invasions would mean that there's no possibility of losing. Maybe just delaying the invasions and making it very harmless (just sending small fleets at a time) is enough?
eleazar wrote: 1) pair starting species with more or less suitable personalities. Requires further species development.
Yes that would be nice. Script commands to check for personality and set personality would allow us to make sure Eaxaw or Trith are never Turtle for example.
eleazar wrote: 2) allow the player to choose more powerful starting species for easy, or weaker on for hard. Easier to implement if the player can choose his own picks.

3) increase or decrease AIs resource production to alter difficulty. Seems the easiest. No AI changes needed.
I think an easy to implement feature would be to give the human a huge homeworld and medium ones to the AI (only available if beginner mode is on).
All released under the GNU GPL 2.0 and Creative Commons Attribution-ShareAlike 3.0 licences.

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

Re: Notes on rev 5642

#19 Post by Dilvish »

unjashfan wrote:I feel that the AI makes bad decisions when their planets are being attacked. Here's what I've noticed so far:
  • They will continue to produce OrbitalShields even when planetary defenses have been compromised. This also applies to the homeworld.
Hmm, good point. I just got AI deployment of these implemented a couple days ago, and it's probably somewhat overprioritized now (at least for the moderate and more aggresive AI's) Modifying production to successfully fend off an occupation of a system is pretty tough, but I probably should work on it some one of these days.
[*]Stray fleets nearby tend to sit there and do not attempt to regroup with other fleets. They also do not run from certain death.
Well, they will regroup with other fleets if they share the same missions. Probably what you're seeing is defensive fleets continuing to defend their same systems even after a neighboring system has had a hole punched into it. I just started doing some defensive regrouping to protect the homeworld as of a couple weeks ago or so, but will be expanding that. I had avoided reassessing defense missions every turn so as to moderate CPU demands by the AI, but probably for the more aggressive AI settings I should have them do a full reassessment each turn, or at least after system defenses have been breached.
[*]Newly produced fighters at an attacked system will not leave the system, only to be destroyed on the next turn. I think this is fatal to the AI.[/list]
Sometimes that's fatal to the AIs ships, sometimes it rescues the system. It's true the AI could do more assessment in this regards. I don't actually have a 'strategic retreat' mission implemented for the AI, but perhaps it's time.

Those are good points & I hope you'll be able to see at least some partial responses to the first couple points in the nearish future.
Sloth wrote:I also agree that a beginner mode sounds like a good idea, but no invasions would mean that there's no possibility of losing. Maybe just delaying the invasions and making it very harmless (just sending small fleets at a time) is enough?
I kinda think that 'no possibility of losing' is the intention for the beginner mode. But I'm not wed to that. It would certainly be easy enough to simply delay invasions. I'm not sure I really understand the suggestion about small fleets -- sending invasion fleets but making sure they're too small to ever succeed?
eleazar wrote: 1) pair starting species with more or less suitable personalities. Requires further species development.
Yes that would be nice. Script commands to check for personality and set personality would allow us to make sure Eaxaw or Trith are never Turtle for example.
I'd recommend we just add corresponding Tags to the species -- that would be easy for me to check and set the AI accordingly, though it would be a more static kind of assignment
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
em3
Vacuum Dragon
Posts: 630
Joined: Sun Sep 25, 2011 2:51 pm

Re: Notes on rev 5642

#20 Post by em3 »

Dilvish wrote:I'd recommend we just add corresponding Tags to the species -- that would be easy for me to check and set the AI accordingly, though it would be a more static kind of assignment
Well, a species could enumerate the behaviour types available to it, instead of specifying a single type.
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

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

Re: Notes on rev 5642

#21 Post by unjashfan »

Sometimes that's fatal to the AIs ships, sometimes it rescues the system. It's true the AI could do more assessment in this regards.
Having the AI assess the strength of any newly produced fleet in comparison to the attacking fleet is likely a must in the long run. If it thinks the friendly ships will lose, then it can send those fighters somewhere nearby (repeat as necessary) and have them regroup when the AI thinks it has a chance of removing the attackers. Here's an interesting idea: have the AI switch the research priority to system defense mines while any of its planets are under attack. I think this can make it a lot easier for the AI and that's also what I would do if I were in its shoes :) .
I hope you'll be able to see at least some partial responses to the first couple points in the nearish future.
Kudos for working on the AI. Really appreciate it :D

Zireael
Space Dragon
Posts: 429
Joined: Mon Aug 15, 2011 5:33 pm

Re: Notes on rev 5642

#22 Post by Zireael »

Thanks!

A question to Dilvish, as I got creamed by Turtle AI - would it be possible to stunt their technology or production on lower difficulties (Turtle and Cautious)...?
Please confirm if this experience was with Rev 5642+ or not.
It was with 5642.
3) increase or decrease AIs resource production to alter difficulty. Seems the easiest. No AI changes needed.
I think an easy to implement feature would be to give the human a huge homeworld and medium ones to the AI (only available if beginner mode is on).
Good ideas for beginner mode. Even though I've played many games, I could use such a mode :D

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

Re: Notes on rev 5642

#23 Post by Dilvish »

Zireael wrote:Good ideas for beginner mode. Even though I've played many games, I could use such a mode :D
I committed the beginner mode changes to SVN last night rev 5655, which also included some changes to Turtle and Cautious. Beginner will not use Gas Giant Generators. Beginner and Turtle will not use Solar Generators. Beginner, Turtle and Cautious will not use Singularity Generators. Additionally, Beginner AI will not initiate any invasions until turn 150.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

Post Reply