Advanced Civ

So this one is not just a display issue (but not terribly relevant because it'll only affect civs that are far behind).

I noticed. I should have written a word or two about it: hopefully that missing detail didn't make finding the cause of the bug harder for you.

There can be multiple available upgrades.

Well, I'll experiment with some things. Maybe the automation buttons just need to come before promotions and upgrades. If nothing else helps, I could always add a BUG option for hiding Auto-Explore

Just moving the buttons should work, I think. In any case, it's not exactly the biggest of inconveniences.

Works well enough for me too, but, if I played those Huge Marathon games, I'd probably feel compelled to disable it in the late game. A BUG option with a threshold should be pretty quick to implement, so maybe I'll do that.

I'll admit, in the late game I sometimes disable it -- but only if I'm in a super safe position. What kind of threshold are you thinking about? Based on the turn number, or just how many units are being moved? Or something else entirely?

It's 30 turns though, isn't it? 10 on Marathon would be fine with me. Stopping an imminent Space victory – if that's the point of the 10-turn period – should mainly be a matter of sending units to the enemy capital, which takes just as long on Marathon as on Normal speed.

Space Ship travel time is indeed 30 turns on Marathon. I was referring to peace treaties and deals: they only have a 10 turn countdown, even on Marathon. Those 10 turns feel insignificant to me.

Sending enemy units takes just as long, that's true. But on Marathon, 30 turns provide a pretty big window of opportunity to also build units, given how they are cheaper relatively speaking compared to the other Game Speeds. Anyway, this is not to say that this point is important. I too would be fine with a 10 turn travel time on Marathon, I guess. Even so, I still think 30 turns make more sense.

Oh, and regarding the failed assertions about the AI attitude cache, one known issue is that attacks made throughout a human turn don't trigger a cache update but can affect the "our mututal struggle", "this war spoils our relationship" and "ruthless expansionism" modifiers. Updating the whole cache after each attack seems a bit wasteful (though probably wouldn't introduce any noticeable delay), and a more selective update is laborious to implement. There are probably some other rare issues with that cache as well. Not much of a problem, only means that the AI will adjust its attitude a little later than it should, usually when the human turn ends. Great that the fix for the crash (canceled vassal agrements) worked.

That's interesting. Every assertion is accounted for then. I don't consider the lack of intra-turn cache updates to be a problem at all. It's so nice the fix for the crash worked, thanks again!

I was going to voice skepticism about any non-default settings that increase the playing time, but, since SantaFlagship emphatically supports Huge Marathon ... Two motivated players is already a lot. As for me, I could try to just play the first 2 or 3 eras (though I'm not sure if I'll manage even that on Marathon).

Hehe, indeed I like Marathon. However, I wouldn't mind playing on Normal Speed if it means more people will join. I believe I read somewhere @keldath stating they prefer faster starts than in vanilla (and by extension maybe gameplay)? If they or anyone else wants to join and prefer faster speeds, I would totally be up for it.

With the map options that Jorunkun uses, I don't think Totestra has any upside over PerfectMongoose – but several downsides (see the start of my previous post, under "Barbarians").

I agree.

By the way, I had been considering to make Marathon a little less extreme by turning the 300% modifiers down to 250% – i.e. 1250 turns, or perhaps more typically ca. 1000. How would you two feel about that?

I actually feel quite positive about it. The appeal of Marathon, for me, is that it feels more realistic in terms of unit movement compared to everything else (mainly research and build time). Thus there is nothing written in stone about the 300% modifier in particular, as long as that overall feeling is preserved. At least that's what I care about. It's hard to say for sure what I think about it, before playing a game or two with the change.
 
Hi folks,

santaflagship,
Your right kinda, i prefer a start where you have more to do. Thus i added another settler and a worker in my mod.


As for a game you guys mentioned, i can flow with that. How will it go?

F1rpo,
Howyou doing buddy?
I didnt see git commits soon, i guess your doing more tests before?
 
And another (unfortunately rather crude) bug report: selecting units in large stacks occasionally stops to work, but it helps to select another unit(-stack) and reselect the stack you want to work with. Alas, I have not observed when this occurs and I also cannot provide save game given that I play with a personal mod-mod, so I am afraid all I can do is point towards this issue.
 
