Need a harder difficulty

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
Kassiopeija
Dyson Forest
Posts: 212
Joined: Wed Jul 16, 2014 6:14 pm
Location: Black Forest

Re: Need a harder difficulty

#31 Post by Kassiopeija »

and the AIs are completely inept to reload a savefile after making a bad move XDXDXDXD
perhaps that should be given to the Experimentators^^

seriously there's a good game out there ("Eador") where "the ability to go back in time" is actually the special-ability of the player :)

User avatar
Kassiopeija
Dyson Forest
Posts: 212
Joined: Wed Jul 16, 2014 6:14 pm
Location: Black Forest

Re: Need a harder difficulty

#32 Post by Kassiopeija »

Since the idea to give the AIs difficulty bonuses is met with so much resistance I wonder if it would be possible to create a few "Super-races" which experienced players can fight against. That could be even copycloned versions of the normal races just with better stats.
I think it would be enough to do 2 things to them:
a) Increase their production-, research- & troopsbonuses. Perhaps starting by eliminating the penalties firstly.
b) Increase their colonization-tolerance; up to the ultimate point where any planet will be 'good'-suited right at the game start.

Wouldn't that be easy to do?

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: Need a harder difficulty

#33 Post by MatGB »

Something I thought I'd mentioned in this thread but apparently haven't.

Awhileback Geoff mocked up some code for a Beginner bonus, which would give newer players extra production/research from their cultural archives. It wouldn't be that hard (I think) to adapt that so that you could either have player driven bonuses or AI bonuses which would effectively increase the difficulty and/or give them a better early start.

I remain of the opinion that we should be hoping for a setup where the AI doesn't need any bonuses and should definitely never "cheat". But a fairly simple bonus that is under the player/moderator control that's clearly explained wouldn't be that bad a plan, even when we get into release, a really experienced/good player might always want tos et themselves a challenge.
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

ovarwa
Space Kraken
Posts: 122
Joined: Thu Dec 11, 2014 3:22 am

Re: Need a harder difficulty

#34 Post by ovarwa »

Hi,

Playing against an AI that 'understands' how to play a game is a very different experience than playing against an AI that gets (big) bonuses but does not. Both can be challenging, but the latter tends to be far less satisfying.

Sort of like playing against a chess program that starts with four queens.

I admit disappointment regarding the focus on adding new features instead of on improving the AI, tempered by the awareness that *I'm not the one implementing any of this*, and that the devs are writing the code they enjoy on their own dime.

Anyway,

Ken

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Need a harder difficulty

#35 Post by Vezzra »

Kassiopeija wrote:Wouldn't that be easy to do?
Depends on how exactly you'd expect that feature to be implemented, and what you understand by "easy".

What's definitely easy is what you can do already: go into the script folders and modify/copy-clone the playable races to your hearts desire. Requires some basic understanding of FOCS to do that of course.

What's probably not as easy is providing proper UI elements to let a player achieve that at game setup, without having to mess with the FOCS scripts. One possibility would be to create such "super" races (which could be enhanced versions of the playable races, or you can create just some "super" races, whatever floats your boat) and provide UI elements in the game setup dialog which let you select which races are "allowed" in the game. The most obvious approach being to have a list with all playable races with checkboxes, so you simply can tick a race on or off.

Have the "super" races switched off by default, and that setup should work fairly well.

However, that of course requires changes to the backend code, which I suspect to need some moderate efforts.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Need a harder difficulty

#36 Post by Vezzra »

ovarwa wrote:I admit disappointment regarding the focus on adding new features instead of on improving the AI
Well, that's not only a matter of the personal preferences of the active devs, but also one of individual strengths - coding an AI requires a specific "skill set" (so to speak), and at least some love for all the advanced math involved specifically with the field of artificial intelligence. That's not everyones cup of tea. I, for example, am useless on that front. I did some coding (migrating universe generation to Python has been my largest coding contribution so far), but AI is simply far beyond my skills.

We currently do have two active devs dedicated to AI development, but their time is very limited. Our main AI dev (Dilvish), who has done most of the work to bring the AI to it's current state, has been inactive for over a year, a loss that's difficult to compensate. Hopefully he'll return, he briefly dropped by shortly before christmas, so the hope still lives. ;)

However, if you know someone who is skilled in that field (AI), and can motivate them to join us... :D

Morlic
AI Contributor
Posts: 296
Joined: Tue Feb 17, 2015 11:54 am

Re: Need a harder difficulty

#37 Post by Morlic »

Geoff did some work to give human players on beginner difficulty some advantages: https://github.com/freeorion/freeorion/pull/928

I suppose you could use that feature to give the AI some advantage on the higher difficulties (I guess substituing Human -> Not Human should work, Geoff?). The AI will not fully understand what is happening though and its calculations will be slightly off (i.e. it will use the "vanilla" stats for calculations, not regarding the buffs). Still should give the AI some decent help, though.

