In this update11
Full notes
Full Dread Admiral update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Events
- Balance
- Store
- Gameplay
Dread Admiral changes
The AI for Dread Admiral was an interesting challenge. The goal with this AI was to challenge you meaningfully without resource cheating. Most games solve the deficiencies with their AI opponents with bonus resources or that pure randomization will create enough chaos to challenge the player. Almost every game falls into this category - RTS games routinely rely on bonus resources, roguelikes on punishing random events - and here I am, awkwardly in the middle, with the goal to avoid giving the AI opponent little to no bonus resources and make it perform as human-like as possible.
Between needing to understand what to prioritize, what to build, where to move, how not to get shot, and what to attack - it's loaded with probably a dozen completely orthogonal algorithms, which each have to prep the next layer for success.
Steam post image
The AI is split into four chunks:
Command AI - What to build, what goals are we attempting to achieve in what order, and assigning fleets to the task
Fleet AI - Fleet composition - what ships would complement our fleet/what is our opponent weakest to
Move AI - where do we move relative to our goals and how should we position ourselves
Combat AI - what actions should we perform right now?
So the AI's goal of "We want to attack that thing" is actually:
"How badly do we want to attack it relative to other actions?"- this is determined by a simple scoring function that determines how much of its fleet it thinks it will have to use.
What ships can I pull to achieve this objective?
How do those ships need to move to eventually achieve that objective?
What attacks/actions can I make in the combat phase?
To rephrase, it's actually dozens of tiny problems that I've tried to solve with "scoring functions".
The Command AI "scores" each goal with a threat requirement and how badly it wants to achieve that goal
The Fleet AI "scores" its fleet and yours in terms of how they compare to one another
The Move AI "scores" each hex for each ship, comparing things like how much damage it might take by moving there vs how badly it wants to move towards its goal.
The Combat AI "scores" how much 'value' it gets from certain actions, trying to choose the one with the most value
Other operations that each component is responsible for:
Command AI
Which buildings should be purchased. E.g. do we need housing?
Where should we recon?
Can we afford to build a Transport or spare Escort, or do we need fleet?
Is there something I can harass with a submarine?
Fleet AI
How do 'ship preferences' play into our fleet composition. E.g. the Brawler personality will favor Destroyers to deal with Submarines, while the 'Air Supremacy' personality will favor carriers more likely.
Move AI
How many enemies are in range of my attacks?
How much flak coverage do I have?
Do I need to group up before we head towards our goal?
Approximate damage I might take by being in this location
Whether or not to Skirmish with a target
Combat AI
Are any of our units about to die?
Are any of the player's units about to die?
How much flak will my planes take hitting that target?
How much is it 'worth' to protect myself with a Patrol
And this is how many of the 'ai's in games are written - it's not learning, it's not thinking; it's a bunch of rules that are cranking away to imitate an opponent. A lot of times in our current day we focus on Artificial Intelligence as "An Artifact that is Intelligent" rather than its true meaning, something that "Imitates Intelligence" or, in other words, it's not intelligent at all - it's artificial - it's merely playing the part of an intelligent opponent.
Steam post image
Because of this, we anthropomorphize it when it's doing well. It's not that it's a fancy calculator designed to challenge you - it's that it's "Cheating". I've had a few people express disappointment that a few of the rules occasionally break immersion because they imagine the AI is playing the same game as they are - but it's worth realizing that that's rarely true for any game. When you play Inscryption, Leshy just starts with a set of cards, plops them down, and you battle them. When you play Into the Breach, the bugs aren't decided based on your composition or placement; they just pop up and do their thing. It's asymmetric.
Steam post image
If I've set before you a challenge, it really doesn't matter if you and the AI opponent are playing by the same rules - you're a human. My goal is to build an experience that will test and stretch your abilities in the game; it's not to reproduce a perfect facsimile of human play. Rarely would I hear criticisms of Command and Conquer for giving your opponent a full base with no downside, or that an Orca sees you trying to sneak around their base and blasts you for it. Rarely would I hear that the Orca blasting your single rifleman with rockets is a waste of government resources.
Steam post image
With the above in mind, realize that instead I've built a set of rules for it to follow to mimic what I tended to do when I was beating it - when it throws a Cruiser onto your CVL, it's because I wrote a specific rule to do that. Realism be damned, you would make that move, so it makes that move. When it recons your submarine, but only after you've used it, I told it to do that. When it sits just outside of range with something that has longer range than you, it's because I wrote a fancy algorithm to tell it where desirable hexes to sit are. When you see a Destroyer guarding a Transport or a City's Port - indeed, I added that specifically as a goal it should consider because I was using Submarines to clog its ports too easily.
Steam post image
What's next?
In future articles, I'll dive into the specifics of a given layer to give some idea of what's going on under the hood. For now, I hope this overview gives you an idea of why this is such an interesting and difficult task.
Until then, keep playing the demo and giving me that juicy feedback!
See you on Discord.
Source
Changelog.gg summarizes and formats this update. How we read updates.
