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!
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.
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.
Comment