Thank you for the exhaustive answer! Right I'm very busy IRL but I will try to at least pay close attention to both your project and the C2C one!
Sure. Regarding AI, there won't be much to keep track of here as AdvCiv is pretty much at the maintenance stage of its lifecycle. (Though I suppose the occasional reported AI issue could still be of interest to a modder with big plans for the AI.)
When one plays a custom game as a random character with the "True Start" option, you get a civ that's appropriate for the location, but if you regenerate the map and get a new civ, you will still keep the old civ's starting techs.
Oh, that makes sense. The game only resets the bare essentials when regenerating, and that doesn't include techs. Easy to fix. Thanks.
 
What kind of threshold are you thinking about? Based on the turn number, or just how many units are being moved? Or something else entirely?
I'm picturing a dropdown menu on the BUG options screen with unit counts of 0, 1, 2, ..., 5. I guess under "Camera" on the Map tab. Not sure how to count the units. Ideally, it shouldn't matter whether units are moved individually or as a group. Should probably count the number of combat units that the moving player owns on the destination tile once the move is made. Maybe also the source tile before the move, to show when a stack breaks up – i.e. show the move if either count exceeds the threshold (and Show Friendly Moves is enabled).
I was referring to peace treaties and deals: they only have a 10 turn countdown, even on Marathon. Those 10 turns feel insignificant to me.
I see. It's generally difficult to say whether just warfare should be faster (relative to tech progress) on Marathon or also diplomacy. You're probably right that 15 or 20 turns to cancel a deal would work better, but I'm reluctant to change this because deals being unbreakable feels artificial in general and because I worry that some AI code implicitly assumes that deals might last only for 10 turns (though there is certainly a lot of code that does check the PEACE_TREATY_LENGTH variable as it should). And it would be a rather significant, high-visibility change. Still, something for me to keep in mind if that Marathon forum game actually happens – is it ever even worth paying a war enemy for just 10 turns of peace?
The appeal of Marathon, for me, is that it feels more realistic in terms of unit movement compared to everything else (mainly research and build time). Thus there is nothing written in stone about the 300% modifier in particular, as long as that overall feeling is preserved. At least that's what I care about. It's hard to say for sure what I think about it, before playing a game or two with the change.
Come to think of it, it'll be a bit difficult to set the modifier for unit production costs if the research cost modifier is 250%. Though perhaps it's fine to use 167%, i.e. to reduce it in proportion. Production costs are already rounded to a multiple of 5. Or a higher modifier, to make buildings less unattractive – 175, 185, or even keep it at 200% ...
 
Howyou doing buddy?
I didnt see git commits soon, i guess your doing more tests before?
I haven't even committed anything in Git locally yet. Will have to sort out all the small changes I've made. But that's next in line now.

@xyx: Probably an issue with the "plot list" (unit icons), maybe only when not all unit icons can be displayed at once because the stack is so large. To narrow the problem down a little bit: Do you have the PLE "drawing method" enabled on the Unit Icons tab? The BUG drawing method? Or neither?
 
Probably an issue with the "plot list" (unit icons), maybe only when not all unit icons can be displayed at once because the stack is so large. To narrow the problem down a little bit: Do you have the PLE "drawing method" enabled on the Unit Icons tab? The BUG drawing method? Or neither?

The BUG drawing method is enabled, PLE is not. But I don't think the issue is that not all units can be displayed, there is still lots of room. But as I noted previously, the units float a bit in the air on my system anyway.
 
