Status
SteamPeaks
ChartsSalesUpcomingPatchesEventsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
EventsSteam's own events and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesEventsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
Dread Admiral Demo›Events›Devlog #2 - Let's talk about CPU AI
Community

Devlog #2 - Let's talk about CPU AI

Dread Admiral Demo · published 47 days ago

All eventsPlayers around this dateRead on Steam

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.


The AI is split into four chunks:

  1. Command AI - What to build, what goals are we attempting to achieve in what order, and assigning fleets to the task

  2. Fleet AI - Fleet composition - what ships would complement our fleet/what is our opponent weakest to

  3. Move AI - where do we move relative to our goals and how should we position ourselves

  4. 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".

  1. The Command AI "scores" each goal with a threat requirement and how badly it wants to achieve that goal

  2. The Fleet AI "scores" its fleet and yours in terms of how they compare to one another

  3. 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.

  4. 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.

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.

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.

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.


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.

More from Dread Admiral Demo

Other announcements

All events
Dread Admiral DemoGame update5 Sep 2026Version 1.0.5 - Localization fixes and UI fixesLocalization: * Building Descriptions/Names will now localize properly * Other small various city related text has been fixed * Updated Conquering Hero, Scorched Earth, and Tea Traders perk text * Text bubble text for Conq Hero, Destroyer, and Tea Traders fixed Minor: * Reverted Building/Ship panel change. It should once again consistently show. * Fixed a bug with Tech Lab missions - the player…Dread Admiral DemoGame update4 Sep 2026Version 1.0.4 - routine maintenanceMap Balance: * Cities are more likely to be evenly spread horizontally. -> Note: Only affects new campaigns/skirmish. The entire campaign map is generated on creation. Balance: * Patrols' coverage extended by ~15% Minor: * Fixed a rare bug where a Fort would somehow get an Engine Damaged crit. (Don't know the root cause.) * Action Info Panel and Purchase Panel descriptions should now move out o…Dread Admiral DemoGame update4 Sep 2026Version 1.0.3 - Reduced Difficulty (Easier/Normal)Campaign Balance: Easier/Normal (in each of the cases below, the first change is for Easier and the second for Normal) * Chance of Modifiers reduced by roughly 25% (relative.) * Anti-snowball bonus fleet for AI reduced by 33-50%. (.3->.15 and .4 to .3) * Ai money reduced 33% and 20% respectively (from 15->10 per mission and 25->20 per mission) * Ai fleet reduced by $35 and $25 on all missions *…