Advanced Civ

I'll experiment some more, maybe the resource list is still taking up too much room in some situations.
Here is a screenshot of a city screen in unmodded BtS. One can compare it between my previous picture. There isn't much of a difference regarding the specialist list, other than the specialists being somewhat compactified and moved to the right slightly. If there is a value in the code you'd like for me to try adjusting until it fixes it, let me know. I see that you made a change at around line 1367.
Spoiler :
BtS City Screen.JPG
 
If there is a value in the code you'd like for me to try adjusting until it fixes it, let me know. I see that you made a change at around line 1367.
Thanks. It might help if you could enable debug output that shows the positions and size of the various widgets. To do that, the line return (False ... near the start of LayoutDict.py needs to be changed to return (True ...
Additionally, it would be good to comment out or delete these two lines a little below
Code:
			(not szKey.startswith("IncreaseSpecialist") or
			szKey.startswith("IncreaseSpecialist0")) and
— so that the individual add-specialist buttons aren't omitted from the logfile. And LoggingEnabled needs to be set in CivilizationIV.ini.

I'm getting this output (not in this exact order):
Spoiler :
Code:
BonusPane0 Rect(1117, 93, 53, 204)
BonusBack0 Rect(1117, 93, 249, 220)
IncreaseSpecialistButtons Rect(1315, 338, 20, 182)
IncreaseSpecialist6 Rect(1315, 338, 20, 20)
SpecialistLabelBackground Rect(1117, 297, 240, 30)
SpecialistLabel Point(1237, 303)
Which means that the background of the resource list starts at y=93 and reaches down to y=93+220=313 (the upper left corner of the screen is 0,0). The last add-specialist button (for Spies) starts at y=338, well below the bottom of the resource list. I don't think the hidden "Specialists" label can block the add-specialist button, but, in any case, it doesn't overlap with the button either. I suspect that your resource list somehow extends farther toward the bottom. I'm attaching part of a screenshot that I've taken with my (supposed) hotfix, cropped and inserted into your screenshot. The shading of the background suggests to me that your resource list (prior to the hotfix) is longer than mine.

On a different note, I think I've actually managed to fix the issue with the lagging scoreboard. Seems to be enough to hide and immediately unhide all the scoreboard text to cause the EXE to re-check the cursor position – no need to redraw (or recalculate) anything. And the (un-)hiding didn't require much additional code. So hopefully that'll be fixed in the next release. I've also implemented a switch (Ctrl key) for pillaging (or air-bombing) improvements before routes.
 

Attachments

  • city_sidebar.jpg
    city_sidebar.jpg
    249.1 KB · Views: 46
Thanks. It might help if you could enable debug output that shows the positions and size of the various widgets. To do that, the line return (False ... near the start of LayoutDict.py needs to be changed to return (True ...
Additionally, it would be good to comment out or delete these two lines a little below
Code:
            (not szKey.startswith("IncreaseSpecialist") or
            szKey.startswith("IncreaseSpecialist0")) and
— so that the individual add-specialist buttons aren't omitted from the logfile. And LoggingEnabled needs to be set in CivilizationIV.ini.

I'm getting this output (not in this exact order):
Spoiler :
Code:
BonusPane0 Rect(1117, 93, 53, 204)
BonusBack0 Rect(1117, 93, 249, 220)
IncreaseSpecialistButtons Rect(1315, 338, 20, 182)
IncreaseSpecialist6 Rect(1315, 338, 20, 20)
SpecialistLabelBackground Rect(1117, 297, 240, 30)
SpecialistLabel Point(1237, 303)
Which means that the background of the resource list starts at y=93 and reaches down to y=93+220=313 (the upper left corner of the screen is 0,0). The last add-specialist button (for Spies) starts at y=338, well below the bottom of the resource list. I don't think the hidden "Specialists" label can block the add-specialist button, but, in any case, it doesn't overlap with the button either. I suspect that your resource list somehow extends farther toward the bottom. I'm attaching part of a screenshot that I've taken with my (supposed) hotfix, cropped and inserted into your screenshot. The shading of the background suggests to me that your resource list (prior to the hotfix) is longer than mine.

On a different note, I think I've actually managed to fix the issue with the lagging scoreboard. Seems to be enough to hide and immediately unhide all the scoreboard text to cause the EXE to re-check the cursor position – no need to redraw (or recalculate) anything. And the (un-)hiding didn't require much additional code. So hopefully that'll be fixed in the next release. I've also implemented a switch (Ctrl key) for pillaging (or air-bombing) improvements before routes.
I followed your instructions, but I do not know where to find the log file. I looked in ~\Documents\My Games\Beyond the Sword\Logs but I do not see output similar to yours in any of the log files.
 
Oh ... should get written to PythonDbg.log when a savegame is loaded or a new game launched; toward the end of that file. I should've mentioned that. If not, then I'm at a bit of a loss. LoggingEnabled = 1 in My Games\Beyond the Sword\CivilizationIV.ini, right?
 
Oh ... should get written to PythonDbg.log when a savegame is loaded or a new game launched; toward the end of that file. I should've mentioned that. If not, then I'm at a bit of a loss. LoggingEnabled = 1 in My Games\Beyond the Sword\CivilizationIV.ini, right?
I don't know either. I also did try enabling the debug mode with "chipotle", and going into the debug console and poking around there. Apparently using Log.toggle is just for multiplayer chat logging, and the Autologging functionality in BUG is for other things.

Also I just wanted to say that I'm glad that you're actively working on AdvCiv again, welcome back. I appreciate all the work you've put into it over all the years. Happy holidays. :xmas:
 

Attachments

  • Logging not working.png
    Logging not working.png
    216.1 KB · Views: 42
Thanks, happy holidays to you as well.

Thanks also for the detailed feedback. That all looks correct. Maybe you're modifying Python files in some copy of the mod rather than the version that gets loaded? That would be a convenient explanation, but I don't really believe it. (The game's file cache can't be responsible; certainly wouldn't cache Python scripts.) Anyway, here's a different attempt at outputting the bottom y-coordinate of the background panel:
Spoiler :
Code:
        self.screen.setLabel("dbg", "Background",
                "BonusBack_bottom: " + str(gRect("BonusBack0").yBottom()), 0,
                gRect("BonusBack0").x(), gRect("BonusBack0").yBottom(), 0,
                FontTypes.SMALL_FONT,
                WidgetTypes.WIDGET_GENERAL, -1, -1)
        self.screen.show("dbg")
To be inserted above the line iNumBuildings = 0 – i.e. roughly around line 5000 of CvMainInterface.py. This gives me the following result:
Spoiler :

city_sidebar_with_label.jpg

So there should be a text label showing the y-coordinate and positioned at that coordinate.
 
Maybe you're modifying Python files in some copy of the mod rather than the version that gets loaded? That would be a convenient explanation, but I don't really believe it. (The game's file cache can't be responsible; certainly wouldn't cache Python scripts.)
Well, you'd better start believing it, because you were absolutely correct. :o For some reason I had a copy of the usual AdvCiv folder in the \My Games\Beyond the Sword folder, which I understand does get created for the BUG settings. I guess that during my recent installation, I put the AdvCiv folder there instead of in Program Files where it belongs. I had been editing files in the incorrect copy. After I moved AdvCiv to where it's supposed to go, I found that your original hotfix worked.

While maybe it's not useful because your hotfix worked anyway, here is the output in PythonDbg.log:
Spoiler :

Code:
Top Rect(0, 0, 1366, 768)

MiniMapButton Rect(0, 0, 28, 28)

GlobeToggle Rect(0, 0, 36, 36)

MiniMapPanel Rect(1148, 617, 216, 151)

MiniMap Rect(1152, 635, 209, 128)

LowerLeftCornerPanel Rect(0, 600, 304, 168)

LowerRightCornerPanel Rect(1062, 600, 304, 168)

LowerLeftCornerBackgr Rect(0, 604, 304, 164)

LowerLeftCorner Rect(0, 619, 296, 149)

LowerRightCorner Rect(1070, 619, 296, 149)

CenterBottomPanel Rect(296, 635, 774, 133)

CenterBottom Rect(296, 652, 774, 116)

CityLeftPanel Rect(0, 0, 258, 619)

CityRightPanel Rect(1108, 0, 258, 619)

TopBarsMaxSpace Rect(266, 2, 834, 54)

TopBarsTwoLineContainer Rect(439, 2, 487, 54)

TopBarsOneLineContainer Rect(231.5, 2, 903.0, 27)

OneLineGGBar Rect(232, 2, 84, 27)

OneLineResearchBar Rect(322, 2, 487, 27)

OneLineGPBar Rect(815, 2, 320, 27)

TwoLineResearchBar Rect(439, 2, 487, 27)

TwoLineGGBar Rect(439, 29, 100, 27)

TwoLineGPBar Rect(546, 29, 380, 27)

CityCenterColumn Rect(258, 0, 850, 768)

CityScreenTopWidget Rect(0, -2, 1366, 41)

CityNameBackground Rect(260, 31, 846, 38)

CityNameText Point(683, 34)

DefenseText Point(1106, 38)

CityScrollButtons Rect(276, 34, 46, 32)

CityScrollMinus Rect(276, 34, 32, 32)

CityScrollPlus Rect(290, 34, 32, 32)

LeftHalf Rect(0, 0, 683, 768)

RightHalf Rect(683, 0, 683, 768)

TopCityPanelLeft Rect(260, 70, 423, 60)

TopCityPanelRight Rect(683, 70, 423, 60)

TopCityPanelLeftAndRight Rect(260, 70, 846, 60)

InterfaceTopCenter Rect(259, -2, 850, 48)

InterfaceTopLeft Rect(0, -2, 267, 60)

InterfaceTopRight Rect(1099, -2, 267, 60)

TopCityPanelCenter Rect(258, 0, 850, 140)

TopCityPanelCenterStagger Rect(258, 0, 850, 140)

CityLeftPanelStagger Rect(0, 0, 258, 619)

CityRightPanelStagger Rect(1108, 0, 258, 619)

PopulationBar Rect(400, 74, 566, 27)

ProductionBar Rect(400, 100, 566, 27)

ProductionBar-Whip Rect(400, 100, 566, 27)

PopulationText Point(683, 77)

ProductionText Point(683, 103)

PopulationInputText Point(397, 77)

ProductionInputText Point(397, 103)

HealthText Point(972, 77)

HappinessText Point(972, 103)

AdvisorButtons Rect(1089, 27, 278, 28)

DomesticAdvisorButton Rect(1089, 27, 28, 28)

FinanceAdvisorButton Rect(1114, 27, 28, 28)

CivicsAdvisorButton Rect(1139, 27, 28, 28)

ForeignAdvisorButton Rect(1164, 27, 28, 28)

MilitaryAdvisorButton Rect(1189, 27, 28, 28)

TechAdvisorButton Rect(1214, 27, 28, 28)

ReligiousAdvisorButton Rect(1239, 27, 28, 28)

CorporationAdvisorButton Rect(1264, 27, 28, 28)

VictoryAdvisorButton Rect(1289, 27, 28, 28)

InfoAdvisorButton Rect(1314, 27, 28, 28)

EspionageAdvisorButton Rect(1339, 27, 28, 28)

TopRightButtons Rect(1312, 2, 50, 24)

MainMenuButton Rect(1312, 2, 24, 24)

InterfaceHelpButton Rect(1338, 2, 24, 24)

TimeText Point(1311, 6)

TurnLogButton Rect(18, 26, 28, 28)

BUGOptionsScreenWidget Rect(50, 26, 28, 28)

GoldText Point(12, 6)

EraText Point(250, 6)

PercentText0 Point(14, 50)

PercentText1 Point(14, 69)

PercentText2 Point(14, 88)

PercentText3 Point(14, 107)

CommerceSliderBtns0 Rect(72, 50, 20, 77)

CommerceSliderBtns1 Rect(92, 50, 20, 77)

CommerceSliderBtns2 Rect(112, 50, 20, 77)

CommerceSliderBtns3 Rect(132, 50, 20, 77)

RateText0BtS Point(115, 50)

RateText0BUG Point(155, 50)

CityPercentText0 Point(222, 50)

RateText1BtS Point(115, 69)

RateText1BUG Point(155, 69)

CityPercentText1 Point(222, 69)

RateText2BtS Point(115, 88)

RateText2BUG Point(155, 88)

CityPercentText2 Point(222, 88)

RateText3BtS Point(115, 107)

RateText3BUG Point(155, 107)

CityPercentText3 Point(222, 107)

MaintenanceText Point(15, 128)

MaintenanceAmountText Point(222, 128)

CityAdjustPanel Rect(8, 45, 242, 109)

EndTurnText Point(0, 575)

EndTurnTextMin Point(0, 682)

EndTurnButton Rect(1054, 605, 32, 32)

CivFlagArea Rect(1070, 619, 80, 149)

CivilizationFlag Rect(1076, 632, 68, 250)

MainCityScrollButtons Rect(1091, 605, 52, 32)

MainCityScrollMinus Rect(1091, 605, 32, 32)

MainCityScrollPlus Rect(1111, 605, 32, 32)

CityTabs Rect(1042, 674, 24, 72)

CityTab0 Rect(1042, 674, 24, 24)

CityTab1 Rect(1042, 698, 24, 24)

CityTab2 Rect(1042, 722, 24, 24)

BottomButtonMaxSpace Rect(318, 652, 716, 116)

CityTaskArea Rect(1070, 619, 78, 149)

CityTaskBtns Rect(1077, 625, 64, 137)

Conscript Rect(1079, 628, 64, 30)

Hurry0 Rect(1079, 658, 32, 28)

Hurry1 Rect(1111, 658, 32, 28)

AutomateProduction Rect(1079, 686, 32, 28)

AutomateCitizens Rect(1111, 686, 32, 28)

Emphasize0 Rect(1079, 714, 22, 24)

Emphasize1 Rect(1101, 714, 22, 24)

Emphasize2 Rect(1123, 714, 22, 24)

Emphasize3 Rect(1079, 738, 22, 27)

Emphasize4 Rect(1101, 738, 22, 27)

Emphasize5 Rect(1123, 738, 22, 27)

SelectedUnitPanel Rect(8, 628, 280, 131)

SelectedUnitText Rect(8, 660, 183, 102)

SelectedUnitLabel Point(17, 632)

SelectedCityText Rect(8, 631, 183, 129)

InterfaceUnitModel Rect(181, 632, 0, 123)

FoVSlider Rect(1236, 59, 112, 15)

FoVSliderText Point(1230, 62)

CityOrgArea Rect(1117, 45, 240, 50)

CityLeftPanelContents Rect(9, 154, 240, 450)

CityRightPanelContents Rect(1117, 99, 240, 505)

GreatPeopleBar Rect(1117, 577, 240, 27)

GreatPeopleText Point(1237, 580)

DecreaseSpecialist0 Rect(1337, 500, 20, 20)

IncreaseSpecialistButtons Rect(1315, 338, 20, 182)

IncreaseSpecialist6 Rect(1315, 338, 20, 20)

IncreaseSpecialist5 Rect(1315, 365, 20, 20)

IncreaseSpecialist4 Rect(1315, 392, 20, 20)

IncreaseSpecialist3 Rect(1315, 419, 20, 20)

IncreaseSpecialist2 Rect(1315, 446, 20, 20)

IncreaseSpecialist1 Rect(1315, 473, 20, 20)

IncreaseSpecialist0 Rect(1315, 500, 20, 20)

AdjustSpecialistButtons Rect(1315, 338, 40, 182)

FirstFreeSpecialist Rect(1333, 580, 24, 24)

AngryCitizen0 Rect(1289, 523, 24, 24)

AngryCitizenChevron0 Rect(1289, 523, 10, 10)

SpecialistDisabledButton0 Rect(1289, 496, 24, 24)

CitizenButton0 Rect(1289, 496, 24, 24)

CitizenChevron0 Rect(1289, 496, 10, 10)

SpecialistLabelBackground Rect(1117, 297, 240, 30)

SpecialistLabel Point(1237, 303)

BonusPane0 Rect(1117, 99, 53, 198)

BonusBack0 Rect(1117, 99, 249, 214)

BonusPane1 Rect(1170, 99, 78, 198)

BonusBack1 Rect(1170, 99, 249, 214)

BonusPane2 Rect(1248, 99, 109, 198)

BonusBack2 Rect(1248, 99, 249, 214)

TradeRouteListBackground Rect(9, 158, 240, 30)

TradeRouteListLabel Point(129, 164)

TradeRouteTable Rect(10, 189, 238, 98)

RawYieldMenu Rect(35, 161, 188, 24)

RawYieldsTrade0 Rect(35, 163, 24, 24)

RawYieldsFood1 Rect(69, 163, 24, 24)

RawYieldsProduction2 Rect(93, 163, 24, 24)

RawYieldsCommerce3 Rect(117, 163, 24, 24)

RawYieldsWorkedTiles4 Rect(151, 163, 24, 24)

RawYieldsCityTiles5 Rect(175, 163, 24, 24)

RawYieldsOwnedTiles6 Rect(199, 163, 24, 24)

CultureBars Rect(9, 551, 240, 53)

NationalityBar Rect(9, 551, 240, 27)

CultureBar Rect(9, 577, 240, 27)

NationalityText Point(129, 554)

CultureText Point(129, 580)

BuildingListBackground Rect(9, 291, 240, 30)

BuildingListLabel Point(129, 297)

BuildingListTable Rect(10, 322, 238, 225)

DefaultHelpArea Rect(7, 596, 302, 0)

DefaultHelpAreaMin Rect(7, 718, 302, 0)

PromotionButton0 Rect(180, 726, 24, 24)

PLE_PROMO_BUTTONS_UNITINFO0 Rect(180, 730, 20, 20)

BottomButtonList Rect(318, 655, 716, 100)

PlotListPanel0 Rect(312, 289, 649, 35)

PlotListPanel1 Rect(312, 323, 649, 35)

PlotListPanel2 Rect(312, 357, 649, 35)

PlotListPanel3 Rect(312, 391, 649, 35)

PlotListPanel4 Rect(312, 425, 649, 35)

PlotListPanel5 Rect(312, 459, 649, 35)

PlotListPanel6 Rect(312, 493, 649, 35)

PlotListPanel7 Rect(312, 527, 649, 35)

PlotListPanel8 Rect(312, 561, 649, 35)

PlotListPanel9 Rect(312, 595, 649, 35)

PlotListPlusMinus Rect(969, 598, 69, 32)

PlotListMinus Rect(969, 598, 32, 32)

PlotListPlus Rect(1006, 598, 32, 32)

PlotListUpDown Rect(991.0, 584.75, 24, 53)

MyPlotListUp Rect(991.0, 584.75, 24, 24)

MyPlotListDown Rect(991.0, 613.75, 24, 24)

MyPlotListMinus Rect(969, 598, 32, 32)

MyPlotListPlus Rect(1006, 598, 32, 32)


Thanks again for your help :)
 

Attachments

  • It is a Christmas Miracle.JPG
    It is a Christmas Miracle.JPG
    186.1 KB · Views: 37
Last edited:
I installed your mod as per the instruction. However, when I use the shortcut, it says there's no mod named ADVCiv_v1.08. I tried changing the folder name to "ADVCiv" and it runs without any errors. But in game, it looks just like BTS, and I can't seem to be able to open BUG menu by Ctrl Alt O. Is there something wrong?
 
The path of the mod should be:
../mods/Advciv/
.assets
. resources
.privatemaps
.

So on.

Make sure load the mod from the bts menu or create a shortccut for the mod ( normal bts file short cut execution command with the added text of mod=advciv)
 
Right, the archive is named AdvCiv_v1.08.zip, but it should unpack to just "AdvCiv". Sounds like your decompression program creates an outer folder "AdvCiv_v1.08".
 
Thanks, I too found my mistake. There's 1 layer too many of ADVCiv folders. I moved the content up 1 level and it works now.
 
In the vanilla BTS, if I press enter so all the uncommanded units are rotated, then others who have a task will finish their work. Doesn't seem to be the case with ADVCiv. Is there an option for that?

Also I found out that workers can no longer chop a forest outside of border. Which doesn't make sense, because roading is unaffected. Furthermore, if a military unit can pillage tiles outside of everyone's border, then why can't workers chop?
Besides, it seems one's culture is now spreading really far beyond actual border. Since that's the case, a worker cutting down a forest can be considered doing business within his civ's sphere of influence. I'd like to suggest that you re-enable that function, albeit with penalty if needed. For example, if an uncolored tile has 73% culture of A and 24% B, then an A worker chopping will yield 0.73 x 30 hammer x distance penalty.
 
In the vanilla BTS, if I press enter so all the uncommanded units are rotated, then others who have a task will finish their work. Doesn't seem to be the case with ADVCiv. Is there an option for that?
Turns out that I've broken this 2 years ago; will be fixed in the next release. I had never noticed because, personally, I use the Ctrl+A key combo to trigger auto-moves (not a great term for queued orders, but this is what the mechanism is called in the code). Ctrl+A is also what I would recommend as a workaround for the time being. Would actually be nice to have an optional button for auto-moves, but I don't think it's quite worth the effort to me at this point. Thanks, in any case, for making me aware.
Also I found out that workers can no longer chop a forest outside of border. [...] I'd like to suggest that you re-enable that function, albeit with penalty if needed. For example, if an uncolored tile has 73% culture of A and 24% B, then an A worker chopping will yield 0.73 x 30 hammer x distance penalty.
The range of tile culture spread was increased by K-Mod so that cities don't have to be right at the border to have an impact on contested tiles. I've disabled the spread to unowned tiles though, so fwiw the un-choppable Forests should not have any player's tile culture unless a nearby city was razed. (I've made this particular change, in part, to avoid having to show culture percentages for unowned tiles.)

My main reason for preventing chopping on unowned tiles is to slow down the overall deforestation. Some major balance change would be needed to achieve a realistic or aesthetically pleasing result, but little changes – like the earlier Lumbermill, no defensive modifier for invaders or chopping being disallowed outside one's borders – do have an effect. Moreover, the AI doesn't know how to chop outside of its borders.

I agree that it's not entirely intuitive that razing is allowed and chopping is not. But, then, some worker builds are allowed on unowned tiles and some aren't (all improvements except Fort), for various practical reasons. As for realism, the Forest isn't only destroyed, it is, apparently, also turned into lumber, which needs to be transported to a city. BtS had captured that by reducing the chopping yield based on the distance to the nearest city. Now it's conveyed, more coarsely and plainly, by disallowing those chops.

All things being more or less equal, I'd agree that it's better to leave things as in BtS, but I guess I feel somewhat strongly about keeping some more vegetation on the map. Those Forests can also make an additional city worth considering (at some point), which seems like more fun to me than weighing chopping against other worker builds (and constantly keeping any unowned Forests in mind when managing workers).

I recall that some balance/ quality-of-life mod (i.e. not a total conversion) disallows razing on unowned tiles – which is another thing the AI doesn't know how to do. In that case, my bottom line has been to keep it as in BtS. Your mileage may vary, of course. I could easily add an option for the chopping in XML in the next version of AdvCiv. For the moment, the change can only be reverted in the DLL, namely at the end of CvPlot::canBuild, requiring the DLL to be re-compiled.
 
@f1rpo

Hello, first of all many thanks for your great work .

Just played marathon game with huge map and noticed one thing where you might improve game little bit.

I played great game and builded UN pretty early on and was elected for secerytary general. After that I chose enviromentalism for global civic- vote, many civs defy resolution.
Then I noticed that those civs got 10 unhappiness penalty and so I just keep choosing same vote and after about 10 votes all those civs who defy eveyry time had about 100 unhappiness and all their cities shrank size 1.

So I can pretty much destroy half of my opponents just choosing UN votes I know they will defy. Maybe there should be some limit for defy penalties?
 
Do you have a savegame that I might be able to load with one of those disastrous votes coming up? Easiest remedy, to me, seems to make the AI (far) less willing to defy repeatedly. But I can probably also reproduce the issue by running AI Auto Play into the late game and taking control of the Secretary General. Doesn't sound like this will occur only under very specific circumstances.
 
Do you have a savegame that I might be able to load with one of those disastrous votes coming up? Easiest remedy, to me, seems to make the AI (far) less willing to defy repeatedly. But I can probably also reproduce the issue by running AI Auto Play into the late game and taking control of the Secretary General. Doesn't sound like this will occur only under very specific circumstances.

Terrible sorry but no save game:(
I played AND2 game also and it erased autosaves, didnt take any actual save on that game.

Situation was pretty normal otherwise (game turn 1050 on marathon about) but I was way ahead on techs. Those civs that defy constantly was the weaker ones, they didint have techs that r required for enviromentalism, I know because I checked and donated medicine tech for couple of them but they still defy on vote.

Maybe you can make it so that theres limit how much penalty you can have for repeating defys? Its riduculous to have 100+ penalty for just defying unwanted global civ..
 
Ctrl+A is also what I would recommend as a workaround for the time being. Would actually be nice to have an optional button for auto-moves, but I don't think it's quite worth the effort to me at this point. Thanks, in any case, for making me aware.
You're welcome! Ctrl A would suffice now that I'm aware of the hotkey, thank you. What are some other useful hotkeys that I should know?

Some major balance change would be needed to achieve a realistic or aesthetically pleasing result, but little changes – like the earlier Lumbermill, no defensive modifier for invaders or chopping being disallowed outside one's borders – do have an effect.
Invaders getting no defensive modifier is another point I forgot to raise last time. It makes very little sense. In the real world, an attack force can, and will, use any means to suffer less damage. Historical battles show records of the invaders taking advantage of hills and forests at every opportunity. Modern warfare makes use of buildings and other obstacles. If anything, they just use them less efficiently because of unfamiliarity with the geography and perhaps the populace's noncooperation. If the goal is to achieve realistic results, then I think this is actually a drawback! If I could provide a suggestion, it'd be attackers still be able to use defensive modifier, but again with penalties. Perhaps a hard cut of -1/4 as long as the tile is colored by the defending civ, and another from 0 up to -1/4 based on actual culture percentage. In all, up to -1/2 will be accounted for.
Example: a forest provides +50%. It's within A's border, with 73% culture of A, 24% B and 3% C. Now when B invades A and parks on that tile, the internal modifier will be -0.25 - 0.25*(73%-24%) = -0.37. The defensive bonus is 50% * (1 - 0,37) = 31%.

the AI doesn't know how to chop outside of its borders.
razing on unowned tiles – which is another thing the AI doesn't know how to do.
Well, too bad for AI, but we definitely shouldn't nerf humans in order for 'make it fairer' to AI. That'd destroy the whole purpose of K-mod, don't you think? ;)

All things being more or less equal, I'd agree that it's better to leave things as in BtS, but I guess I feel somewhat strongly about keeping some more vegetation on the map. Those Forests can also make an additional city worth considering (at some point), which seems like more fun to me than weighing chopping against other worker builds (and constantly keeping any unowned Forests in mind when managing workers).
A minor point about city planning, is that I often pre-chop the unowned forests to make my future cities quicker to get up and running. Not to mention the fog-busting benefit. Therefore, chopping outside actually makes an additional city more worthy!
I agree that having more vegetation is more aesthetically pleasing for a game. But the solution to blow up a popular tool might face severe backlash. Instead, how about focusing on buffing an unpopular tool? I've never used Environmentalism and/or Forest Preserve because the benefits aren't appealing enough. Maybe you'd want to boost the civic, and the improvement? If each preserved forest gives, like, 1 happiness, 1 health (and 1 hammer or 1 food with some future tech), then I'd be happy to have workers choose that. The National Park could offer more benefits, and if Environ causes other civs to be unhappy (albeit less than Emancipation) then I'd also tend to choose it.

I haven't tried it extensively enough with Iron Working, but I guess chopping jungle is also impossible outside. For this I have a real example: historically, pioneers in my country had to clear jungles before being able to settle in. Or, in our world today, regions with few inhabitants and no governmental rule (i.e. no "culture") are ones with the most severe forest logging.

Question: is AI's settling strategy any different from BTS? I need to know how blocking tactics work :)
 
Last edited:
I propose to remove the self-propagation of religion, religion already gives a great advantage over those who do not have it, so it would be logical to make it spread only at the expense of messioners
 
I propose to remove the self-propagation of religion, religion already gives a great advantage over those who do not have it, so it would be logical to make it spread only at the expense of messioners

Late game micro is already tedious and boring enough.
 
Top Bottom