Main   Civ II   Civ III   CTP I   CTP II   MoO3   SMAC   RoN   GalCiv   Alt.Civs   Misc   About
News  |  Archive
Strategy  |   Apolyton University
Downloads  |   Screenshots
HOF/Tournaments   |   Stories (1)/(2)
Multiplayer   |   F.A.Q.
Forum-General  |   Forum-Strategy
Forum-Help  |   Forum-Creation
Reviews  |   Links  |   Suggestions
Price Comparison
"IF JUST ONE IDEA…"(THE LIST v1.0)
A Collection of CIVILIZATION III Suggestions from Dedicated Fans


TABLE OF CONTENTS
INTRODUCTION
AI
BORDERS
CHEATS
CITY AND REGIONAL INTERFACE
CITY/CITY IMPROVEMENTS
CIVILIZATIONS
COMBAT
DIPLOMACY
ECONOMICS
GAME ATMOSPHERE
GRAPHICS
MANUAL/HELP FILES
MOVEMENT
MULTIPLAYER
PLAYER INTERFACE
RADICAL IDEAS
RELIGION
SOCIAL ENGINEERING AND GOVERNMENT
SPACE EXPLOITATION
TECHNOLOGY
TERRAIN & TERRAIN IMPROVEMENTS
UNITS
WONDERS
MISCELLANEOUS/OTHER
THE TEAM/FANS WHO CONTRIBUTED
AI
-Summarized by Thread Master: Mindlace-
mindlace@majordomo.net

In the matter of AI, people have ideas essentially in two areas: How it should be made (form) and how it should behave (function). Contributors are noted in the text or parenthetically.

1. FORM    TOP

The consensus on form is that the AI should be extensible by players. Options for extensibility (summary from Bingmann except where noted):

1.1) OPTION 1: Segregate the AI code into a .dll and publish the source code. Druid2 pointed out that the data interface needs to be published for this to be effective.

1.2) OPTION 2: It should be completely client (AI, human) and server (game engine). The game engine's API would be published (Darkstarr/Rong).

1.3) OPTION 3: Use an existing script language for the AI like Python or JavaScript. If this is the approach taken from the start, then there isn't any more effort involved in implementing the AI this way. Retrofitting a script language onto existing AI would be a big job. Some of the AI code is going to have to be in C/C++/assembler. These fast routines will have to be a finite set available in the main program, or attach homegrown dll's to provide unlimited expansion. Pathfinding comes to mind with regards to this issue; it's going to choke in a script language implementation. There can be a default pathing routine in the program, but custom pathfinding routines are certainly a desirable AI feature.

1.4) OPTION 4: Create a new dedicated script language (and dedicated debugging tools-AI scripts are going to be too large and complex to debug otherwise). This would be really nice, but I think this is going over the top. It's just too much work.

Option 3 is considered preferable because it allows the 'out of box' experience to include the possibility of user-scripted behavior for the gamer's own AI`s-governors, terraforming, complex unit orders, etc. If it were done this way, then the user AI and the computer player AI could work from the same base. External developers might eventually cover this possibility if option 1 or 2 is pursued. http://www.gameai.com/exai.thread.html is an excellent discussion on the topic of an Open Source AI (Rong). There were some concerns that no AI extensibility of any kind would be pursued because of difficulty or philosophy.

2. FUNCTION    TOP

2.1) The AI should pursue long-term strategies (developing infrastructure, etc) because it wants to and short-term strategies (building a huge military) because it has to.

2.2) If the computer players are inferior to you, they shouldn't fight each other. In mid to late game, all AI units should be garrisoned or fighting a war (Ralph).

2.3) There should be Governors who have more than one city (see CITY/REGIONAL INTERFACE): Perhaps they should have personality and statistics (+grow -support) as well (Seeker).

2.4) Have a resource ratio (20% nutrients, 30% energy/trade, 50% production) and have settlers/engineers try to achieve it. Often the computer player overemphasizes one resource (Flavor Dave).

2.5) If special constructs (fortresses, airbase, etc) are to be built, they should be used and not redundant.

2.6) The AI should have distinct personalities/behaviors for each culture and/or social model.

2.7) The AI should show more intelligent behavior as difficulty progresses. Ideally, this would be the only difference in difficulty.

2.8) Combat knowledge: Attack in force. Always.

2.9) Do not allow the computer to be suicidal more than once: Probe Teams VS. Hunter Seeker Algorithm, Destroyers vs. Coastal fortress.

2.10) Have 2 pronged attacks.

2.11) Leave troops in reserve.

2.12) Have a knowledge of geography and distance-don't start wars with people halfway across the world but take strategic cities.

And, finally, the Holy Grail:

2.13) The AI should learn from what you do and adapt to it.


Apolyton Civilization Site Copyright © Robert Plomp and Jeroen Schweitzer
All trademarks and trade names are the properties of their respective owners