Alternatively, you could add a handicap for the human player. That way, the AI will use the correct values for calculations and you get the same effect of a stronger AI.



Nothing for the "official" branch, but this way players who are looking for harder challenges may create a "cheating" AI for themselves modifying only the FOCS scripts...
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: Need a harder difficulty

#38 Post by Geoff the Medio »

Morlic wrote:Geoff did some work to give human players on beginner difficulty some advantages: https://github.com/freeorion/freeorion/pull/928

I suppose you could use that feature to give the AI some advantage on the higher difficulties (I guess substituing Human -> Not Human should work, Geoff?).
[...]
Nothing for the "official" branch, but this way players who are looking for harder challenges may create a "cheating" AI for themselves modifying only the FOCS scripts...
"Not Human" should work. Make sure to exclude unowned objects, though.

What I'm pondering is added another AI Aggression setting, which explicitly will give AIs cheaty bonuses. This could be used until I get a proper / flexible game rules system implemented.

xlightwavex
Space Kraken
Posts: 111
Joined: Mon Nov 16, 2015 5:57 am

Re: Need a harder difficulty

#39 Post by xlightwavex »

The real problem i think is that the Ai is Not "Simple" to tweek or script any of its behavioral decisions. If everyone or anyone could script it easily which right now its not easy at all to script like the foc's are. You would see lots of different ai's get made, and you could even pit them against each other to let them auto test themselves via survival of the fittest ai.

Basically like a MyAi001 script were you start with a default.

PreferedDisposition = Aggressive or Defensive or Opportunistic or Sneeky
CurrentDisposition = PreferedDisposition
Determination = High Medium or Low // thats like difficulty but now its in the context of the above
CurrentDetermination = Determination // like maybe it changes if what its doing isn't working.

Then you can script when and how that determination to its disposition can change. Like is there a weakened enemy then maybe a defensive ai will try to snatch one of his planets and go defensive again ect totally unexpected from its default behavior.

The ai i think needs to be able to make longer term plans and see the bigger picture better and adapt in that way.

Thats whats really needed is AI behaviors that form into a difficulty that are easily modifyable to custom ai's. Basically preferences which change how two ai's will typically react or behave in similar conditions. That would make each ai much less predictable.

Like say the thing with troop ships were the ai likes to amass them.

lets say some ai's wont even build them till they have a warship fleet to join them to.
Some just want to bomb planets and will only build a colony ship after it cleans out a planet.
Some might arm their troops ships like they only build medium to large ships and then stick weapons on troop ships to double as all purpose unit's.

The user can roll in make a script that says sure do that except when this particular set of conditions occur then change to some specific build and aggression strategy till you reach some goal then attack. You could have tons of these eventually made by different people and pit them all against each other and the players to see which ones are the best.

User avatar
L29Ah
Space Squid
Posts: 84
Joined: Thu Oct 06, 2016 3:19 pm

Re: Need a harder difficulty

#40 Post by L29Ah »

"Harder difficulty" in a strategy game is called "multiplayer".
Team S.M.A.C.: play multiplayer with us!

User avatar
Krikkitone
Creative Contributor
Posts: 1559
Joined: Sat Sep 13, 2003 6:52 pm

Re: Need a harder difficulty

#41 Post by Krikkitone »

ovarwa wrote:Hi,

Playing against an AI that 'understands' how to play a game is a very different experience than playing against an AI that gets (big) bonuses but does not. Both can be challenging, but the latter tends to be far less satisfying.

Sort of like playing against a chess program that starts with four queens.

I admit disappointment regarding the focus on adding new features instead of on improving the AI, tempered by the awareness that *I'm not the one implementing any of this*, and that the devs are writing the code they enjoy on their own dime.

Anyway,

Ken
Part of the problem is that you can't really make an AI that 'understands' the game unless you 'understand' the game. If the game is changing because of the addition of new features, the AI will be out of date (since it is hard to tell what effect a new feature will actually have on the game)

Particularly if you are also balancing features.

That said in terms of making the AI better....
The skill of the AI (once the game has stopped changing*) can definitely get better, but will still be limited.

Special bonuses for the AI will be needed for it to be challenging for good players.....the issue here is to make those bonuses most similar in effect to playing against someone with a high level of skill.

so...
starting only bonuses... probably bad (you just catch up to the AI and then it is easy)
rule-breaking bonuses (AI ignores certain things)...probably bad..often dependent on what those rules are (some might be OK)
continuous bonuses (AI gets X% great production/research or has things X% cheaper)...probably the best

*this actually will probably never happen until FO is abandonware...balance changes will probably still happen, but as the game gets more stable, the AI writers can begin to catch up.

Post Reply