Loading...
  OR  Zero-K Name:    Password:   

Some feedback about how AIs of each difficulty should perform

63 posts, 2615 views
Post comment
Filter:    Player:  
Page of 4 (63 records)
sort


6 years ago
USrank[GBC]1v0ry_k1ng I want to caution you about worrying too much about gimped easy AI being too boring. Lord be my witness, I've done things in zk when I'd first found it that I would consider the platonic form of boredom today. Untold hours of putting CAI on an island and myself on another and sitting there teching2nuke just so I could watch the explosion, massive porcfests rushing a ddm and slowly creeping forward with more after CAI forced me into a corner. The novelty alone provided enough entertainment.

The solution to the player getting bored killing an AI should be to go up another difficulty level and become a better player. It's too easy, from our vantage point of being vets, to come up with features that seem fun, but will give a complete newbie a horrible time.
+3 / -0

6 years ago
I think it's important to make the AI's unit control somewhat worse on lower difficulty levels as well. Only limiting what it can build, but still having flawless raider micro, is likely to be pretty meh.
+0 / -0


6 years ago
Raider micro is easy to gimp, shouldn't be a problem
+0 / -0
USrank[GBC]1v0ry_k1ng: If you believe players would become bored if not challenged, then I believe that they should just look into fighting harder AIs if they're too skilled to fight against one or more easier AIs. After all, in my opinion, easy AIs should never, EVER be a challenge for anyone UNLESS they're new to RTS games in general. Instead, I believe that normal AIs, as I said before, should be a suitable challenge for most players, especially intermediate-skilled players who are familiar with general basic RTS concepts, but are still trying to learn and master Zero-K's own particular slew of game mechanics and features.

Speaking of, although I might support preventing very easy and easy AIs from using artillery, air units, units that remain cloaked while moving, units and structures that provide large shield coverage to other units and structures (such as Aegis or Aspis, but with the exception of combat units like Thugs or Felons), or heavy units in general, perhaps restricting them for use by harder AIs only would be too much of a nerf for normal AIs? I'm pretty sure that most players would try to learn how to effectively use these kinds of units or structures anyways, and would have to learn how to counter them when facing off against other players, so why keep them out of the hands of normal AIs, especially when they're supposed to be the ideal difficulty level for most players?

Perhaps it'd be better to set limits to the micromanagement and macromanagement capabilities of any AIs below hard difficulty instead? Alot of the difficulty issues that I have with the current easy AIs, such as being overly-aggressive and meticulous at reclaiming wreckage, actively (instead of passively for my ideal for Normal difficulty, or not at all for my ideal for Easy) trying to preserve the health of heavier, more powerful units (especially through the use of constructors being sent to the damaged units in question), and actively ordering groups of certain units (such as anti-air units) to attack enemy units that they counter well (such as gunships or aircraft) all seem to ultimately boil down to how well the AI micromanages and macromanages its forces. In StarCraft 2, for example, I've noticed that, at easier difficulty levels, the AI wouldn't use the special abilities of various units (such as the High Templar's Psionic Storm AoE ability) a whole lot (if at all), but at harder difficulties, they'd use these special abilities at the right place at the right time (such as if there are a bunch of enemy marines for the High Templar's Psionic Storm ability to slaughter).
+0 / -0
I've made a new Very Easy config which I believe accomplishes the goals I discussed earlier. I started with the Hard config and then crippled it as follows:
  • Set the max mexes to 15%
  • Set the construction delay to 15 seconds
  • Removed planes, gunships, ships, and striders
  • Limited the type and number of units built
    • Constructors: 3
    • Raiders: 3
    • Scouts: 2
    • Skirms: 1
    • Riots: 1
    • Assaults: 1
    • AA: 1
    • All other units: 0
    • No artillery, no specials, no heavies
    • Most facs use these limits, but there are some exceptions/tweaks
  • Limited the type and number of static defenses
    • Bases contain one Defender, two Lotuses, one Stinger, and two Hacksaws
    • Expansions may have Defenders and Lotuses, and may have several of them
    • No Stardust, no Faraday, no Gauss, no other AA
    • Nothing heavy (DDM, Anni, BB, nuke, etc)
    • Bases have one caretaker plus one more per factory
  • Assigned all buildable units the "raider" role only, regardless of their actual unit type
  • Set the maximum comm morph to Level 2
  • Removed custom initial build queues for each com/fac combo
  • Disabled retreat for all units
