Discussion in 'Civ4 - Star Trek Mod' started by deanej, Aug 16, 2009.
I believe the marathon gamespeed is about 2000 turns long.
Ah yes, of course you are right, (I forgot to specifically mention that the galaxy maps have a 400 turn limit within the map file).
I would imagine that if you remove the lines in the worldbuilder file that have the turn limit and the gamespeed you could get marathon in the scenario (haven't tested it, but I'm 99% positive it will work).
Already done, and yes deleting this line cause the senerio to fall back to the default settings in game speed xml.
On a seperate note, because of turn time lenghth I started a new game with 12 civs, in the standard startrek mod, using a spiral galaxy map. Even on emporer setting, I am really pulling away from the AI (even the borg) in terms of research, alarmingly so (in terms of game balance and difficulty-I love challenging games). Because I am still quite new to this mod (but not others) I was wonder is this normal?, and do other people experiece this?. And what exactly is the problem with the AI, that it is researching so poorly? Any ideas?
It's probably because the AI doesn't know about building on different planets, so if you use that feature, your cities will wind up better than the AI's.
Oh, I did not know this is a separte option, how do you disable/enable it?. Part of the problem also was that because I modified the iTrain for my longer lenghth games, and because of the AI's love of building early units (when compared with a human at least), the longer the game (and the greater the iBuild-iTrain values), the more help the AI needs for these. So, for balances my research is 145% of what the AI's is, and the iBUIld and iTrain rates are 65% of mine, and finally, the AI is putting up a fight
Also, found something interesting in relation to turn times. I was about 400 turns into a 2000 turn game, and the times were heading up to the 5 min mark. Because I am balancing (to my own preferences) during a game to try and help the AI, I needed to quit, and reload a save. Suddenly, turn times went down to 45 sec!!.
So, I know the python usage is one cause for the turn lag, but I think there may be other mysteries as well. Anyway, I reload now at least every 25 turn and there has been a vast overall improvment.
Lastly, factories with power provide a +50% production bonus? Should this actally be 50% total (25%+25%-with factory) as oppossed to the 75% total it now gets, or is this WAD?
Civ does have a memory lead somewhere - that's probably what you're seeing. Happens in RFC too, and probably FFH.
The planet thing isn't an enable/disable - you can just choose not to use it (now that I think about it, the AI might do this, but it defiantly isn't optimal).
How do they do on an unmodded game? I'm have some tweaks to difficulty levels in 3.0, so I might add that in if needed. I've added in the factory nerf.
Thanks for the reply, and the changes for 3.0 sound great. Yes, after a bit of exploring, I found that all other mods (well the ones I am familiar with) have this memery leak/load save that helps with them.
With the mutiple planets building thing, did Final Frontier introduce the idea of mutiple planet productuion?, and then not code the AI to do it?: or did you do that(I would forgive you, I am really loving this mod). I am going to test this, because as you say, if the AI is not buidling mutiple building types (ie two hospitial for an unclean city) this would be a major cause for imbalance between human and AI.
Now that I think about it I believe Final Frontier has an AI for it somewhere, but it's definitely not even remotely optimal.
The only time the regular Final Frontier AI will change what planet it is building things on is in the Python build overrides in CvAI.py, in the doCityAIProduction. This doesn't always attempt to override the regular AI build decisions (which is a very good thing - it is very basic and only knows about 8 buildings total), but when it does it can change the current build planet.
In this routine it generates weight values for 7 different factors (military, population, production, commerce, happy, health, and food) to try to identify its most pressing need. If any of these weights is high enough it will try to do something involving the one with the highest weight and if it can't do anything about that one thing, it is done - it never tries to fix more than one problem. For most of these, there is only one thing that it will try to build (the exception is that it knows about both commercial satellites and mag-leg networks for commerce, for the others it is things like: need more food = build nutrition facility, need more happy = build a sports arena, need more production = build a mining facility, and so on). If the planet currently set as the build planet already has the building it is trying to force, then it will pick another planet to build it on (in a pretty random way - it doesn't put much effort into trying to pick the best planet, and it even picks a bad choice in one case). That is the only time it will ever switch build planets.
There are a few bugs in the file that are mentioned over in the official Final Frontier mods thread which, if fixed, may make a very slight improvement in the AI. They are all fixed in Final Frontier Plus.
Want a quick improvement for the AI? It will do nothing for it in the early game, but allow it to keep larger populations productive in the later game. In CvAI.py find the lines that look like this (lines 670-671 in the unmodified code, or 673-674 in FF+'s version, in the population section):
# Good food on this planet, good for future growth
if (pPlanet.getTotalYield(iPlayer, iFood) >= 3):
Comment out that "if" line.
With it in there, it will never force-build a habitation system on any planet that does not produce at least 3 food (the regular AI might, through pure random luck, build one - but it knows nothing of planet population limits and places little value on habitation systems). Those planets that start with 0 food (the 0/3/3 and 0/2/5 planets) or 1 food (the 1/2/3 and 1/1/6 planets) will never have a habitation facility built on them no matter how much the current population is above the system's total planet limits, and the two types that start with 2 food per pop (2/2/1 and 2/0/3) will only build one after building a nutrition facility. This puts a pretty strict limit on the total amount of population the system can have doing actual work in the late game. It also means it never puts a habitation system on the highest production planets or the highest commerce planets. Habitation systems on those 1/1/6 planets do wonders for your economy (especially after building mag-levs and satellites to push the per-pop commerce up to 9) - and the AI's too.
You might notice that a few lines above this it gets a list of planets in order of food production (it is sorted high to low, a list of tuples with food and planet). It never uses this list. You might improve things by using that list too. It builds this list in multiple places, with variables names indicating that a couple of them should actually be based on production and commerce rather than food, and I don't think it ever actually uses any of them.
# Good food on this planet, good for future growth
if (pPlanet.getTotalYield(iPlayer, iFood) >= 3):
No real experience with CvAI. files. What do you mean by comment out? I assume this is more then just deleteing the 'if'?
Generally "comment out" means to change a statement into a comment so that it is not executed anymore. In Python this is done by putting a # character in front of it.
This is functionally equivalent to removing the entire line, but easier to undo (for example, you might decide later to undo it but with a ">= 1" instead of the ">= 3") and it doesn't change the line numbers of the all the lines of code after it (so line 800 in the file would still be line 800, not 799).
Every whereI go, it seems my questions are being answered by you, just like to say that it is very much appreciated.
I just might be omnipresent and omniscient.
But I doubt it.
Nah, you're just the person that knows more about Final Frontier than anyone else.
May I suggest photon torpedoes, plasma torpedoes and the like be added to this excellent modpack? If so, I think this feature should be incorporated into this modpack in several ways. First the appropriate starships should have cargo space for the appropriate torpedoes. Second torpedoes may be manufactured in starbases and solar systems as in the original Final Frontier modpack. Third, photon torpedoes may have a range of two tiles and should damage only one starship without splash damage, and plasma torpedoes may have a range of one tile but should do splash damage to two or more starships in a stack; or both photon and plasma torpedoes should have a range of one tile, but photon torpedoes should have higher damage capabilities to a single ship and the plasma torpedoes (even though having lesser damage capabilities) should still keep their splash damage. And last but not least, some or all ships should be able to evade one or more types of torpedoes; the evasion chance should be determined by the ship class: for example, ships of the light or fighter class should have a higher evasion chance than a heavy or battleship class; since, I would imagine, ships of the former class would be more maneuvarable than those of the latter (even though some ships of the former class may have lower warp speed potential than those of the latter class).
In addition there will be some problems as my common sense quite utterly perkily declares. Incorporating this torpedoes feature, well at least in the manner i just described, will first spike up the unit maintenance costs and of course will second contribute to unbearable lag. Of these problems I am sure at least the first one can be corrected, but for the second I am afraid not.
Does anyone have any idea of what to do for a Xindi UU? I wanted to use the Xindi Superweapon, but mobile units that have the nuke ability behave in really strange ways (they don't actually nuke anything, but the effect/text goes off, and they can teleport anywhere).
I had an idea on how this could work when considering how the Krenim Weapon Ship could be made to actually target things. I think I actually coded it too, but I don't think I ever came up with a good way for the weapon effect to work.
You make a Xindi Superweapon and give it code similar to what starbases use to create missiles. Except, instead of creating missiles, you create "Xindi Superweapon Pulses" or something like that, and these units are nuke units. Essentially, every 10 (or whatever) turns the Xindi Superweapon energizes to the point where it can fire the weapon.
Or you can allow them to build doomsday missiles with Warp 7 Drive if that doesn't work.
I've made the superweapon act like a doomsday missile (actually, it is a doomsday missile, just with different art/requirements and a national limit); to compensate, all light ships can carry missiles.
I have everything but the civilization pedia entries and the leader stuff done. As always, first contact text for the leaders (Chang, Odo, Lore, Garak, Seska, Jaro Essa, Intendant Kira, Degra, Dolim, Eddington, Harrad-Sar, Silik, Gegen, Odala) is appreciated.
Separate names with a comma.