Friday, April 11, 2014

AI War Beta 7.019-7.020 "Oops MkII" Released!

This one is partly a hotfix to deal with a fairly serious AI bug I introduced in the previous version, but there was a fair bit of other work in the hopper ready to go out as well.

Not a huge release, overall, because we're basically in the last week before the April 18th official release of The Last Federation. The AI thinks you should go take a look. It'll watch your defenses while you're gone.

Speaking of the AI, some background on the main bug this release fixes:


Whenever AI threat ships (unlike guard ships, threat ships are free to attack you wherever and whenever they please) are on a planet there's a basic decision tree that gets checked repeatedly on the AI thread:

I) Is there an interesting human presence here? Basically this means anything over a token force, or the presence of a human command station, or the presence of a human irreplaceable (fab, etc).

I.A) If so, are we seriously overmatched by the local forces, and have we been here long enough to run away?
I.A.1) If so, pick a random planet an run for it.

I.B) If we're not overmatched, do we seriously overmatch the local human forces?
I.B.1) If so, generally focus on knocking out any irreplaceable units and the command station (if any).

I.C) If we're pretty evenly matched, then let each ship pick the targets it's best against in an effort to win the fight.

II) But if there is no interesting human presence here:

II.A) If we're Special Forces:
II.A.1) Go to the currently designated Special Forces rally point (which could be its "waiting area" a few hops deep into AI Territory if there's nothing suitable, or it could be a sufficiently-important AI planet with human forces it wants to crush).

II.B) If we're Threatfleet (not just normal threat, but threat that got stuck waiting somewhere for over half an hour and thus joins the coherent Threatfleet)
II.B.1) Go to the currently designated Threatfleet rally point (which could be its "waiting area" a few hops deep into AI Territory, or it could be an AI planet under attack by human forces the Threatfleet thinks it can take, or it could be a neutral/human planet it thinks it can take)

II.C) If we're just normal threat, look at all the planets and sort them by a combination of Desirability (command stations and irreplaceables have various values of this) and Difficulty (based on the local forces there and the forces in the way from here to there), then get on the road to the best looking target. Later on, at each wormhole, each ship will check whether it should wait before proceeding due to an unfavorable local strength balance.


And normally all this works pretty well. Except when a certain boneheaded programmer (yours truly) is renovating the AI code and accidentally makes it so it thinks the answer to the question marked "I)" above is ALWAYS "no".

So the AI threat would get to the target planet, surrounded by hideously powerful human defenses protecting a pile of irreplaceables, and ask itself "is there an interesting human presence here?" ... "Nah. Where to next, Bob?".

If I ever add that behavior back to the game as a legitimate AI Type, I'll probably call it "Inebriated". Three sheets to the wind. Yet strangely still effective in many circumstances.


In other news, the AI is now much smarter (theoretically, see above) about factoring in your mobile forces: specifically, when looking at a planet to see if it can win a fight there, it considers not just the local mobile and static human strength but also human mobile strength within 3 hops. This makes it much more difficult to lure into attacking a planet with relatively light static defenses by just pulling your mobile stuff back to the other side of a wormhole, only to bring it back in immediately after the AI takes the bait. There are a few nuances to when mobile human strength counts in this way, and some other new rules about how it evaluates "can I take that planet?" to help embolden the AI to attack on multiple fronts once it's in a serious fight with you anywhere.

There's also a few other changes in there, like MkV Spirecraft Jumpships becoming immune to Black Hole Machines, the Core Guard Post on-death exos now always spawn on the post's planet (making it less mandatory to split your fleet during a high-difficulty AI Homeworld assualt), and Remains Rebuilders are a bit better about prioritizing Energy Collectors and stuff currently in their range, etc.

Update: 7.020 hotfix for some performance problems (i.e. 10 second freezes, in some cases on some machines) recently introduced into the reinforcement logic.

Enjoy!

This is a standard update that you can download through the in-game updater itself, if you already have 4.000 or later. When you launch the game, you'll see the notice of the update having been found if you're connected to the Internet at the time. If you don't have 4.000 or later, you can download that here.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.