Here's how the crippled AI behaves:

It quickly builds a base and expands out to 15% of the map. It makes a very small set of units and sends them roaming around the map independently of each other rather than in groups. The units mostly stay concentrated in the middle of the map but will make excursions to the edges and corners in ones and twos. It never assembles an assault squad and never launches an attack on the player's base. It sort-of raids, but the raids are easily repelled by token defenses. Even if it happens to attack with a force large enough to overcome the defenses, it usually abandons the raid and withdraws if there is any resistance at all. However, it will find and destroy any undefended expansions anywhere on the map.

It completes its base within five to ten minutes. Bases have some defenses but nothing that's particularly hard to overcome. Bases have wind, solar, fusion, and sometimes even singus, because killing fusions and singus makes explosions which are exciting and fun.

It never builds more than the unit limits. As units are destroyed by the player, it replaces them quickly, but never has more than the limit on the field at one time. It excesses metal like crazy.

The unit limits are per-factory. The AI usually (but not always) builds a second factory sometime between 15 and 45 minutes, and sometimes builds a third as well. If it builds three factories there can actually be a sizeable force in play, but even so it will still never raid more aggressively and will still never launch an attack. It just means that the middle of the map is harder for the player to take, and undefended expansions will be found and destroyed faster.

Here's what the player experiences:

The player is mostly left alone in his corner. As long as his base is defended at all - whether by statics or units - he will occasionally be visited by some units that he can easily dispatch, but is otherwise perfectly safe. He can take all the time he wants to figure out how to use the UI and to experiment with building various units and to learn about the economy.

About the only way for the player to lose is to walk his unupgraded comm into the middle of the map, and leave it there, without having plopped his factory elsewhere first.

