Announcement

Collapse
No announcement yet.

Interview: SOREN JOHNSON ON AI

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

  • #61
    Personally I think the temptation to let the computer cheat makes the programmers too lazy. Why bother spending weeks coming up with perfect AI routines when a similar challenge level can be approximated by doubling their resources and making them belligerent and immune to diplomatic negotiations?

    In EU the programmers took a deliberately different approach and refused to let the computer cheat (except on understanding inflation, they couldn't get that one nailed!) Now I am not saying that the resulting AI is actually tough to beat. In fact one on one it is fairly easy once you know its limitations. However every time they issue an upgrade it closes one or two more tactical loopholes and it has forced them to develop a far more detailed political model. All the countries form up into power blocs to avoid being isolated and destroyed. While they continue with this attitude their AI routines will continue to improve. While games like Civ continue to offset weak AI with big bonus advantages to raise the difficulty level they will never have the same incentive to excel.
    To doubt everything or to believe everything are two equally convenient solutions; both dispense with the necessity of reflection.
    H.Poincaré

    Comment


    • #62
      Lots of good info in that interview!

      I'm particularly excited about the AI reacting to it's environment (e.g. expand when there's lots of open space or adjusting the perceived value of items to build). The section about the AI using naval and air operations to support an invasion look particularly good.

      I personally like the leader-specific personalities. ('Though I'm glad Firaxis was foresightful enough to let the player turn them off. It would be really good if they let the player choose "randomize personalities".)

      Of course with the radical change in rules (trading resources, armies, etc.) there's no way that Firaxis could program the best strategies into the AI. The best strategies will only be discovered after months of playing by adamant players. (Many of us used to think that the Great Library was the best Civ2 wonder. Only many games (or a trip to Apolyton) let you know the best strategies.) It'd be great if, after a year, they polled online Civ players asking what the best strategies were and then released a patch or new version which 1) did not change the rules and 2) had a better AI which used the best gleaned tactics for the Civ3 rules.

      This being said, Civ3 is enough like Civ2 to allow for some improvements. I hope, for example, that the AI is much better at trading than it was in Civ2. In Civ2, it would give me hundreds of gold coins tribute because it had no concept of the value of money. In Civ2 the AI would greedily trade me for say Theology - even though I'd already build J.S. Bach's Cathedral. With trade being such a big element in Civ3, I hope they've put a lot of effort into the AI's ability to distinguish a good deal.

      One thing that will be similar to Civ2 is combat. In Civ2, the AI would send unit after unit against a city. It would have increased it's chances of success ten-fold if it had just had the patience to build an attack force before moving in. (There are a lot of other things that could be improved, but this is one of the biggest and easiest to fix.) In Civ3 (unlike in Civ2) entire stacks are not eliminated if the best defender is defeated. Now the AI can gather a force of ground units of equal movement all in the same city square, then send them out as a stack. (And here by "stack" I mean a bunch of units that happen to be on the same square - not an army). Thus the AI could move in a huge stack of say 8 knights and not have to worry about a single catapult rock taking them all out. With some of the complexity of how to move their attacking force removed, the AI should have a better time mounting attacks.

      However, I was very disappointed to hear Soren's description of unit-level decisions.

      Soren, 26 Oct interview
      The unit AI is itself split into multiple levels, first determining an ideal destination and then calculating the best possible path. Furthermore, the different AI levels communicate between each other. For example, the unit AI controlling a tank might ask the leader AI which enemy city would be best to attack. After receiving a response, the unit AI would determine its own best path to the destination. Thus, the AI is able to organize a large group of units while keeping the discrete game decisions at a lower level.
      Notice he did not say "After receiving a response, the unit AI would wait until the leader AI said enough forces had been gathered for the assault" nor did he say "the leader AI could tell the tank to go to the launching city and wait for the command to attack the chosen enemy city." In fact, Soren's description sounded depressingly like Civ2's "every unit works on it's own" approach. I'm a tank and I'll go to the best enemy city to attack - regardless of what other tanks are doing. The AI is not really "organizing a large group of units." It's giving orders to a large number of individual units without any concern with how they could work together.

      I hope Soren forgot to mention how the AI gathered forces. Otherwise we could be in for more one unit at a time "assaults" and have the AI navy and airforce "support" invasions only if they happen, by sheer luck, to have gotten to the target enemy city on the same turn.

      Comment


      • #63
        Originally posted by Grumbold
        Personally I think the temptation to let the computer cheat makes the programmers too lazy. Why bother spending weeks coming up with perfect AI routines when a similar challenge level can be approximated by doubling their resources and making them belligerent and immune to diplomatic negotiations?
        That is an excellent point.

        I also take exception to those apologists that imply that a Cray-3 would be necessary for a good AI.

        There are 3 areas to address, each with increasing difficulty:

        1. Identify and fix exploits
        2. Short term, easier: Prevent AI from doing stupid things (i.e. attacking with an obviously inferior force, founding a city near enemy forces without military support)
        3. Long term, more difficult: Have AI do smart things (i.e. mass troops before an offensive, progress towards key techs, form alliances when weak, 'run the table' when strong).

        Very few games have an AI that complete #2. You do not have to code the AI to examine every conceivable outcome in order to give it competent strategy and tactics.
        "Barbarism is the natural state of mankind... Civilization is unnatural. It is a whim of circumstance. And barbarism must always triumph."

        Comment


        • #64
          psychic judges

          One thing that will be similar to Civ2 is combat. In Civ2, the AI would send unit after unit against a city. It would have increased it's chances of success ten-fold if it had just had the patience to build an attack force before moving in.
          mass troops before an offensive

          From Computer Guys Online about Civ3's AI...

          The computer does a decent job of attacking in Civ III. Much better than in earlier games. When they declare war on you they tend to swarm you with lots of units. They'll mount pretty good invasions from the sea, too.
          I suggest we play the game before we judge it.

          Comment


          • #65
            Re: psychic judges

            Originally posted by Pyrodrew


            I suggest we play the game before we judge it.
            I suggest we let people comment, good or bad, on what they read about the game. Otherwise what's the point of this forum - just to hype a game that we've all already decided to buy?
            "Barbarism is the natural state of mankind... Civilization is unnatural. It is a whim of circumstance. And barbarism must always triumph."

            Comment


            • #66
              I suggest we let people comment
              Relax, I didn't say people shouldn't give comments/suggestions. But it is impossible to accurately judge something without more facts. Thus someone who has NOT played Civ3 saying Civ3's combat is similar to Civ2 with individual attacks is almost irrelevant when someone who HAS played Civ3 (Computer Guys Online) says it is much better & "swarms" are used.

              Comment


              • #67
                Originally posted by Pyrodrew


                Relax, I didn't say people shouldn't give comments/suggestions. But it is impossible to accurately judge something without more facts. Thus someone who has NOT played Civ3 saying Civ3's combat is similar to Civ2 with individual attacks is almost irrelevant when someone who HAS played Civ3 (Computer Guys Online) says it is much better & "swarms" are used.
                Fair enough. But my comment was made in the broader context of not expecting the AI to be very good since there hasn't been a Civ game made yet with a good AI.

                I remember when Civ2 came out and its AI was hyped as coordinating attacks as well. hmmm....

                We'll be finding out soon enough.
                "Barbarism is the natural state of mankind... Civilization is unnatural. It is a whim of circumstance. And barbarism must always triumph."

                Comment


                • #68
                  Originally posted by Ray K
                  You do not have to code the AI to examine every conceivable outcome in order to give it competent strategy and tactics.
                  Tactics at the very least.

                  I'm no AI expert (or even a neophyte) but I've always wondered why developers don't leverage the users to help boost AI.

                  In vague, theoritical terms, why not build a tactics database that the AI can access? In my dreams, a game like Civ III would have some sort of game logger that volunteers could use to send game data to the developer, which would then use to strengthen the AI. The data would be something like what units were used, what did they do, what was the result (important!), etc.

                  At the very least, I think you could eliminate obviously stupid behavior. In a SMAC example, the AI will build tons and tons of planes, fly them towards an enemy base just out of their range and let them sit there to be picked off by the enemy. Again and again and again. A simple target range check would eliminate this.

                  Comment


                  • #69
                    Originally posted by albiedamned
                    It definitely makes sense to put roads on all your squares, since there is a trade bonus for roads (Andrew1999 just confirmed this on his strategy guide thread).

                    As for railroading everything, that may be a little bit of overkill. But if your workers run out of stuff to do, then why not?

                    By the way, I strongly suspect some sort of terraforming occurred on this map. Because Europe is not all grassland.
                    1) IIRC railroad in Civ3 gives you SHIELD bonus, so it is not stupid to cover everything with RR
                    2) The is no teraforming in Civ 3. The tile is always the same through the game (e.g. mountain, plain, etc.) However, forests and jungles can be taken out, think of the forest as tile improvement.

                    (all this information is just from other threads, so it might be incorrect, I still do not have the game , but I will get it tomorow!!! )
                    The whole problem with the world is that fools and fanatics are always so
                    certain of themselves, but wiser people so full of doubts.
                    -- Bertrand Russell

                    Comment


                    • #70
                      Originally posted by Blunderdog


                      Tactics at the very least.

                      I'm no AI expert (or even a neophyte) but I've always wondered why developers don't leverage the users to help boost AI.

                      In vague, theoritical terms, why not build a tactics database that the AI can access? In my dreams, a game like Civ III would have some sort of game logger that volunteers could use to send game data to the developer, which would then use to strengthen the AI. The data would be something like what units were used, what did they do, what was the result (important!), etc.

                      At the very least, I think you could eliminate obviously stupid behavior. In a SMAC example, the AI will build tons and tons of planes, fly them towards an enemy base just out of their range and let them sit there to be picked off by the enemy. Again and again and again. A simple target range check would eliminate this.
                      Yes, this falls under the category of "don't do stupid things." While not as important as fixing exploits, stopping the AI from doing "stupid things" is the first step to really improving the AI.

                      In fact, the potential improvement in gameplay by the AI is greatest in this category. Many times, players are oblivious to the reality that the AI is not doing a good job of planning long-term. But as soon as it does something stupid, like founding two cities right next to each other, then we KNOW for certain that it wasn't well thought-out. This illusion of playing a competent opponent is shattered.

                      "Stupid AI Tricks" should be treated as bugs by the developers and patched aggressively.
                      "Barbarism is the natural state of mankind... Civilization is unnatural. It is a whim of circumstance. And barbarism must always triumph."

                      Comment


                      • #71
                        First of all this Soren dude did a bang up job

                        The AI in my game got out early and expanded extremely fast..

                        A few things noticed tho..

                        the AI is not perfect.

                        A Souix horseman strayed into my land and fortified near one of my cities. Despite repeated requests he leave, he did not. So I killed him. Of course that would be a huge mistake because I would end up losing several cities and begging for peace

                        Anyway AI was overall good. They love to irrigate and build horsemen. Of course I had no horsemen..because I didnt understand how to bring them into my city

                        Comment


                        • #72
                          Originally posted by faded glory
                          First of all this Soren dude did a bang up job

                          The AI in my game got out early and expanded extremely fast..

                          A few things noticed tho..

                          the AI is not perfect.

                          A Souix horseman strayed into my land and fortified near one of my cities. Despite repeated requests he leave, he did not. So I killed him. Of course that would be a huge mistake because I would end up losing several cities and begging for peace

                          Anyway AI was overall good. They love to irrigate and build horsemen. Of course I had no horsemen..because I didnt understand how to bring them into my city
                          faded glory, with all due respect...you say AI is kicking your behind but you are not using trade at all (and as i understand it is absolutely vital in civ3).

                          Comment


                          • #73
                            Originally posted by faded glory
                            Anyway AI was overall good. They love to irrigate and build horsemen. Of course I had no horsemen..because I didnt understand how to bring them into my city
                            Road network plus colony on horsies = your civ with horsie resources

                            I remember in Civ 1, defending my cities with cannons... Well, it worked well in Pirates
                            We all get better
                            I'm building a wagon! On some other part of the internets, obviously (but not that other site).

                            Comment


                            • #74
                              All I can say is that it looks like somebody actually read my collumn entry "A different kind of AI", this approach is almost exactly what I suggested. A few things got left out, but you can't ask for everything. If anyone wants to read that artical it's #148, if I'd known it got any interest I might have posted again. lol

                              Here is a quote for those who don't want to look for it:

                              __________________________________________________ __
                              Fortunately a new way of doing things is available today. One of those ways is modular progamming. In a modular program you have a master program that feeds information to smaller programs who each do their own thing. Using this model we could build a program that was able to run several dozen specialized artificial intelligence programs, each one with it's own specific tasks and ways of doing things.

                              These smaller AI's could be chained together by the larger program in any order, creating an "AI programming language of some sort. The opponents created by this method would be made up of several parts as follows:


                              (A) The smaller AI programs you chose to use and the order you put them in.
                              (B) The individual data for each smaller AI
                              (C) global information shared by the entire program
                              __________________________________________________ __

                              I feel very proud of my suggestion now.

                              Comment

                              Working...
                              X