 |
|
itsamic
|
|
Unfortunately I don't know much about SLIC so the question to the experts: would it be possible to define the prio for GOAL_SETTLE_LAND in strategies.txt (if this is the right switch) dynamicly, depending to the gov type and the current number of cities to prevent the AI from overgrowing?
I have the same problem on a 200x400 map and it is too easy. I've only to wait and the AI grows into self-destruction.
|
|
|  |
 |
|
itsamic
|
|
I have already increased city caps, but it should be in a limit because to much cities speeds up the game too much. I'm using 22 Civs because I think a large map and many civs make the game more "realistic", there are much more interactions possible. At the moment I'm trying with the modified pop.txt but I'm not sure if entertainers will solve the problem. If a civ grows to fast at the beginning (with many smal cities) the problem still appears.
@Immortal Wombat
Would you please post the code for changing the priority according to the city limit? I know that it is the wrong way to learn the SLIC syntax but....
|
|
|  |
 |
|
itsamic
|
|
I have already increased city cap and pollution settings. Additionally I gave water filter the ability to decrease pollution, reduced the probability to find settlers and citys in the huts, increased the min distance between cities and the nice factor for founding new cities. Currently I'm testing these settings. I think this will keep me busy for a week or so, so far it looks fine.
The next I want is to stretch the time line and the tech tree and after this it could be necessary again to steer the growing of the AI.
|
|
|  |
 |
|
Immortal Wombat
|
 |
in perpetuity
Dec 2000 time: 05:25
|
|
oops, forgot about this... 
Actually, it seems I lied. What I did was to stop the AI building settlers when it hadn't built a city for 'a long time', and had a certain number of cities already. I don't know if this is needed, but it saves the AI hauling a whole load of settlers around a map that's already fully settled.
It's quite simple actually:
code:
// In strategies.txt
STRATEGY_ENOUGH_OF_THE_SETTLERS {
SettlerUnitsCount 0
}
STRATEGY_ALMOST_ENOUGH_OF_THE_SETTLERS {
SettlerUnitsCount 1
}
// In a SLIC file
int_t CityCountdown[];
HandleEvent(BeginTurn) 'settler_watcher' pre{
if(g.year <= 1){
for(i=0;i < preference("NumPlayers"); i = i + 1){
CityCountdown[player[i]] = 0
}
}
CityCountdown[player[0]] = CityCountdown[player[0]] + 1;
if(CityCountdown[player[0]] >= 200 && player[0].cities >=15){
SetStrategicState(player[0], StrategyDB(STRATEGY_ENOUGH_OF_THE_SETTLERS_ALREADY
));
} elseif(CityCountdown[player[0]] >= 100 && player[0].cities >=15){
SetStrategicState(player[0], StrategyDB(STRATEGY_ALMOST_ENOUGH_OF_THE_SETTLERS_
ALREADY));
}
}
HandleEvent(CreateCity) 'reset_city_watch' pre{
int_t tmpPlayer;
tmpPlayer = player[0];
CityCountdown[tmpPlayer] = 0;
}
If you have Dale's WhatGovAmI? code installed and running in the mod, it wouldn't be too difficult to make it check for city limits.
code:
// assuming GOVT_WhatGovtAmI array is set up.
HandleEvent(BeginTurn) 'check_city_limits' pre{
int_t maxCities;
government[0]=GOVT_WhatGovtAmI[player[0].owner];
maxCities=GovernmentDB(government[0].type).TooManyCitiesThreshold;
if(PlayerCityCount(player[0].owner) >= maxCities){
SetStrategicState(player[0], StrategyDB(STRATEGY_ENOUGH_OF_THE_SETTLERS_ALREADY
));
}
}
Or something.
Untried, untested, don't sue me, hate me, or trust me ever again if it all goes pear-shaped.
|
|
|  |
 |
|  |
All times are GMT. The time now is 05:25. Apolyton Time is 00:25. |
top of page
|
| archivepost |
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|