Trav'ling Canuck
Deity
- Joined
- Feb 7, 2018
- Messages
- 3,494
Expert System
According to Wikipedia "The most common disadvantage cited for expert systems in the academic literature is the knowledge acquisition problem. Obtaining the time of domain experts for any software application is always difficult, but for expert systems it was especially difficult because the experts were by definition highly valued and in constant demand by the organization.". So, for improved AI they'd have to put their top people (e.g. Karl/Carl, Ed, etc) on building the database. I'd estimate this would be a many man year effort. And then because it has to scale with difficulty you have to have that built in somehow, meaning also have a database scaled choices (bad - good). And while you're doing all this it would consume so many resources I personally wouldn't add other features to the release, thereby pissing off the majority of your customers in favor of the handful of those who want a smart AI. Finally it would be fragile, the history of expert systems is littered with many examples.
I think you're overestimating how good the expert system would have to be in Civ to, when couple with AI bonuses, allow the AI to present a challenge that would then make the rest of the game experience more enjoyable.
Here's my analysis, using my personal criteria for what an AI should do:
1. It should present interesting personalities to play against, who act in an internally consistent manner. This is about making the AI leaders differ in their approach, so that the game experience for the player differs depending on who they get for their neighbour. There's a lot that could be done here to reduce the "samey-ness" of the AI to date in Civ 6. They took some steps down this road with agendas, and changing the relative likelihood to go after a religion. I think they could do a lot more, to get the different AI leaders back to at least the level of distinct personalities they showed in Civ 5 (ideally, even more distinct given the base agenda system).
2. It should present a "speed bump" to players who don't manage their relationships with their neighbours. There's two issues to this currently, for me. First, if you ignore the AI, then after the Classical era, it will pretty much ignore you. This shouldn't require much of a tweak to address. Second, if the AI does attack, it's ineffective (other than the early Warrior rush). This is harder to fix, but not out of scope. It needs to be taught how to use ships and airplanes (both of which it could do in Civ 5, so possible). It needs to be given some simple rules like "move first, then shoot, then melee attack last". On higher difficulty levels, it needs to be taught to pillage like crazy, so that you can't just turtle up in your city until the AI kills itself off. When coupled with what the AI can already do well, militarily, most of the rest can be handled through giving the AI combat bonuses.
3. It should represent a decent "pace car", so that on higher difficulty levels, you have to play efficiently or the AI will win before you do. Most of the AI's speed will come from giving it bonuses. What the Civ 6 AI to date seems to be lacking is (a) a clear focus on picking and pursuing one victory condition, and (b) an understanding of the basic strategies to win at that victory condition. This second factor requires input from good players, and yes per the above comment about "fragile" expert systems, those strategies may become out of date, especially when new systems are added. So that one needs some time after the rules set is finished, but it doesn't need perfect strategy, since the AI also gets bonuses the payer doesn't. It just needs a viable strategy.
Some other basic building blocks to all of these also need some work, like teaching the AI how to build an appropriate size military, teaching the AI to stop building civilian units when it's cities are at risk of being captured, etc. I don't want to down play those. It is a complicated process, especially given the way the core systems work in Civ 6. But it's feasible to make improvements here, on top of the work that the development team has already done.