Announcement

Collapse
No announcement yet.

SOREN JOHNSON: Civilization III Interview #2, 26/Oct/2001

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

  • SOREN JOHNSON: Civilization III Interview #2, 26/Oct/2001

    We are contuining our series of interviews around Civilization III, with Soren Johnson, the AI Programmer on Civ III. It's a short one, with fewer than usual questions, but it's all about AI. We hope that you find it interesting!

    Click image for larger version

Name:	johnson_s.jpg
Views:	1
Size:	2.2 KB
ID:	9135969

    Apolyton: Is the AI using naval and air units better?

    Soren Johnson: The AI has been completely rewritten, so we have made every effort to make the AI more effective at controlling naval and air units. For example, the AI is capable of launching naval invasions using a variety of land, sea, and air units. One might see the AI use battleships and bombers based on carriers to provide support for marines being landed on your shores.


    Apolyton: How smart will the governors be this time? In previous Civ games, most people ended up not using them.

    Soren Johnson: One of my highest priorities when I began writing the AI was to provide help for users who wanted to minimize micro-management. Thus, a great deal of time was spent creating intelligent city governors (and also intelligent automated workers).

    However, a city governor will always be of limited use if the user cannot provide feedback to improve performance. Therefore, a learning algorithm was implemented to allow the user to train the AI by either accepting the governor’s suggestions or making different choices.

    Furthermore, the game allows the user to specify explicitly which types of units and improvements the governors should either emphasize or avoid. More specifically, the AI associates each unit and improvement with one or more of fifteen total “build categories,” enabling the user, for example, to tell its governors to never build artillery and air units while emphasizing scientific and cultural improvements.


    Apolyton: During a game, has the AI ever surprised you (pleasantly, of course)?

    Soren Johnson: The AI has pleasantly surprised me many times. I have often jumped back into the code, asking myself, “did I really program it to do that?” The academic term for this phenomenon is “emergent behavior,” which describes unscripted, intelligent actions resulting from simple, effective sub-systems.

    Because Civilization III is an open-ended game, emergent behavior is very important for sustaining replayability. Thus, all of the AI sub-systems have been made as general as possible to encourage this type of behavior. Hence, the city AI is not based on pre-scripted patterns, such as Spearman, Temple, Spearman, Granary, Archer, etc. Instead, each available build item is given a value depending on the AI’s environment, and the city simply builds the item with the highest value.
    Last edited by Aeson; May 26, 2014, 04:54.

  • #2
    Apolyton: Does the AI make decisions on large scale, small scale, or both?

    Soren Johnson: The AI makes decisions on many different levels. A leader AI keeps track of high-level concepts, like whether enough science is being generated or which civ is the biggest threat. A city AI decides which units to build for that area of the world and how to manage the city itself. 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.


    Apolyton: Is there any kind of customization in the way the AI works?

    Soren Johnson: Each leader in Civ III has his or her own personality. An extreme example would be a pacifist ruler favoring democracy and cultural improvements or an aggressive ruler preferring despotism and offensive ground units. These personalities are fully customizable through the editor, so creating AI’s with different priorities is quite easy.

    The AI personalities were included to create memorable opponents, liberally based on the historical record. Thus, Gandhi is peace-loving, Elizabeth is cautious, and Shaka is blood-thirsty. In other words, the emphasis was on crafting a fun, engaging experience for the user instead of building the “perfect” AI. The mod community, however, will have the opportunity to create better AI’s by experimenting with these variables. Further, users who dislike preset personalities can turn them off altogether and let the AI adapt to its environment from a blank slate.


    Apolyton: Do the number of civilizations in the game affect the AI? Will the AI give you more trouble with 6 civilizations than with 16?

    Soren Johnson: The number of civilizations in a game definitely affects AI behavior. However, this fact does not necessarily mean that the AI’s on a world with fewer civs will be more aggressive. The AI adapts to its environment, and the number of civilizations in the world is simply one of the many factors used for decision-making. For example, if a game was started on a Huge map with only 6 civs, the AI might emphasize expansion to take advantage of the extra space available.

    Originally posted on Apolyton on Oct 26, 2001 at (defunct) http://apolyton.net/misc/interviews/...njohnson.shtml

    Comment


    • #3
      Who is this person?

      Comment


      • #4
        This is an interesting read 13+ years after release, when the AI is generally criticized. Although considering how much I've played Civ3, the AI was good enough to have a lot of replayability.

        I find the fourth question's answer particularly interesting. When thinking about what I'd do differently with the Civ3 AI, one of the things I'd put near the top of the list was having multiple levels of AI - an overall strategic level, with several sub-levels such as theaters of war, science research, cities, etc. I didn't realize there already was some division of the AI into different levels. It would have been interesting to see how good the AI could have become with a few more years' improvement and more advanced planning.

        Thanks for re-posting this - many of the stories in the Lost History are interesting. I also appreciate that the old link redirects here, as I found my way here via a link.

        Comment


        • #5
          Is it just me or some of the features he mentions, e.g. ability to emphasize automated former improvements, never made it into the game?
          -- What history has taught us is that people do not learn from history.
          -- Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

          Comment


          • #6
            binTravkin - I think you are referring to this section? "Furthermore, the game allows the user to specify explicitly which types of units and improvements the governors should either emphasize or avoid. More specifically, the AI associates each unit and improvement with one or more of fifteen total “build categories,” enabling the user, for example, to tell its governors to never build artillery and air units while emphasizing scientific and cultural improvements."

            This actually is in the game, though it's perhaps one of the least-used features in the game. It's what you see if you right-click on a city and choose "Contact Governor", and in particular the Production section of that has the fifteen "build categories" that Soren refers to. Essentially, if you allow the AI to control what the city builds, this lets you influence what is built.

            Most of us, at least who still play, want more control than that and choose production manually. But the option is there if a player would, for example, prefer to focus on units and combat, and leave city production to the AI.

            And to be honest, looking at it for the first time in years, I perhaps should consider some of the "General" options. In particular, Emphasize Food/Production/Commerce are options that I thought were new in Civ4, but have apparently were in Civ3 as well, just not in an easy-to-find location. Some players manually assign workers to tiles to optimize those, but that is too much micromanagement for me outside of edge cases, and these options could strike a better balance than the default tile assignment that I've been using for ages. I'm also curious about "Manage citizen moods" - that could be worth it for avoiding rioting, as long as it doesn't inefficiently assign them in other situations.

            Worker automation is widely known, thanks to its button, but among enthusiasts is also generally frowned upon, with a major flaw being workers irrigating grasslands during Despotism. However, I do know more casual players (who AFAIK aren't online Civ forum members) who use it at least some of the time.

            Update: The "Emphasize Food/Production/Commerce" settings do have an impact, similar to in Civ4. And Manage Citizen Moods effectively avoids rioting, which is nice, though it may hide situations where the luxury slider would be a better choice (but that's fine for casual players... and it arguably should have been the default setting, and essentially was in Civ4). I'm not so sold on the AI choosing production in my test game, but I didn't really give it a realistic setup, either. It might perform better if I were playing for real - ideally at least as well as for the AI cities.
            Last edited by Aurelian; August 11, 2018, 04:09.

            Comment


            • #7
              This forum is the greatest collection of scientific talent in the world.

              Sent from my XT1650 using Tapatalk

              To us, it is the BEAST.

              Comment

              Working...
              X