4 ms·
It's not like the choices are between a 'lively' cheating AI that can't play worth a fiddle without massive cheat bonuses, and a soulless unbeatable superhuman
by somenameforme 2y ago
It's not like the choices are between a 'lively' cheating AI that can't play worth a fiddle without massive cheat bonuses, and a soulless unbeatable superhuman AI that plays fair.
If it were possible to create a superhuman fair playing AI then the Civ bonuses themselves would create personality (in fact often strongly related to the desired personality characteristics of each civ!) even without additional 'hard coded' imperatives, which would of course also be possible.
And in this scenario create a compelling weaker AI would be much easier than trying to create a compelling strong AI (from a very weak base). There will need to be some 'move' evaluator function and simply picking weaker 'moves' would so fine. If that creates uncompelling AI then we could get back to cheating and impose resource penalties, but with much more compelling play. E.g. - kind of like playing a strong chess engine with knight odds.
- caseyy 2y agoWhen one builds game AI, one of the core design decisions is whether they want the system to be autonomous or authorable. You are right, its not a strict dichotomy. But both choices offer many advantages that an undecided/mixed approach doesn’t. Look up different game AI architectures: scripted, rule-based, finite state machines, behavior/decision tree, utility, planning, hierarchical task networks, and machine learning. Hard-coded imperatives are very difficult on highly autonomous architectures, as is complex systemic behavior in authored ones. Consider how hard it is to make an autonomous AI system like ChatGPT implement one simple hard imperative: not revealing the system prompt. Weak AI and strong AI are ambiguous terms. Most junior-level software engineers can create very complex gameplay systems if you're talking about complexity. It’s much harder to build simple ones that effectively create the illusion of intelligence on limited hardware. If you are talking about difficulty, then challenging AI is no harder to make than easy AI. Usually, game designers will naturally create hard AI as they play the game so much they become experts, and player testing is used to make it easy again. As you describe it, the move evaluator is a utility function approach that is neither very authorable/personable nor very autonomous. It is pretty limiting on both fronts, so it’s rarely used. A simple rule-based approach is more straightforward to balance and personalize for each agent/archetype. And difficulty scaling or balancing the game differently doesn’t require what you propose. They just chose not to do the balancing you want. There’s nothing wrong if you prefer a utility approach. We all have our preferences, and I like some pretty clever AI systems like GOAP that aren’t always a good fit for games like Civ. They are cool and smart systems but players rarely respond better to them than simple FSMs or rule-based game AI, which are easier to author. The utility approach is somewhere in the middle and could also be made context-specific with enough separate utility functions the agent would evaluate. But it is so much more work than to define simple if-then rules. :)
- somenameforme 2y agoI find the detail interesting but I think this is somewhat tangential. What we're talking about is cheating vs non-cheating AI. How it happens to be implemented is largely inconsequential. And it's obviously entirely possible to create a non-cheating AI with scalable difficulty, and there's not a player alive that'd miss the current systems of incapable AI that generates a challenge by excessive cheating.
- kibwen 2y agoWhy does it matter if the AI is "cheating"? There's nothing inherently virtuous about symmetric advantages, and Civ is already highly asymmetric in its fundamental design (map generation, spawn locations, faction bonuses). If you wish you had the option of facing a human-like opponent without inherent advantages, that's fair. But it's entirely unfounded to claim that giving an opponent advantages is somehow intrinsically illegitimate. It's a game, the nature of the challenge is an extraordinarily broad design space.
- deleted 2y ago[deleted]
- somenameforme 2y agoI think there's a simple issue to sum up the problem - implementation details should be hidden from the user. But AI systems that rely primarily on excessive cheating become a game where knowing their implementation is essentially 100% of the strategy because overcoming such an unfair gulf is basically impossible without breaking the AI. This lends itself to awkward strategies that should not work, but do. And it simultaneously also makes many aspects of the game basically red herrings in that they simply don't work. And that's seriously (!!!) a shame because the designers in Civ have done a great job of creating lots of really interesting systems, but these systems have gone far beyond the AI's capability, which is just compensated for by extreme cheating. It can also lead to the appearance of buggy behavior if you don't understand the implementation. For instance I think Firaxis did a much better job of the AI in XCom (in that it's enjoyable to play against at least), but there too you kind of need to understand the implementation or you might wonder about why, for instance, enemies seem to be magically teleporting around the map. The answer, of course, is that they indeed are. Of course creating a non-cheating AI that's competitive against skilled humans is extremely non-trivial. But if you at least work on improving the AI you can tune down the amount of cheating necessary to create a challenge, which means the experience can feel much closer to 'organic.'