While the player can't lose, it's still somewhat of a challenge to win. He needs to build a large enough army to break through the middle (usually very easy, unless the AI has built three factories) and to kill the AI base (which is somewhat harder due to the defenses and usually the AI's comm). It's not particularly difficult but it may take a new player some trial-and-error to learn what works. But it can be done by a completely new player, even someone who's never played an RTS before, even if they don't figure out things like how to expand and how to increase production. At the absolute worst, they just need to be patient enough to build a huge pile of units and march them into the base (maybe a few different times). It almost doesn't matter what they build or how they use them as long as they build enough of them. That could take many minutes if they haven't learned how to increase their income and assist their factory, but even at 10 m/s it doesn't take too long to spam out enough Glaives to wipe out the AI base.

They could also win by building superweapons, although of course that will take even longer if they still haven't figured out how the economy works. But new players seem to enjoy doing exactly that, so with this config, they can, and they'll (eventually) win when they do.



I've tested this config on different maps, against different AIs, and against myself playing like an absolute starting-from-nothing beginner. I'm reasonably sure that this config will give our newest players the space they need to experiment with the game while also giving them something to defend against (the occasional raid), something to attack (a variety of units in the middle of the map) and something to destroy with some effort (the AI base).

Further testing and feedback is welcome. Please see this github issue to download the new config.
+5 / -0
I've now made a new Easy config that is an appropriate step up from my new Very Easy config. Once again I started with the Hard config and crippled it as follows:
  • Set the max mexes to 30%
  • Set the construction delay to 30 seconds
  • Set the maximum comm morph to Level 4
  • Disabled retreat for all units
Otherwise, the config is exactly like Hard. All factories and all units may be in play; that includes air, striders, and superweapons. There are no limits to the type or number of units; the AI is only limited by its crippled build rate and its capped mex income. The result is an AI that fights hard but has a very slow start and never sweeps the map.

Here's what the player experiences:

For a while, the player is mostly left alone, with only an occasional small raid which is easily turned back by light defenses (either statics or units). The AI's presence on the field is small and scattered; easy pickings for the player to mop up with a modest squad. The AI's base is very vulnerable at first, but becomes pretty well-defended before too long.

By about the ten minute mark the AI has enough units to mount an attack if the player hasn't made them take attrition. The attack is still easy to defend against but will take more than just light defenses. If the player hasn't done anything to reduce the AI's expansion / production / fielded forces, then somewhere between fifteen and twenty minutes the AI starts sending in heavies, including striders. If the player hasn't prepared then they will get stomped.

In order to win, the player needs to know how to do any ONE of the following:
  • Expand, defend expansions, and increase production
  • Attack early and continue attacking
  • Trade efficiently by using appropriate unit counters
A player that doesn't do ANY of those (i.e. sits in a small, poorly-defended base while building a nuke at 10 m/s) will get steamrolled by the AI between fifteen and thirty minutes. They'll get plenty of warning that it's coming as the incursions increase in strength between five and fifteen minutes.

If the player expands, protects the expansions, and uses constructors to increase their production then they will easily outproduce the AI. They can win by spamming anything and sweeping the board, or they can porc up and make superweapons. If the player stays on a small base but makes units quickly and attacks right away they'll wipe out everything the AI has on the field, and as long as they keep it up they'll eventually crack the base. If the player is slower to attack but doesn't lose all their raiders to riots and all their skirms to raiders then they'll still be able to crush the AI before the AI can swarm the map with heavies.

A player that can do any ONE of those will win, and will be fighting enough enemies that winning will be a fun experience. A player that can do two or three (even if they don't do them very well) will win quickly and easily and is ready for the next stronger AI.

Testing and feedback is welcome, see this PR to obtain the new config.
+1 / -0


6 years ago
I have not had a chance to try it yet but it sounds too difficult. How does it compare to the Easy that it is replacing? The AI will make Wyverns and these will defeat new players. I'll test it out later.

Testing on new players is vital here.
+0 / -0
quote:
it sounds too difficult. How does it compare to the Easy that it is replacing?

The existing Easy steamrolls this one.

quote:
The AI will make Wyverns and these will defeat new players.

The build delay and the mex limit have a HUGE effect on the dynamics of the game. I believe they dwarf any other considerations. I believe that any player who can expand/defend/produce OR attack early and often OR attack effectively will beat this AI (although perhaps not consistently), and that any player who can do two or three of the above (even if imperfectly) will beat the AI handily.

quote:
I'll test it out later.

I came to the above conclusions based on my own testing. I played as if I were a very new, very poor player with a rudimentary grasp of the game. I attempted various scenarios, such as failing to expand, failing to increase build rate, failing to attack, failing to defend, and failing to use units effectively - usually many or most of these at once. I tried attacking in small groups, in waves, and in huge masses. I tried not attacking at all: making light defenses, moderate defenses, and super-porc with superweapons.

I encourage others to do the same. Try to test it from a new player's perspective. I think you'll find that the AI will stomp the player if they do nothing, but the player can win if they do something (even if they do it poorly), and the player will win if they do something well. I think that's exactly the spot we want Easy to be.

quote:
Testing on new players is vital here.

Absolutely. I have no idea how to go about doing that.


+0 / -0


6 years ago
There are, broadly, two ways to test on new players.

The first uses the fact that most of the people in your house/city/country and noobs. Either bring them to you or go to them (better, because they will get the default UI) and have them play against the AI. They probably need to do the tutorials and play Very Easy first so this can take a bit of time. However, you get to see much more than you do from a replay. For example you can see exactly what it is that makes them take forever to take actions and use this for UI feedback.

The second way is to approach/lure some new players into a custom battleroom where you have added your AI. This is simpler logistically but you see a lot less. I know that the community has quite a few new players at the level of Easy AI because I see comments from people who say they can beat a large number of Very Easy AIs but get destroyed by the current Easy.

I really like that you can make Easy from Hard just by setting a build delay, maximum expansion, and disabling retreat and big comms. Do you think all difficulty levels could be made this way? If we need an easier Easy would you just boost the build delay and tighten the expansion limit? Can the levels up to hard be created by slowly reintroducing retreat, expansion and lowered build delay?
+0 / -0


6 years ago
quote:
I really like that you can make Easy from Hard just by setting a build delay, maximum expansion, and disabling retreat and big comms.

Yes, that discovery made me happy as well. :)

quote:
Do you think all difficulty levels could be made this way?

My current thought is "maybe". I'm trying to build the next step up from Easy that way, but I need more time to test and tune.

quote:
If we need an easier Easy would you just boost the build delay and tighten the expansion limit?

That would be the first thing I'd try. It's possible this approach has its limits in either direction, but for now I do think this is a good lever to pull on. In my testing, 20s/40% seemed too tough, 25s/35% was better but still harder than I liked, and 30s/30% felt just about right.

quote:
Can the levels up to hard be created by slowly reintroducing retreat, expansion and lowered build delay?

I think so, but testing is needed. There's a limit to the granularity, and there seem to be tipping points. Move them back too much and pretty soon you're just playing Hard.

I'm not sure how much of a role retreat plays; I only disabled it because it seemed like a good idea. I haven't tested the AI with and without retreat to compare. Disabling retreat hasn't made units utterly suicidal; it looks like they'll pull back when they detect that they are facing a superior force (which is probably the fundamental CircuitAI mechanism at work), or even just because they run out of targets in their immediate vicinity. When they do pull back, they get repaired. So enabling retreat probably only confers a minor advantage, at least at the lower skill levels where fundamentals like production rate and force size dominate. Also, tweaking retreat is annoying because it's set independently for each unit, and it looks like the values in the Hard config were arrived through some degree of trial and error. For Easy I just removed them all.
+0 / -0


6 years ago
Heavy units always get repaired when damaged

Other units only get repaired when retreating

Not retreating will make circuit play medium weight factories like light vehicles extra badly
+1 / -0
quote:

(a) Expand, defend expansions, and increase production
(b) Attack early and continue attacking
(c) Trade efficiently by using appropriate unit counters


I think Easy should be beatable by porcnabs, because porcnabs will be 80% of new players and they typically have way more fun playing simcity than a "hardcore" 1v1 and teaching them "proper" play doesn't matter because they don't actually want to get better, they want to watch explosions. Your three points don't seem to cover porcnabs. Technically turrets are type counters to most regular units so they kinda fit (c) but an AI without gimped composition will just use arty or superweapons.
+0 / -0
quote:
I think Easy should be beatable by porcnabs [..] Your three points don't seem to cover porcnabs.

My Easy config is easily beatable by porcnabs, as long as their fortress is larger than just their starting mexes and as long as they know how to use constructors to increase their porc build rate. The AI's production rate is severely crippled. A noob who techs-to-nooks behind a line of DDMs will obliterate the AI's attack squads and flatten the AI's base, and be very pleased with their cleverness and the shiny explosions.

If they try to build a fortress and nukes using only their starting mexes and their commander, they will get rolled at about fifteen to twenty minutes. I think that's a fine lesson for them to learn on Easy. Note that they can get away with that on Very Easy if that's what they want to do.

These are scenarios I covered in my testing, knowing that this is exactly what most new players will try to do.
+0 / -0


6 years ago
My current thinking is that there's probably room using this approach for two more levels, which I'll refer to here as Normal and Hard, renaming the unfettered AI to Very Hard.

Whereas Very Easy can be beaten by nearly anyone regardless of skill, experience, or game knowledge, and Easy can be beaten by anyone who grasps one or more of the ZK fundamentals, beating Normal/Easy/Hard requires the player to understand all of those fundamentals and attempt to apply them (expand, defend, produce, and attack). The difference would be in the required quality of execution, which draws on a set of skills beyond just knowing what to do: skills such as multitasking, micromanaging battles, keeping constructors busy, avoiding excessing metal, establishing and maintaining map awareness and control, fighting on multiple fronts, controlling the airspace, etc.

Normal should require the fundamentals but be beatable by players whose execution is poor. Hard should be a step up from that, requiring significantly better execution. And Very Hard would require even better execution than that. Further difficulty increases requiring further execution improvements would come from playing against multiple Very Hard AIs simultaneously, handicapping the player by giving them relatively fewer starting resources and production capacity than the AI.

I'll work in this direction and see how it goes.

Note that porcing will probably remain a viable strategy at all of these levels, as long as the player has the necessary skill to secure an adequate income within and around the defended base and knows how to build eco to increase that income via overdrive. The AI splits its focus between attack, defense, and eco, so a player specializing in only defense and eco should be able to maintain parity well enough to escalate to superweapons before the AI does (although that will be easier at the lower levels where the AI is restricted in the territory it can claim).
+0 / -0

6 years ago
Another question: how does the AI fare with `metalmult=9001`?

A lot of newbs like to have a free build mode and at the same time have the AI do a flood of low-tier attacks but not otherwise do any game-ending moves. An Easy AI that is gimped in its economy but not the unit roster becomes Hard when given infinite metal. I think it's still worth having some form of AI with a gimped unit roster for this purpose. Easy AI sounds like the best candidate for this.

There's the similar question of maps without mex spots (like speedmetal), does the AI work there at all? If yes, what does the 30% limit correspond to?


On Wyvern: I think it's bad to allow Easy to use them. You are supposed to be able to win Easy if you can grasp any fundamental skill but countering Wyvern is a comparatively advanced and very specific skill. The unit just feels unfair, especially when you're just learning the basics, and I think Easy just shouldn't invoke that feeling.
+2 / -0


6 years ago
Do some testing and let me know what you find.
+0 / -0


6 years ago
Perhaps there should be a level easier than the proposed easy that cannot build certain units.

Ideally, to cut down on work, the AI difficulty levels should be usable for the campaign. To be usable an AI has to be able to build and use all the unit types. Limited expansion may not be relevant if the AI spawns with too many mexes and it may make some bonus objectives related to raiding irrelevant. Build delay and retreat sound like excellent general purpose ways to make campaign AI easier.
+1 / -0
>Ultra easy AI - build fac, takes 1 - 3 mex spots and build only few raiders and then send them attack. Example 4 glaives within 3 - 5 min interval. Build also one lotus to near its factory. Build also 2 solars on each mex. Doesn't build air/GS factory. Morph com one level. Doesn't build workers or caretakers.
>Very easy AI - build 3 - 5 mex + solars. Lotus near factory. Spam several raiders, few skirmishers and few riots. Doesn't build workers or caretakers.
>Easy AI - expand without restrictions. Spam lotus near mex and defenders as well. Send raiders, skirmishers and riots in larger quantity, few assaults. Still time restriction and wave time 3 - 4 min. Build in late game (after 20 min) aircraft factory with few swifts. Morph com lvl up. Build only one caretaker near factory. Build mobile aa units if enemy builds air.
>Medium AI - Expands free, reclaim, spam units like CAI without time intervals but only up to few artillery present in field (except impalers and tremors). Spam defence buildings like lotus, defenders, HLT and some razors if encounter enemy air. Build aircraft factory in late game with few bombers and TB. Build gs factory and several gnats, banshee. Build mobile aa units if enemy builds air. Build few cons free expansions.
>Hard AI - expand free, reclaim, start building also fusions in its grid, starts building lonely heavy units like grizzly, golly. Building most porc, build all units from air factory, all units from GS except krow. Start building shield balls by its own. Doesn't use aegis, cloakers. Build multiple factory and use caretakers/cons active. Build antinukes and silo.
>Very hard AI - build all units/buildings/striders with no restrictions and starts to school Zero K to players.
+0 / -0
Firepluk
pls no lobmorph past lvl2 on hard
+0 / -0
6 years ago
Zero-K should get a machine learning API for the AI. Since there are not enough games going on, the training would require simulation of course.
+0 / -0
Page of 4 (63 records)