1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

The 3.0 Development Thread

Discussion in 'Civ4 - Star Trek Mod' started by deanej, Aug 16, 2009.

  1. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
  2. zoommooz

    zoommooz Warlord

    Joined:
    Nov 28, 2005
    Messages:
    182
    Location:
    N.S.W, Australia

    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).
     
  3. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    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).
     
  4. zoommooz

    zoommooz Warlord

    Joined:
    Nov 28, 2005
    Messages:
    182
    Location:
    N.S.W, Australia
    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?
     
  5. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    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.
     
  6. zoommooz

    zoommooz Warlord

    Joined:
    Nov 28, 2005
    Messages:
    182
    Location:
    N.S.W, Australia
    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?
     
  7. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    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.
     
  8. zoommooz

    zoommooz Warlord

    Joined:
    Nov 28, 2005
    Messages:
    182
    Location:
    N.S.W, Australia
    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.
     
  9. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    Now that I think about it I believe Final Frontier has an AI for it somewhere, but it's definitely not even remotely optimal.
     
  10. God-Emperor

    God-Emperor Deity

    Joined:
    Jul 18, 2009
    Messages:
    3,551
    Location:
    Texas
    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):
    Code:
    							# 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.
     
  11. zoommooz

    zoommooz Warlord

    Joined:
    Nov 28, 2005
    Messages:
    182
    Location:
    N.S.W, Australia
    No real experience with CvAI. files. What do you mean by comment out? I assume this is more then just deleteing the 'if'?

    Thanks
     
  12. God-Emperor

    God-Emperor Deity

    Joined:
    Jul 18, 2009
    Messages:
    3,551
    Location:
    Texas
    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).
     
  13. zoommooz

    zoommooz Warlord

    Joined:
    Nov 28, 2005
    Messages:
    182
    Location:
    N.S.W, Australia
    Every whereI go, it seems my questions are being answered by you:D, just like to say that it is very much appreciated.

    Cheers
     
  14. God-Emperor

    God-Emperor Deity

    Joined:
    Jul 18, 2009
    Messages:
    3,551
    Location:
    Texas
    I just might be omnipresent and omniscient.

    But I doubt it.
     
  15. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    Nah, you're just the person that knows more about Final Frontier than anyone else.
     
  16. idontknow

    idontknow Chieftain

    Joined:
    Feb 10, 2010
    Messages:
    3
    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.
     
  17. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    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).
     
  18. TC01

    TC01 Deity

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    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.
     
  19. apenpaap

    apenpaap Tsar of all the Internets

    Joined:
    Apr 7, 2008
    Messages:
    1,468
    Location:
    Amsterdam
    Or you can allow them to build doomsday missiles with Warp 7 Drive if that doesn't work.
     
  20. deanej

    deanej Deity

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    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.
     

Share This Page