ZeroK-RTS / Zero-K

Open source RTS game running on the Spring/Recoil engine
https://zero-k.info
GNU General Public License v2.0
689 stars 206 forks source link

An actual very easy AI #2179

Closed db81 closed 7 years ago

db81 commented 7 years ago

In a C&C game, if you 1v1 a Very Easy AI, it will sit in its base and keep sending tiny groups of units to you, that can be trivially defeated with a single turret. It will keep doing that for hours and barely expand, if at all, just sitting there and waiting to you to come and level its base. You can leave it for hours and it will keep sending the same dozen of soviet conscripts straight into your turret, and you'll find your base still there. I may be misremembering, but that's how it felt.

In ZK, a very easy circuit will level your base with reapers and bomb you with lichos, and it will do that in twenty minutes. Then you will queue ten flails from the start because last time the lichos nearly gave you ptsd, and in 20 minutes you will still be crushed, because you don't understand streaming economy and excess, but circuit does! Look at this poor guy: https://www.twitch.tv/videos/135979416.

I think it's vital for the steam release to have an actual very easy option, as understood by regular people. This is what it will do:

The main point of this is to have an AI that won't become progressively harder to defeat the longer you leave it alone. You cannot solve that by taking a normal AI and slowing its expansion. It needs to excess on purpose and never graduate to building harder to defeat armies.

This is also the AI that should be used for most initial missions, instead of hacky attempts to coerce one that tries to play an actual game into not killing the player too fast in a glorified tutorial.

Anarchid commented 7 years ago

Perhaps gutting Circuit to such extents is too much and some minimal LuaAI could do it just as well. Or just a slightly damaged CAI, even.

DeinFreund commented 7 years ago

CAI but remove caretaker and factory construction? No striders, constantly excessing factory and no defense avoidance. If needed even remove constructors so it won't be able to expand or porc.

ashdnazg commented 7 years ago

btw, another lesson from that game is to offset circuit's difficulty descriptions to: Medium, Hard, Harder, Very Hard, Madness or something like this that better reflect the actual difficulties. A level or two may be dropped maybe?

DeinFreund commented 7 years ago

Even KGB which decisively beats all of the circuits only manages a competitive rating of around 1450 Elo. While I agree that an easier "easiest" AI would be nice to have, there's no need to make this a children's game like some game publisher's like to do. There's no point calling something "very hard" or "madness" if a majority of players can win it. Instead there should be a significant difference between difficulty levels.

ashdnazg commented 7 years ago

Yeah, that's why I suggested dropping some levels. I feel like they're not distinct enough. Note that it's better to mark something as slightly harder than it is than to mark it as worse than it is

db81 commented 7 years ago

I don't think we need to dumb anything down or go out of our way to misconstrue it as much harder than it is. As long as our very easy option is easy for someone who's never played an rts seriously and is unfamiliar with zk, we're fine. Even a big jump from that to easy circuit (because now it actually expands and tries not to excess) is fine, now it's a fun challenge to beat the next level, and not OMG IMPOSSEBLE GAEM VERY EZ KILLS ME ALWYAS.

GoogleFrog commented 7 years ago

Go ahead, configure the very easy circuit to do this. The very easy circuit could even be moved up to be the easy circuit. IvoryKing made the circuit configs and he doesn't do much other development so I don't expect it to be an onerous task technically. Talk to IK and lamer to learn how to do it.

GoogleFrog commented 7 years ago

This ticket is complete. Very Easy has the following changes:

The gaps between the four difficulty levels may be poorly defined, if so make a ticket. I made Easy easier and Hard has improved with the latest stable according to @cleanrock.

GoogleFrog commented 7 years ago

I've also remove all the retreat to repair behaviour https://github.com/ZeroK-RTS/Chobby/commit/09bcd816ba56a66c89fa20185fcc843677cb1493.