On AI; Transparant goals/means, on MMI (man(player) mashine interaction)[AI UI], and On smart surrender
Frogboy this one is all for you, hope you like it.
Goodmorning all, and Goodmorning Frogboy.
I know that AI is VERY important to Stardock games, and I've been giving a lot of thought to AI in 4X(4E) TBS games so i wanted to share my brainstorming if I'm lucky spark a forest fire.
It is my understanding from playing GC and reading the AI forum that you intend the AI to be modable, and dynamic. It is my understanding that AIs are programmed by exploiting state machines, and often fuzzy logic to build dynamic and responsive systems. Systems that can change their overall goals (states are defined: how do i plan to win, how am i going to get there, what are my top priorities..). By looking at your outline, it seam you want to have top level goals, and second level goals, then have grunt work machines that do the busy stuff. to make the top level goals work.
What i would like to propose to make your AI: 1 more easy to mod, and 2 more easy to allow it to learn and adapt, Is to make those goals and means to achieve those goals explicate and human readable in game. In the program AI routines exist, they are active, or dis activated, given priorities, allocated resources to achieve their goals, and there are Top level Goals (Win By Mastering Magic: Sub goals: Control more then 1/N energy sources(N= number of teams), Maintain borders and tech enough to repel attacks maintain strength). The each subgoal would have further subgoals till you hit a concrete executable decision :make a caravan to cart ore to City3:
You of course Know all that; my suggestion is have accessible, in game, all those decision steps. Build the AI to be able to show and justify it's actions (and make it able to take suggestions, alternative actions fed by the user[or other AI players, more on that later]).
Now you may ask what do we gain?? Modablitiy, and interactive learning. A lot of people have said they wish that they could adjust the micromanagement needed during a game. They wish for an AI smart enough to assigned to take over micromanagement when the User is focusing on something else [like a big war].
So what if when you want the AI to take something over, you actually higher an AI, or assign an AI to do it. and you can 'talk' to it, You would have to build an UI for this, but i could see accessing your throne room and inviting your domestic advisor for a chat, and having the advisor outline what they believe your goals and methods are [the AI watches you and tries to predict your actions in each field by defining the correct Meta goals, goals, subgoals and use them to define your actions]. You then can talk to your advisor about how to continue on for you,
A lot of games with governors give you the ability to turn on or off the gov, and tell them they can or can't build certain types of units/buildings. and inevitably i spent a lot of time just making sure they are not doing the one or two remaining stupid things that i can't turn off. Instead in elemental you would ask the gov to manage a city for a short while and it would propose a goal: and you could say OK, or ask it for subgoals, or even to explain HOW it plans to achieve those goals and subgoals, what decision tools it's using.
This allows users to TRAIN their own personal AI bots, their honed and sculpted advisors. IF you train enough of them, for all the tasks needed, and train Meta AIs you can build by example and 'conversation/guided scripting' a independent AI just from the AI building blocks. Really dedicated modders could define New meta goals, and new methods, explicate building the python scripts with if's and do loops. By building new meta goals and letting them loose people with less time scripting skill can apply them and even run games where their AI competes against another users home built AI (and yours).
This brings me to one of my pet peeves of AI: Pointless and exceedingly Die hard AIs. In A 600 - 1000 turn GC game, I'll spend the last 40% of the turns, (if I'm winning) marching my exceedingly large army(if I'm winning by dominance) over each opposing race one by one. They don't stand a chance, once i control more then twice the resources of the second best of them it's game over, The AI just doesn't know it yet. You'll have a Huge force and they will declare war on you, oblivious of the fact that less then a third of my army is enough to outnumber/strength them 2:1. It just makes me bored of playing games if the AI doesn't have the ability to properly parse and respond to the endgame scenarios.
So to prevent endgame death I propose: AI intelligent mergers.
Currently, at best, and AI will surrender to a different AI(or a user), 'loosing' the game in a dignified way. What i propose instead is that two empires could Merge, and like cooperate mergers, the resulting AI would be a shared endeavorer. Since neither team in the merger 'Looses' the options becomes should be much more appealing and used much more often.
On an AI level, both original AIs would evaluate the new empire, make a set of Meta goals, goals and subgoals. then pass those preferences on to the merger AI which would compare the two AI suggestions, weighted by their strengths prior to merger, and 'decide' what to do from there. Some way of dividing score when they win/lose is needed,but that's not important. The result is a new combined entity (perhaps retaining both channelers to make the new double empire more competitive, the new empire receiving in part both channelers bonuses rather then just one channelers bonuses.)
Balancing would be needed, but the goal would be that mergers would be a common late game occurrence (near defeated channelers promising to serve their defeaters if their lives are spared, making one way mergers more like surrenders, or two medium sized empires merging to create a new and competitive opponent.)
Mergers wouldn't be an obvious thing to do though, an AI could offer to merge, and be rejected, If I'm about to kill a faction, they might ask to merge with everybody else and be rejected because the other AIs know that by merging they are declaring war on me, before eventually begging for a merger with me to save themselves and their towns from being razed.
Which leads to: What to do if an AI merges with you? Well THIS is why explicate goals are SO important!, now the merging AI can suggest, request, and even demand(if you are the weaker party) that certain goals/subgoals be met. By working together with the AI you gain more of the benefits of the merged AI, (if you ignore the suggestions/requests the channeler slowly gives up on magic and you loose all merger benefits [if you refuse demands, you might get demoted to more medial tasks, or just killed/banished for non compliance (loose the game) {the same CAN happen between AIs that decide to merge but turn out to be in-compatible., but this wouldn't be apparent}]).
The other Great thing about this is it adds a new dimension to Espionage. The AI has Goals, Subgoals, Meta Goals, This is information that spies can Steal, informing you of their planned actions, and how they are organizing their economy/army on a grand scale. An AI is also watching you, trying to predict you, it has a list of what it thinks your goals are and subgoals . . .That information is also Stealable, (and Other AIs should know how to deal with it.) You might be Updating this information, to use the AI, or trying to trick the AI watching you to believe your planning something your not, just in case it gets stolen[good luck].
I don't know if any of this is technically feasible. . . But it would be REAL cool.
I've now written WAY to much for one post, And it's (a little) past midnight, I'm going to go.
Goodnight everybody
I would love suggestions on how to flush out this model,
And Frogboy, I really would love your opinion. and guess as to how feasible any or all of the above is.
Take care, Goodnight Best wishes and chow
Robbie Price.