 |
|
gemini
|
|
Hey man, sorry I haven't played an actual game in a year, what is ICS?
------------------
Gemini
|
|
|  |
 |
|
Gedrin
|
|
Two things.
1. ICS is Infinte City Sleaze which is not new to CtP. It exploits the fact that 2 pop 1 cities works 4 tiles while 1 pop 2 city works only 1. Hence more and more smaller cities is always better since they are also happier and grow faster anyway due to the lower pop.
2. terrain.txt!!!! Oh Gawd. That is an awsome idea. I had no idea that CtP would exasperate ICS on purpose. I should have realized that the base numbers for a pop 1 city were too high to be explained by 2 workers and gone looking for why. I just don't understand the rationale for bonuses either. I mean there's just not a lot of farming going on within say... New York City for example.
Thanks!!!!
Gedrin
|
|
|  |
 |
|  |
 |
|
MadWoodster
|
|
A wierd and mad place called Southampton
Jan 2000 time: 05:13
|
|
I thought the bonuses were actually a compensation as you can't build tile improvements on this squares due to the city being there, do the tile improvements get automatically built when required advance is researched?
|
|
|  |
 |
|
Dogmatrix
|
|
Moama, N.S.W, Australia (+11 GMT)
Apr 2000 time: 05:13
|
|
Don't know about that. I tried to fix the problem of ICS's, or ICSing, but it didn't seem to make much of a difference, unless of course I hadn't ifxed the tile that I had started on, oh well I don't know. It might be that the bonus is given only when the city is started or maybe later.
Oh, well
Dogmatrix
|
|
|  |
 |
|
Gedrin
|
|
After some testing this weekend I can say with a great deal of confidence that:
The ENV_CITY_BONUS {
factors in the terrain.txt file apply all the time.
The bonuses may be negative and do reduce that single tile outputs to negative however they will not reduce the overall total city productions to negative.
Cities need these bonuses to get off the ground in any reasonable amount of time.
I tried changing food from 10 to -10 and serious stagnation took place. 123 turns to grow ouch!
I changed shields from 5 to -15 and that really hurt in the long term.
I added a gold -5 and could not get any tech without a trade good on a river and working another river tile.
So I wrote a SLIC that I am testing that targets ICSers specifically. Every turn there is what I call a Bureaucracy Tax. This tax will be zero if you remain on a certain baseline of cities vs average city pop.
If you have many small cities (ie ICS) then the tax grows very fast. If you have few larger cities then you may even get a subsidy. However that is going to be hard to achieve.
This tax is applied to your gold reserves after all other income and expenses are calculated including science so there is no detrimental effect there... although you may need to set 0% science to pay for your ICS habits.
Now the trouble is the beginning of the game. In my tests AIs were dropping like flies and it was difficult to get even my third city out there without a heafty tax penalty. Damn Bureaucrats and their rampant inefficiencies (ie my formula is too expensive). I plan to try tying the costs to the game turn making it cheaper to ICS in the early years but allowing costs to mount rapidly. I've even considered tying the cost of the bureaucracy to the gov't type but I think I'll wait until I have a good general formula first.
Any yes I will post it for all who care once I have a formula I'm happy with.
Gedrin
|
|
|  |
 |
|
Dogmatrix
|
|
Moama, N.S.W, Australia (+11 GMT)
Apr 2000 time: 05:13
|
|
Sounds like a good solution to your troubles, and everyone elses with ICSers. Hope you get it working well enough to be viable.
Dogmatrix
|
|
|  |
 |
|
Gedrin
|
|
Well I've tried this:
trigger 'BureaucracyTax' when (g.year) {
cityCount = Cities(g.player);
popCount = 0;
index = 1;
while (index <= cityCount) {
SetCityByIndex(1,g.player,index);
popCount = popCount + city.1.population;
index = index + 1;
}
// The following is = cityCount * (aveCityPop - cityCount/2) * (6-g.year/100)
// However due to errors from rounding divisions the divisors have been extracted out
// to the last term. Note that aveCityPop = popCount/cityCount
surtax = (2*popCount - cityCount * cityCount) * (600 - g.year) / 200;
AddGold(g.player, surtax);
}
I had to make the tax diminish with time since in the late game you normally have many more cities than twice your average pop. When I spreadsheeted it without lowering these costs there was no way you could take over the world...
The trouble I am having is that twice now I have had a crash between turn 120 and 180. Very annoying. I thought it might be due to setting gold to negative but tests have indicated it worked fine (left it at zero but it worked). I even added an alertbox with a button to SetGovernment(0) if you ran out of money. But AIs did not seem so affected although human players were... the government collapsed.
I'm now looking for under/overflow to be the culprit. Anybody know how may bits the INT type is in SLIC?
(although I seriously doubt thats the problem considering one of the two scenarios that crashes)
|
|
|  |
 |
|
gemini
|
|
Hi Gedrin,
In the expression for the trigger I think the problem is you shouldn't be using g.year. All that does is return the year. So I recommend using g.player in the place of g.year. Or using trigger 'thisscript' when (g.year >= 0 && g.player).
If using g.year in the expression would trigger your script it probably only triggers on the human turn, player.1 because that would be on a change of year.
That may solve the problem.
If not try using player.cities instead of the cities function. It may not be returning the correct integer. I'm not really sure when the cities function or how it gets it's info. It may use an integer from the start of the year so if cities change hand it will cause an endless loop. I'm not certain but I remember using that function a while ago and running into some sort of trouble. But I have never had any trouble with using the player.cities variable. At least it might be worth a try if it's still crashing.
I know for a fact that the addgold function does work with negatives without crashes.
Also the setgovernment function only applies to the human player since you can't send the ai a message.
Hope this helps. I'll be gone for the next couple of days so hopefully if any more trouble arises someone else can help.
------------------
Gemini
[This message has been edited by gemini (edited September 08, 2000).]
|
|
|  |
 |
|
Gedrin
|
|
Thanks Gemini;
I've been off on vacation, hence the delay.
Actually all of the crashes I've been having were as a result of my disseminate trigger.
'Course when I posted this no one new of my disseminate trigger since Wes had not yet released the MedPack with it in.
I have since found the trouble with that (attempting to GrantAdvance to dead civs causes a crash).
I was not aware that messages are not sent to AI's. That is a shame. I wished they were and they took the first button my default in the case of alert boxes but oh well.
Thanks again
Chris
|
|
|  |
All times are GMT. The time now is 05:13. Apolyton Time is 00:13. |
top of page
|
|
|
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
|
|
|
|
|
|