Announcement

Collapse
No announcement yet.

AI: Programming what you want....ummmm.. What *DO* you want ?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AI: Programming what you want....ummmm.. What *DO* you want ?

    There are several [i.e., uncounted scores!] of places in our design that say: "The AI will do it." It's getting to be time for us to finalize what that means.

    Some things will have to be "internal AI".. finding the best routes from A to B, etc. But most of it, IMHO, will be of the type:

    "Advisor X decides what to build or reccomend to build"

    The latter type of AI will be the hardest, because we want a lot of flexibility.

    How do you see this working???? We can get our Alpha Geeks [sorry, I mean...] Crack Programming team, to implement any thing .. but we *DO* have to define the "thing" to be implemented.

    One possibility:

    AI interprets a script written by Player or Designer.

    This is the most complicated, but most flexible. It implies that we'll have to devise or use an existing script language. In order to have this much logic in the "open", the script language will have to be quite powerful, but also simple enough for a non programmer to use easily. Those may be mutually exclusive conditions.

    In any case, this discussion [about script languages] is already running under Blade Runner's thread about an easy-to-change program. BUT, please tell us what you think a script should look like, or how it should work.

    This game will fly or fall based on the AI engine.

  • #2
    Druid2:

    I think Blade Runner had it about right in the other thread. I'm not the biggest programming stud here, so I certainly may not be right, but I think our base AI must be Fast. That's because we are probably going to have At Least 10x the processing power devoted to AI as other games in the genre.

    My take is that everything for the AI should be coded in java, but with switches or optional behavior implemented in a scripting language. The interface should ideally make all our methods available to someone writing a mod. They could then 'script over' and replace any of the base AI code but of course would then have to put up with whatever speed penalty that results.

    I'll try to flesh out the realPolitik / Hierarchical AI post on the web site ( http://people.mw.mediaone.net/markeverson/clash_ai1.htm ) into a full proposal for general AI. I will be a bit behind the curve on the areas where we don't have the models basically agreed upon yet. With luck I can get that at least expanded sometime tomorrow.

    -Mark

    [This message has been edited by Mark_Everson (edited June 05, 1999).]
    Project Lead for The Clash of Civilizations
    A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
    Check it out at the Clash Web Site and Forum right here at Apolyton!

    Comment


    • #3
      Kull:

      Hey, we're an ambitious bunch of people... If we Really knew how hard all this stuff was, we probably wouldn't be here . Then again, Columbus didn't know how hard it Really was to sail to the Orient, and he ended up making some big discoveries!

      Your points are all good. On the details point, I firmly believe some details are harder for AI to handle than others. I've tried in everything I've designed to get to the level where the amount of detail is manageable. Everyone else needs to look into these issues to, because who knows if my guesses about this are any good.

      On complexity, yeah we've got some hard decisions. But we can also alter the designs to give the AI safe spots to park itself in. Here's an example in the characters area. If a player wants lots of characters running around all the tradeoffs of where to put the individual characters could grow to be Very complicated. I think a player (and so the AI) should just be able to give a character a 'broad' rather than specific assignment. An example would be that a great general could be 'chief of staff' and have smaller but positive effects on the Whole army as opposed to having a greater effect locally leading a single TF. If things get too complicated, or if there aren't enough clock cycles, we could just have the AI default all characters to the broad setting. We need to look for things like that in all the high-level models now being finalized. My basic rule is if the AI can't handle it, it should be modified 'till the AI can.

      On your specifics for military AI. That's a pretty good list. As a starter for all the AI models we need a set of rules-of-thumb. Starting with a good set of rules I am confident that we can get at least Reasonable , and sometimes brilliant, behavior out of the AI. We have at least four team members who are very interested in doing the AI well. I think that is much better than anything the game companies contributing to the genre have had. Also our design considers the AI from the ground up... I don't think that's been true for the other games out there. Its all pretty encouraging, we just need to make sure the overall game isn't boring or we're toast .


      Everyone:

      Here's the header on the AI bit I'm writing up. Any suggestions on big things I'm missing or gross errors?

      AI in Clash - an Overview


      Goals for the Clash AI are to give the player as challenging a game
      as they would ever want.  To achieve this we will have:
        [*]AI that thinks in 'Levels' about strategy, from very high level(say, overall strategy to follow over the next 100 turns) down to small details on a one-turn lookahead basis. This is an Hierarchical approach[*]Levels will go from very abstract pictures of the world at high levels, down to pretty accurate copies of the world, for small things[*]Corrections will be made in the higher level AI to incorporate information from the more detailed AI levels below it[*]As much as possible, design the world models in the game so they are easier for the AI to handle[*]Use good rules-of-thumb (heuristics) as a firm base for AI actions[*]As much as possible evolve unique strategies Beyond the heuristics using Genetic Algorithms[*]Test AI strategies as much as possible using Monte Carlo techniques (copy the world as that AI sees it; how does the strategy play out in the copies?)[*]Threaded AI that can take advantage of any time not used by the world model and the interface[*]Allow the player to give the AIs any arbitrary advantages that they deem necessary[/list]


        The only thing I want to elaborate on a little is the point on "As much as possible, design the world models in the game so they are easier for the AI to handle"

        What I mean by this is that we try to avoid Really Sharp boundaries in the results our design elements can generate. This would happen if when you do something just a little differently the result can change dramatically. One example I could use from Civ2 is the more powerful wonders. You either get them or you don't, and they can have far-reaching effects in gameplay. A small difference in the rate of building a wonder can bring you from successfully building it, to getting beaten in the race. Now Clash Will have this sort of thing anyway from things like who wins the big battle... but IMO we should look for these elements in all the design models and try and get rid of as many of them as possible. Anything that gives a big advantage should either be transient, or have a compensating downside. (F.e. Democracy is great for tech... but there are limits to who you can declare war on etc.)

        Thoughts, comments, abuse?

        -Mark

        [This message has been edited by Mark_Everson (edited June 06, 1999).]
      Project Lead for The Clash of Civilizations
      A Unique civ-like game that will feature low micromanagement, great AI, and a Detailed Government model including internal power struggles. Demo 8 available Now! (go to D8 thread at top of forum).
      Check it out at the Clash Web Site and Forum right here at Apolyton!

      Comment


      • #4
        AI Comments:

        1) Game AI Conundrum: The more details in the game, the harder to create a realistic AI opponent. The fewer the details, the less realistic the game.

        2) Complexity and AI: I imagine that we'll start out with a huge list of "nice-to-haves", and it will get winnowed down once we start dealing with the twin issues of program size and AI reality. But it doesn't always have to be an "in-or-out" decision. There may be some really neat things which we simply can't get the AI to do, but rather than ditch them, perhaps we retain them for multiplayer.

        3) How good must the AI be? Purely from a military perspective, these are the capabilities of a good AI enemy.

        a) Play good defense:
        - Send troops toward an attacked province.
        - Mount defense at all points on the border with the enemy.
        - Shift production to military items.
        - Maintain border defences with all neighbors which are "appropriate" to the diplomatic status. (thin-to-none with allies, more with neutrals, additional with unhappy civs, etc.)
        - Maintain a counterattack or blocking force well behind the front line with the enemy (so the AI can fill gaps in the front line).

        b) Short range attack capability:
        - Gather forces into a group before attacking.
        - Spot "overextensions" in the enemy line, allowing attack from several points.
        - Feint. Muster forces visibly far from the main attack, including the use of "probing" attacks or recon behind enemy lines.
        - Use of scouts. Proactively gather intelligence to determine best place to attack.
        - Have (and be able to use) a mobile reserve to exploit successful attacks.

        c) Project force at a distance:
        - Coordinate air, land, and sea forces upon a single target, effectively.
        - Have carrier based air and know how to use it.
        - Capable of launching amphibious invasion against a series of island targets (island hopping). Includes conquest, build up, and move to next target.
        - Able to examine a continent-sized landmass and launch and sustain a "Normandy-class" invasion.
        - Understand the dynamics of sucessful naval task force actions (ie operate in pursuit of a larger goal...clear enemy ships from a given ocean, support amphibious landings, assist convoys, etc.)

        I'll be the first to admit that many of these are extremely ambitious goals, far from anything an AI has pulled off before.
        To La Fayette, as fine a gentleman as ever trod the Halls of Apolyton

        From what I understand of that Civ game of yours, it's all about launching one's own spaceship before the others do. So this is no big news after all: my father just beat you all to the stars once more. - Philippe Baise

        Comment

        Working...
        X