1. We have added the ability to collapse/expand forum categories and widgets on forum home.
    Dismiss Notice
  2. Photobucket has changed its policy concerning hotlinking images and now requires an account with a $399.00 annual fee to allow hotlink. More information is available at: this link.
    Dismiss Notice
  3. All Civ avatars are brought back and available for selection in the Avatar Gallery! There are 945 avatars total.
    Dismiss Notice
  4. To make the site more secure, we have installed SSL certificates and enabled HTTPS for both the main site and forums.
    Dismiss Notice
  5. Civ6 is released! Order now! (Amazon US | Amazon UK | Amazon CA | Amazon DE | Amazon FR)
    Dismiss Notice
  6. Dismiss Notice
  7. Forum account upgrades are available for ad-free browsing.
    Dismiss Notice

[BTS] and [BTS] Larger City Radius and Open Borders Tech Trading

Discussion in 'Civ4 - Mod Components' started by Mylon, Sep 4, 2007.

  1. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    Version 1.13 is here for 3.17

    Enhanced Sized Cities - Cities expand their radius with larger cultural borders. After a certain size, the city expands to a radius of 3, and at the level before legendary, radius 4. The actual culture level this happens at is controlled by the xml. Cities also can gain a health and happiness boost from higher culture. By default, this bonus is +1 happiness per level,, starting at Fledgling, but no health bonus. Also moddable with XML.
    Get version 1.13 here:
    http://forums.civfanatics.com/downloads.php?do=file&id=6993
    This mod is for version BtS 3.17

    Open Tech trading - If trading with a civilization and researching a tech they have and you don't, you get a +150% research boost in all cities.
    Get version 0.81 here:
    http://forums.civfanatics.com/downloads.php?do=file&id=9352

    This mod is for version BtS 3.03
     
  2. keldath

    keldath LivE LonG AnD PrOsPeR

    Joined:
    Dec 20, 2005
    Messages:
    6,144
    Location:
    israel
    perfect!!!!!!!
    radiues increas with culture!!!! awesome! isuggeted it a while ago!

    well done job!!!!!!
     
  3. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    Game Design wise, I'm not sure how the city radius should work. With my mod it goes 1 - 2 - 2 - 2 - 2 - 2 - 3 - 3 - 4 - 4. That's a lot of 2s! There is no actual radius 1, but it would be trivial to add. Radius 2 comes early and radius 3 seems to come late. Aside from the radius 1 part, this is moddable with a simple XML change.
     
  4. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    Seems that radius 3 becomes available rather late, I think it should be available sooner.

    When I edited CIV4CultureLevelInfo.xml I notised the following:

    Code:
    		<CultureLevelInfo>
    			<Type>CULTURELEVEL_DISTINGUISHED</Type>
    			<Description>TXT_KEY_CULTURELEVEL_DISTINGUISHED</Description>
    			<iCityDefenseModifier>0</iCityDefenseModifier>
    Why does CULTURELEVEL_DISTINGUISHED have 0 iCityDefenseModifier, shouldn't it be higher?
     
  5. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    Could you explain what changed you made in CvInfos.cpp? I can't find any Mylon tags in it
     
  6. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    Oh, that's just me being sloppy. I added in the ability to read (and call) the radius from culture level. I think the tag you should look for is iCultureRadius. It needs to be declared, read from the XML, and a given a function that returns the info when required. There may be bits changed that are not tagged. Your best bet would be to use a comparitive tool like winmerge.

    As for the iCityDefense Modifier... It shouldn't be 0. If anything the iCityDefense could probably use an overhaul to make it more fluid (instead of merely repeating the value at some levels).
     
  7. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    Good news, I managed to create an extra fat cross level for LEGENDARY cultural level (which allows 8 additional tiles to work on). I also added 2 additional levels between range 2 and range 3 (each giving 4 additional tiles to work on) and 1 additional between range 1 and range 2. Now the only thing ramaining is to create 1 additional levels between range 3 and range 4, but this shouldn't be any problem. :p
     
  8. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    I did it, there are now culture 9 levels, each with a different maximum number of tiles to be worked:

    POOR: 9
    FLEDGLING 13
    DEVELOPING 21
    ELEGANT 25
    REFINED 29
    DISTINGUISHED 37
    INFLUENTIAL 49
    ICONIC 61
    LEGENDARY 69
     
  9. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    Heh, I hadn't thought of breaking it up into something smaller than simply, "city radius 1, 2, 3, or 4". I still notice some rather big jumps in your progression.

    Looking at it from the delta aspect, you have:

    POOR: 9
    FLEDGLING +4
    DEVELOPING +8
    ELEGANT +4
    REFINED +4
    DISTINGUISHED +8
    INFLUENTIAL +12
    ICONIC +12
    LEGENDARY +4
     
  10. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    LEGENDARY allows +8 tiles, not +4

    The reason it has grows this way is because in order to grow double symetrical, it has must grow with a multitute of 4. Meabee we can compensatie this slightly irregual groth by lowering or increaing culture level cost. Still the steps are much smaller than, the original 9-21-37-61

    here are the Modified CvGameCoreDll source files

    http://forums.civfanatics.com/uploa..._9_levesl_fix_CvGameCoreDll_modifications.rar
     
  11. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    My mistake on the legendary part. I can't say I totally agree with how legendary works in your version. If anything it should extend out to a radius of 5 instead of turning into an octagon. One reason for the pattern I chose is that it follows how the cultural border expands for the same radii.
     
  12. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    Meabee you are using some additional mod, but without, cultural borders at legendary level are already much further away. Too far if you ask me. Is there anyway to modify this?
     
  13. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    Possibly. I haven't taken a particular look at how cultural borders are shaped. It's likely done in the city doPlotCulture() function if anywhere. The reason why I chose legendary to extend out so far is so a radius 4 city will be able to influence another radius 4 city, assuming no overlap. If you weren't concerned with the shaping of cultural borders and just wanted to make them smaller, you could simply delete a few culture levels.

    Also, given how your mod works, I would suggest replacing the iCityRadius with an direct plot count. This way if a culture level is removed or added, it would be easier to adjust the plot counts as appropriate. I'm designing my main mod to be tweakable with XML instead of requiring a recompile.
     
  14. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    Actually, I had an idea of how to change it up a little, using this progression:

    CultureLevel ---- Tiles -- Delta
    POOR ---------- 9 -----
    FLEDGLING ----- 13 ---- +4
    DEVELOPING --- 21 ---- +8
    ELEGANT ------- 29 ---- +8
    REFINED -------- 37 ---- +8
    DISTINGUISHED - 45 ---- +8 (filling out the corners)
    INFLUENTIAL ---- 57 ---- +12 (the 4th radius, 3 tiles to each side)
    LEGENDARY ------ 69 --- +12 (as you have it)

    Iconic would get deleted using this progression. Alternately, the radius could be extended out to a potential 5 tiles.
     
  15. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    Interesting idea. However when the number of workable tiles would be linked to a XML variable, it would lead to an asynchronous growth of workable tiles, which looks really weird and arbitrary.

    Question, would it be possible to make the zoom level of the city screen variable? that way we can zoom in or out depending on the maximum city radius.
     
  16. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    EXcelent puzzeling! I concur, I will implement it as soon as possible :goodjob:

    One suggestion, intead of introducing a 5th ring we could also use the remaining 12 tiles for the Legendary culture level, bringing the maximum number of tiles to be worked on to 81, I wonder what mega cities can be supported with that :crazyeye:
     
  17. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    One, problem ramaining however, we should help the AI understand that he should build his cities near the sea, since that allows him to harvest sea tiles much better and allow him to build ships and coastal buildings. How could we do that?
     
  18. Mylon

    Mylon Amateur Game Designer

    Joined:
    Nov 4, 2005
    Messages:
    1,013
    Well, I recommend using a 5th ring to get a better circle shape, at which point you could add even more culture levels. Before or after Legendary.

    I am aware of the problem with coastal cities. The problem isn't city placement so much as coastal cities get so many benefits. This exists even in the default game, but isn't as noticeable. Coastal cities get lots of benefits (like 3 food tile freshwater lakes, with lighthouse), an extra trade route, and more trade income. Even more, coastal cities enable more tiles to be worked, as they can work sea tiles while freeing up space for a potential landlocked city. Cities not directly on the coast pretty much cannot use sea tiles at all. I could find the check made for the lighthouse building that requires coastal placement and replace it with a scan of workable tiles for an ocean square. This will probably require a different XML value so one can't build drydocks or even landlocked ships. This problem also exists for rivers, specifically hydro power plants and levees. If these tile types exist within a radius why shouldn't a city be able to take full advantage of them, despite not being on the exact spot?
     
  19. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    I agree that a 5th level would be better, however it will require an even higher altitude in the city screen which already suffers from the 4th range. We need to make the city zoom level somehow depend on the maximum tile distance. That way the end-user will be gradually introduced into the larger cities.

    I agree, this solution would be a much better, however it is also a lot harder to implement. Until then I simply want the AI to prioritise pacing cities near the sea so they reap the benefits of sea
     
  20. Fanatic Demon

    Fanatic Demon Student in Wizardry

    Joined:
    Aug 6, 2004
    Messages:
    403
    Location:
    The Netherlands
    With a fifth ring we be able to introduce an 10th culture level called EXTRAVAGANT :p

    POOR ---------- 9 ----- start
    FLEDGLING ----- 13 ---- +4
    DEVELOPING ---- 21 ---- +8
    ELEGANT ------- 29 ---- +8
    REFINED -------- 37 ---- +8
    DISTINGUISHED - 45 ---- +8
    INFLUENTIAL ---- 57 --- +12
    EXTRAVAGANT--- 69 --- +12
    ICONIC ---------- 81 --- +12
    LEGENDARY ------ 97 --- +16

    I will implement it as soon as I can ;)
     

Share This Page