Announcement

Collapse
No announcement yet.

It's 2005, why does the AI still need to cheat?

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

  • #76
    Originally posted by Urban Ranger

    The moves for the three warriors are independent unless they are in close proximity of each other.

    Therefore, he's not completely right, but mostly right.
    No, he's not right at all. No move in a game is (or should be) completely independent. Basically what you're trying to suggest is that should a warrior move, under no circumstance would the moves of the other warriors be affected.

    So if a warrior moves next to a weakly defended city? Nope, the AI couldn't move the other warriors in that city's direction, because they don't know it exists. If a warrior moves and sees an incoming attack force? Nope, AI can't take that into consideration and decide to pull back it's other warriors to defend, because it doesn't know they are there.

    Any properly programmed AI takes the results of every move into consideration for every other unit (or, more properly said, the AI considers the game state after every move, as opposed to holding static on the game state from the beginning of the turn).

    Bh

    Comment


    • #77
      A.I. Discussion. Love these =).

      First of all, I'd like to note that the objective of a game A.I. is not to be smarter or fairer. Its sole purpose for existing is to provide a challenge for the player.

      Hence, A.I. cheats and bonuses (which are both the same thing!) are perfectly legal and reasonable tools for a game programmer to use. The more cheats and bonuses that the A.I. uses, the more challenging it is to beat. Making it smarter might make the A.I. more challenging, but why bother with them given that cheats/bonuses can achieve almost the same effect for only a fraction of the computing power?

      That being said, I don't think the A.I. of Civilization has gotten a lot smarter since the first version. Computer-controlled Civs still aren't good at city placements or placing tile improvements. Their productive output (without bonuses) is still abysmally low compared to a competent human player. And frankly, its military strategy never seems to have evolved beyond "mass units and send them all against the nearest enemy city" algorithm. There have been refinements, but no real startling improvemenets.

      On the other hand, newer Civilization games have attempted to decrease the complexity of the game, depriving the player of options, supposedly for the sake of better A.I. One of the reasons spies are no longer quite as effective (compared to SMAC or Civ II) for example, is because the computer is plainly unable to use espionage effectively. Is this really a good approach? Well, it works, but I don't feel that it's the best.

      Personally, I'm for making the game as complex as possible (but not to the point of turning off newbies, but this can be resolved by having a gentle lurning curve), and giving the player a positively immense suite of tools to choose from to maximize the output of his empire.

      To keep the computer competetive, I'd just give it positively wicked bonuses which increase on higher difficulty levels. Giving computer-controlled Civs ten times more output at Deity, personally, feels more reasonable than taking away a player's tools. After all, if the computer is getting ten times more output than a player, then the player really is going to need all of those complex tools and strategies to even come close to the A.I's production!

      Barring that, I'd like to see the computer display at least some other attack algorithm other than its tried (and slaughtered) "send all units against one city" algorithm. I've yet to see any Civ A.I. capable of doing a feint, for example, which I feel is achievable by just slightly modifying the existing military A.I. (basically, the A.I. just needs to pick two cities, some squares apart, and then use its attack algorithm on both cities). I'd be pretty damn impressed if the A.I. managed to feint a player.

      Anyway, as always, there's always room for improvement in the game, and I'm personally hoping to see more improvements in this aspect of the game more than anything else. Civ, to a large extent, will always be a single-player game thanks to the sheer amount of time one must invest in it per game, making it less than optimal for multi-player. Making the A.I. the meanest challenge that it can be without sacrificing game complexity, I feel, would be a better way of approaching this.

      Comment


      • #78
        Firaxis emphasized the multiplayer experience in CIV because they know that the AI will never be as challenging as a human opponents. I haven't tried the multiplayer personally so I don't know if many people are playing online, or if the multiplayer really does work well as they say.

        Comment


        • #79
          Frankly, the day that an "AI" can be competitive on a long-term basis in a game this complex without "cheating" and/or handicapping is the day we should all be very, very concerned.

          Would you like to play Global Thermonuclear War?

          -Arrian
          grog want tank...Grog Want Tank... GROG WANT TANK!

          The trick isn't to break some eggs to make an omelette, it's convincing the eggs to break themselves in order to aspire to omelettehood.

          Comment


          • #80
            OK, are people saying that, because AI programming is hard, it's OK for designers to slack off, not try to improve and turn the whole issue of competitive play over to PBEM on the 'Net?
            Jim Cobb

            Comment


            • #81
              Originally posted by Node


              believe it or not, you are allowed to complain about things that you aren't an expert about. If that was the case then no one may ever say that a movie sucks becuase you are not a movie director.
              But to be taken seriously there must be some understanding of the basic principles involved in making the darned thing. Otherwise it´s just uninformed opinion that isn´t really worth anything...
              I love being beaten by women - Lorizael

              Comment


              • #82
                Originally posted by Jim Cobb
                OK, are people saying that, because AI programming is hard, it's OK for designers to slack off, not try to improve and turn the whole issue of competitive play over to PBEM on the 'Net?
                No, that's not what we're saying. We're saying that the programmers didn't slack off here. We're saying that the Civ4 AI is the result of smart people (mostly Soren) working very hard.

                I know that Soren will keep trying to tweak and improve it, too.

                -Arrian
                grog want tank...Grog Want Tank... GROG WANT TANK!

                The trick isn't to break some eggs to make an omelette, it's convincing the eggs to break themselves in order to aspire to omelettehood.

                Comment


                • #83
                  Originally posted by Jim Cobb
                  OK, are people saying that, because AI programming is hard, it's OK for designers to slack off, not try to improve and turn the whole issue of competitive play over to PBEM on the 'Net?
                  Not quite. (at least for myself)

                  I'm saying that it's computationaly infeasable to create a fully functioning "AI". The research hasn't figured out the perfect algorithms and the technology can't support the algorithims they have developed.

                  That being said I don't think the developers should be held accountable for a fully functioning "AI". This would be akin to holding police responsible for ALL crime. It's so infeasable as to be considered impossible.

                  This does not mean they should not work to make the game more challenging but that's a different criteria than "fully functioning AI". There's a difference between an "AI" and a "Challenging game".

                  What I hear from people screaming about the AI is two things:
                  • One, they don't want a callenging game they want an AI sample.
                  • Two, they are mad cause they keep getting beat and need to blame it on something.


                  I am enjoying the game as a callenge, regardless of the reason why it's a challenge.

                  Tom P.

                  Comment


                  • #84
                    Originally posted by Jim Cobb
                    OK, are people saying that, because AI programming is hard, it's OK for designers to slack off, not try to improve and turn the whole issue of competitive play over to PBEM on the 'Net?
                    No. I'm saying that from a cost-effectiveness standpoint, it's a lot cheaper (in terms of time, manpower, and computing power) to just give the computer massive bonuses than to make it "smarter" by improving the A.I..

                    That being said though... I think there have been too few improvements in the overall Civ A.I. Refinements, perhaps, but nothing really beyond what the original Civ A.I. was capable of. Worse, the cost of the refinements have been the exclusion of some game elements, such as espionage, supposedly because such elements would make the game "too complex" to handle. I don't think this was the best approach, and I'm sad to say because of this the existing Civ development team isn't my favorite. Soren and company deserve a lot of credit for the hard work they've done, but I don't think they've used the best approach for designing the game in the first place.

                    And yes, I already expect Soren fans to jump on me for even just suggesting he may not have used the best paradignm for designing the game

                    Comment


                    • #85
                      Originally posted by theNiceOne
                      Saying that the number of options to consider for two warriors is 18, is not necessarily wrong, it's just that you get an extremely poor AI by doing so.
                      No, it's just wrong. Just plain wrong. Which explains why the poster knows ****-all about AI; he doesn't even understand basic combinatorics.

                      Comment


                      • #86
                        Originally posted by Urban Ranger
                        I don't believe he's wrong.

                        The moves for the three warriors are independent unless they are in close proximity of each other.

                        Therefore, he's not completely right, but mostly right.
                        At a time when you have three warriors they are going to be close enough to influence each other.

                        And since we're talking about search (right?), they aren't independent ever.

                        Comment


                        • #87
                          Originally posted by Urban Ranger
                          The moves for the three warriors are independent unless they are in close proximity of each other.
                          Its the other way around.They are never independent, but one can neglect their moves if they are far away. In chess its called the event horizont IIRC. Get enough power to calculate 100turns ahead and no unit would be independent. So, there are 81 choices, but in some cases one only need to look for 18.

                          Zinegata
                          If they would be able to make a human AI, they would. Therefore, the less "helping thingis" AI gets, the more smart it is.

                          AI getting 8 settlers @gamestart is not challenging, its annoying.
                          AI having the sole goal to surround you with bases is not challenging, its annoying.
                          AI building things in one turn ...
                          ect

                          Comment


                          • #88
                            Not only is the AI you are describing bad at attacking, but it would be a pushover to defeat yourself. By not considering fortify for any units, it will never get up to 25% fortification bonus. By not considering pillage it will never get extra gold income nor actually disrupt its enemy's production. By considering units independently it will never ever take a city. Hell, it can't even heal its own units.

                            Even on a theoretical level, this group AI sucks.
                            I'm building a wagon! On some other part of the internets, obviously (but not that other site).

                            Comment


                            • #89
                              Originally posted by Gaal Dornik
                              Zinegata
                              If they would be able to make a human AI, they would. Therefore, the less "helping thingis" AI gets, the more smart it is.

                              AI getting 8 settlers @gamestart is not challenging, its annoying.
                              AI having the sole goal to surround you with bases is not challenging, its annoying.
                              AI building things in one turn ...
                              ect
                              The problem is that making the A.I. smarter will take more time, money, and computing power than what it's worth. Would you be willing, for example, to wait an extra five years (and this is probably the minimum figure) just to have an improved A.I. that acts more like a human? Would you also be willing to shell out a Gig or two of extra RAM, plus a processor twice as fast as today's models, just so the computer's turns doesn't take so long? I think not.

                              Also, giving the enemy Civ eight times the resources is something I'd only for for the highest difficulty levels. If you can't handle it, then perhaps it's time to refer to Vel's strategy thread and improve your empire's efficiency =).

                              I will say though, that I wouldn't give enemy Civs eight settlers at the start - that's actually more like giving them a hundred times more resources than simply ten times more.

                              Also, depending on playtest results, the computer bonuses may only come gradually. Computer-controlled civs might get double production in the ancient era, quadruple during the Middle Ages, and so forth. The key is to giving the computer so many resources that it will be difficult (but not impossible!), even for a player playing his empire to the fullest, to win.

                              Better yet, it's rather easy to tweak bonus resources for the A.I. It's not easy making an A.I. capable of high-level thinking, especially if it turns out during testing that the A.I.'s thinking is seriously flawed in some way!

                              (I will say though, that Civ III was a nosedive in terms of program optimization and efficiency. Those computer turns should have gone a heck of a lot faster, especially considering this was a supposed to be a less complex game!)

                              Comment


                              • #90
                                I'm going to make a very asinine and headstrong comment, but, even though I am by no means the best Civ player, and not a CS major, I think I could make an AI for this game. It's actually EASIER than chess, because there is no one distinctly superior move no matter what. In Chess, there is, I hypothesize, *the* perfect chess game and a database system more powerful than anything we can create could store it so that your opponent could never win if you followed it. But in Civ, different people have valid different moves, which lead to valid different analyses of what should happen. To reduce it to a very simple level:

                                The AI makes a lot of decisions in the course of a turn. They need to:
                                -Move/NotMove/Attack/OptionD every unit
                                -Decide what to (continue to) build in each city
                                -Evaluate tile placement for citizens
                                -Review tech and civics choices
                                -Consider diplomacy options
                                and maybe a few other things.

                                In a true combinatiorial sense, this is ludicrous. The two warriors moving, IN PRACTICE, would not be 2! * 9^2 choices. It would be 20, because after making the first move, (9 choices,) the second move follows as another set of 9 choices. The AI does not normally consider both moves at once, so it does not inflate to 81 joint possibilities. The only reason it is 20 and not 18 is because the computer also needs to decide which one goes first.

                                Obviously, the preceding example becomes much more complicated if we're talking two different units that have the option to perform an attack on, say, a city. I haven't ignored this.


                                The AI needs to do the following:

                                Re-evaluate the present needs/wants weighting from the last turn, which has probably changed very little unless something drastic happens. (If you declare war, they suddenly should want more military units.)

                                Based on those needs, evaluate each one of the decisions I mentioned above by considering each possible option and which seems best, and if that move is contingent on anything else in the turn. If it does not consider the move dependent on another move, it makes it immediately. Once it decides to execute that move, which could be more than a one-turn move (go-to, for example,) it follows a specific function for creating that move and leaves that as a property of the unit for the next turn that has heavy weighting for what should follow.

                                Thus, the computer should make all the moves it can possibly make that are independent. (It could even derive some of these moves on your turn to save time.) Then, and I'll grant you this is the hard part, it takes the remaining "contingent" moves and weights them on a one-move basis. Obviously this has some potential for "incorrect moves," (I could attack with this cannon or that infantry. The infantry seems likely to do more damage, so I'll use that first.)

                                The other hard part is obviously determining a proper value for each of the weights, and depending on how thorough a programming is, there could be a lot of them. Balance would be tricky, and so would deciding how important it would be to decide on radical decisions and recognizing crises. Sending a new unit to the front you are fighting is normally a good idea, but if another opponent is about to win via space race or culture, perhaps it should be sent to start a war with them instead.

                                No, I am not deceived. It is a lot of toil and a lot of gruntwork and testing and a lot of analysis. However, it would work, and it would work efficiently. I imagine this is already how the AI in the game functions, honestly.


                                But ultimately, isn't this how you or I think? We review the big picture. We choose new city constructions. We consider moves for each unit that pops up for us, and occasionally hit the wait key to move something else first. Each of these decisions is made based on our own needs, desires, and playstyles. I'm normally a builder, so I de-emphasize military units. If I have a choice of building a musketman or a theater, I'll take the theater normally. But maybe I'm pressed into war. Or maybe I decided from turn 1 to play for conquest this time. Or maybe I have a fanatical disdain for Montezuma for all the times he's attacked me and ruined my culture/diplo games. Then I'll go military instead. For another player, the exact opposite happens. They build the musketman, unless...

                                When a human makes a sub-optimal move, in whatever sense we can actually regard as 'not optimal' since it's not very objective to begin with, it's because they didn't properly consider all their options. Either they didn't realize they had them - I could stop this guy from pillaging in front of me by attacking with my defense units - or they decided to do something that was inconsistent with their aims - I'm pursuing a domination game, but WTH, let's research literature.

                                Creating an AI is no different. Personalities of leaders are easily made by adjusting a few simple game-defining weights. Difficulties are adjusted by using more properly-adjusted weights and maybe a few other nominal factors like faster/slower techs. Adding a small measure of randomness to the weights, be it per turn or simply for the game, helps ensure that the CPU isn't a completely known entity. And while the AI might still be somewhat predictable, it should be somewhat adaptable, and dare I say human-like?


                                I know, easier said than done. But if I had a year to work on it with at least some crude game mechanics in place, I think I could do it. Am I being too cocksure? Probably. But I'd take the chance if someone offered it to me. For an hour, anyway.

                                Comment

                                Working...
                                X