@xyx: With the BUG drawing method enabled, I can reproduce the issue with the y-coordinate. I had tested that option but probably did some cleanup in the end without another test. Anyway, I had set the wrong size for the icons and that also resulted in the wrong position. Might explain the issue with selecting units roo, but I'm not sure about that; could also be a separate problem. Attaching Assets\Python\BUG\BugUnitPlot.py with the icon size corrected. Let's see if the other problem still occurs. (I'll also enable the BUG drawing method on my end once I play a game and get some large stacks.)
 

Attachments

  • BugUnitPlot.zip
    6.2 KB · Views: 16
Your right kinda, i prefer a start where you have more to do. Thus i added another settler and a worker in my mod.

I actually downloaded Doto some time ago. I haven't played a game yet, but I've read a fair bit in its Civilopedia. I have been meaning to try it out, and this reminded me of it. When I play (might happen this summer), I'll be sure to take some notes and post about it in the doto thread!
As for a game you guys mentioned, i can flow with that. How will it go?

Nothing set in stone yet, but I imagine it will be a Huge PerfectMongoose map. Game speed is up for debate -- I think the majority should decide. Jorunkun and I prefer Marathon, but if you and f1rpo prefer Normal (only guessing here), maybe Epic could work as a compromise? Other than that, I believe the most important difference of opinion is regarding vassals. Jorunkun's preferred settings are without vassals. I really like vassals, and think it's one of the many strong points of Advciv.

That said, this was Jorunkun's idea, and I imagine they will set the game up. I've never played a GOTM-style game before, but I imagine Jorunkun creates a save, saves at turn 0 and shares it with the others in a new thread in the Advciv forum.
I see. It's generally difficult to say whether just warfare should be faster (relative to tech progress) on Marathon or also diplomacy. You're probably right that 15 or 20 turns to cancel a deal would work better, but I'm reluctant to change this because deals being unbreakable feels artificial in general and because I worry that some AI code implicitly assumes that deals might last only for 10 turns (though there is certainly a lot of code that does check the PEACE_TREATY_LENGTH variable as it should). And it would be a rather significant, high-visibility change. Still, something for me to keep in mind if that Marathon forum game actually happens – is it ever even worth paying a war enemy for just 10 turns of peace?

Very understandable. I was more entertaining the idea than suggesting you change this. I have been thinking about it from time to time; it popped back into my mind when reading about the idea of fixing the Space Ship travel time. The most realistic option might be not having binding treaties at all, but relations penalties for breaking some soft-limit (maybe the same 10 turns as before), and/or having happiness penalties ("the world considers you a villain"). Anyway, while it's fun to think about, it's probably more in the spirit of less vanilla-flavored mods than Advciv.

If the peace treaty length is to be scaled, it's probably better to scale it to unit build time modifier rather than the overall game length modifier. So 20 turns for marathon, I think.

Paying for 10 turns of peace is often questionable in my opinion, especially large amounts of gold. Better to give techs, if possible. I don't think this calculus changes much between Normal and Marathon though, as each unit of gold is worth less on Marathon.
Come to think of it, it'll be a bit difficult to set the modifier for unit production costs if the research cost modifier is 250%. Though perhaps it's fine to use 167%, i.e. to reduce it in proportion. Production costs are already rounded to a multiple of 5. Or a higher modifier, to make buildings less unattractive – 175, 185, or even keep it at 200%

I think a 250% research cost and 200% unit cost could be really interesting to try out. It could be the case that I belong to a minority of Marathon players, but I think having so much extra time to move units; to abuse important tech advantages, is sufficient for speeding up / buffing warfare. To this end, having units be 2/3 the relative cost of buildings seems a bit excessive.
 
I think I've fixed all reported bugs, so I'm attaching a release candidate for AdvCiv 1.06. [Edit 7 July – Attachments updated to release candidate #2. The previous one had been downloaded 8 times.] Here is the updated draft of the release notes, with changes from the previous draft (v1.06-beta) highlighted in green [edit – and additions in release candidate #2 in violet]:
[Edit 17 Juli – Deleted, now that v1.06 has been released properly. The attachments are also outdated, please refer to the resource database instead.]
 

Attachments

  • AdvCiv_v1.06rc2.zip
    10.4 MB · Views: 25
  • [48civs]CvGameCoreDLL.zip
    2.2 MB · Views: 15
Last edited:
Game speed is up for debate -- I think the majority should decide. Jorunkun and I prefer Marathon, but if you and f1rpo prefer Normal (only guessing here), maybe Epic could work as a compromise? Other than that, I believe the most important difference of opinion is regarding vassals. Jorunkun's preferred settings are without vassals. I really like vassals, and think it's one of the many strong points of Advciv.

That said, this was Jorunkun's idea, and I imagine they will set the game up.
Epic is closer to Normal than to Marathon, and I would probably not play a whole game either way, so I'd say we're still at Marathon. I prefer having vassals enabled, but that would not matter much for the early game, so I don't really have an opinion, except that, if it can be established that you feel more strongly about this (one) point than Jorunkun, then your view should imo prevail.
Paying for 10 turns of peace is often questionable in my opinion, especially large amounts of gold. Better to give techs, if possible. I don't think this calculus changes much between Normal and Marathon though, as each unit of gold is worth less on Marathon.
The losing side has a harder time, during those 10 turns, to produce extra defenders on Marathon than on Normal speed - to deter or repulse another attack. The AI currently takes the payment for peace times the unit production modifier (200%). Might be appropriate to at least dilute that multiplier to (200% + 100%) / 2 = 150%. That may result in a lot more peace treaties (but less lasting?) than on the faster game speed settings as techs have 3 times higher trade value on Marathon than on Normal speed. Maybe fair enough – or maybe 200% is already a decent compromise. Confusing subject to reason about.
[...] having units be 2/3 the relative cost of buildings seems a bit excessive.
Seeing that most buildings are already rather underpowered on Normal speed ... Maybe the idea was that players will produce more units on Marathon, but, eventually, they'll have enough and will also construct buildings. Not entirely untrue – it is difficult to constantly wage war, perhaps impossible on Huge maps in AdvCiv due to number-of-cities maintenance. Hard to say. I'm inclined to try 250%/ 200%. Those are really just XML changes in Civ4GameSpeedInfos.xml that should not require adjustments to the AI, so it's easy to experiment.
 
I've implemented this
[...] Maybe the automation buttons just need to come before promotions and upgrades.
or rather, moved promotions and upgrades into a separate row (when the screen is wide enough) and also moved some other commands around, so that rarely used or dangerous buttons should now be toward the (right) end of the first row. Updated the release candidate in my earlier post because I'm not sure if this will work well for everyone; better to get this right before I do the proper release. Looks promising to me, but I haven't really played with it yet. Also made a couple of other changes, highlighted in violet in the release notes.
Lastly, could you possibly change which unit in a stack gets selected when you click on the stack after moving a unit there? As it stands, it selects the one you just moved, but should be selecting any one BUT that one. [...]
Turns out that this actually worked well in BtS, but then perhaps karadoc didn't realize that the unit shown on the map is also the unit that gets selected when the tile is clicked, at any rate, his comment in the code: "disabled by K-Mod. I don't think it's relevant whether or not the best defender can move." He actually disabled a different block of code than he had apparently intended, but I fixed that for him, ;) thereby introducing the issue that you've fortunately noticed. I've now restored the BtS code, which prefers showing (and selecting) units with available moves.
 
hey f1rpo

something isnt ticking with the compile of 106c , updated to yesterdays commit.
i merged all the files, went over them twice.

there is an assert that i get on load,
but its ok, i know it from before and i removed its fassert.
File: ..\.\CvXMLLoadUtilitySet.cpp
Line: 1375
Func: CvXMLLoadUtility::SetGlobalClassInfo
Expression: gDLL->isModularXMLLoading()
Message: CvInfo element loaded repeatedly


but the problem is that on load, right after xml load, the game will crash.
using debugger , wont point to anything but some kernel issue.
thats all i get:

Unhandled exception at 0x76D83442 (KernelBase.dll) in Civ4BeyondSword.exe: 0xC06D007F: Procedure not found (parameters: 0x0019F6E0).

in this merge, i added everything you committed in the past days, meaning after may the 15th.
this title of to commit ->Update DLL (release candidate v1.06).
everything worked.
i ran the mod with the working dll from may15th, aling with the latest xml and python from yesterday commits, and it loaded. so something in the dll doesnt like my mod...

you know me im through with my merges and i double tripple checked for something might have missed.
i saw you changed something in the mod name, maybe there is some link to it.
normally i degug on my own and i wouldnt bother you with stuff i can do.
i think this is a case that i need your help so im hoping you can help out here.

to make things easier, i packed a zip file with my latest build that fails and it includes folders of xml, python , config and dll from the build that work for easy compare.

doto111 (106c)
https://www.mediafire.com/file/m8vipe8uffqy22f/Doto111Dev.7z/file

thank you :)
 
Last edited:
@keldath: Haven't tried to compile or run your code because it's clear enough from the error message that there's a missing DLL export. You probably haven't adopted the latest change to the .def file in the AdvCiv project folder.
i saw you changed something in the mod name, maybe there is some link to it.
Right, that commit exported CvGlobals::getDefineINTExternal through the .def file, and loading your DLL (and the EXE) in Dependency Walker shows that this DLL export is indeed missing. Sorry that you went through this much trouble when the error is (probably) pretty straightforward.
 
Hi buddy,

No worries on my effort, i work speedie.

So,
Export missing in the def?
Meaning the new mod cpp files?
I though i added or i mixed with the vx...sometging file.
Odd.
Dependancy walker? Whats that?

Ill take another look there.
Will be a few hours though.

Cheers
 

Attachments

  • depends.jpg
    depends.jpg
    241 KB · Views: 24
Thank you! I just did some brief testing and all seems to work well.

As an aside: I use a mod-mod of AdvCiv which includes ~20 changed/new files and have not found a really good way to merge these mods yet, other than checking on a file-by-file basis using winmerge. Any advice to streamline things would be highly welcome.
 
Top Bottom