Single Player bugs and crashes v36 plus (SVN) - After the 24th of October 2015

Status
Not open for further replies.
CTD, not the latest SVN that you just put there NOW, but the one before that . .

EDIT: Also a question for ya, recently the "recalculation" is taking between 8-10 minutes EACH and everytime you make a change to the SVN, how come it is taking that long now, never used to? I am not that concerned about it, because its at the begging of the game, but GEEZ . .

I'll check but this is probably resolved now.EDIT: Yup... it runs through fine on the latest.

To answer, the more the game grows the longer recalculation takes. A small extra step was added to recalcs but shouldn't be adding that much. But there are other factors, most of which I don't do much to influence though.

You should see how long a modern era game takes to process through a recalc on a debug dll... holy cow. It can be up to an hour or more.

Honestly though, the recalc time hasn't changed much recently. It's always been a lengthy process, to the extent that it more often than not times out the MP connection when you recalc an MP game (meaning it takes so long to process that the other player(s) is severed from the server connection before it's complete.)

EDIT: Your game has quite a few civs with quite a few cities. Not surprising it's taking so long to recalculate.
 
I'll check but this is probably resolved now.EDIT: Yup... it runs through fine on the latest.

To answer, the more the game grows the longer recalculation takes. A small extra step was added to recalcs but shouldn't be adding that much. But there are other factors, most of which I don't do much to influence though.

You should see how long a modern era game takes to process through a recalc on a debug dll... holy cow. It can be up to an hour or more.

Honestly though, the recalc time hasn't changed much recently. It's always been a lengthy process, to the extent that it more often than not times out the MP connection when you recalc an MP game (meaning it takes so long to process that the other player(s) is severed from the server connection before it's complete.)

EDIT: Your game has quite a few civs with quite a few cities. Not surprising it's taking so long to recalculate.

K thx for checking, and the answer on the recal. .
 
@DH: At the moment some myths require "Community Discussion" (available at "Language") while other myths require "Story Teller Hut" OR "Knowledge Inheritance" OR "Library", while some only requires palace and oral tradition.
Should any myths be available before "Oral Tradition" as in the case of those that require only "Community Discussion"?
I guess I'm asking; how do you want it to be in the end? I'm somewhat confused as this structure keeps changing is all (yes, I know I've influenced some of the changes).

If the autobuild stemming from community discussion (BUILDING_ANIMAL_MYTH_REQUIRE) was unlocked at oral tradition, then I guess it would be a bit more streamlined.

EDIT: Also curious if you want myths to require palace or not, as now some do while others don't.

This is part of the review I am doing on all animals and have not finished yet. People were complaining about my method of keeping those I had done separate from those I hadn't so I had to merge them all back in together.

Eventually all myths will require the autobuild BUILDING_ANIMAL_MYTH_REQUIRE and some will require TECH_TAXONOMY. BTW I am thinking of replacing these myth/story prerequisite autobuilds with a bit of Python code so that the building becomes available the same turn as the prerequisite rather than the next turn.

Now that I am trying to get the interface stuff done I am not getting the time to do animals or the totally modular religions stuff done.

@TB the stack attack, the BtS one, is not working at all any more. All it does is do each attack by each unit in the stack one after the other until there are no attacks left. I find this is making me not play anymore:(.
 
@TB the stack attack, the BtS one, is not working at all any more. All it does is do each attack by each unit in the stack one after the other until there are no attacks left. I find this is making me not play anymore:(.
I'm not sure what you think it's supposed to do but that's what it's always done. One unit attack at a time. One for each click. (If you don't believe me, load up Vanilla and setup a quick test in WB and see what I mean.)

It IS supposed to pick the best attacker and its been reported repeatedly that it can often pick a different attacker then the projected one when it actually goes to attack and that this newly selected attacker may well be a bad choice comparatively. Which is why I always hand-pick my attackers one at a time. Without major, most likely extremely time consuming, improvements to the function that selects the best attacker based on the situation more effectively, I can't just let the AI engine pick for me... drives me nuts with the things it doesn't consider.

I did see a suggestion in the code as to why there could be a problem there between the predicted attacker and actual attacker but it's all very complex and until I get a testable situation where this happens on load with instructions on repeating or find it happening myself (which is unlikely since I don't usually trust the AI engine enough in play myself) then it's going to be hard to go in and manipulate things with the fully expected results.

If you want the ModderOption stack attack repaired I need a copy of an original pre-C2C CvUnit source file. I can most likely merge that function in properly at this point but I'd need it as it was since something, I'm not sure what, broke there a long time ago and since then it has not been kept updated in the slightest. At the moment, there are numerous unit abilities that aren't even included in the battle when this is used. Oh... and it simply doesn't work properly.
 
If you want the ModderOption stack attack repaired I need a copy of an original pre-C2C CvUnit source file. I can most likely merge that function in properly at this point but I'd need it as it was since something, I'm not sure what, broke there a long time ago and since then it has not been kept updated in the slightest. At the moment, there are numerous unit abilities that aren't even included in the battle when this is used. Oh... and it simply doesn't work properly.

This is the one DH was thinking of; I remember there was an option before that made all units just mass attack (which was awesome with quick offensive battle turned on.) I only used it for a while myself, was curious, found that I like to take the detailed decisions myself and stopped using it.
 
This is the one DH was thinking of; I remember there was an option before that made all units just mass attack (which was awesome with quick offensive battle turned on.) I only used it for a while myself, was curious, found that I like to take the detailed decisions myself and stopped using it.

I thought I might've had it somewhere but I've scoured my 'other mod' files and haven't found it. So yeah, I'd need an original from wherever it may be. I know its based on a Rev option but I have a sourcecode for a recent rev and it's not in there either. I checked an AND download from a long time back and it's not there either. Even just knowing where I can get it from would help.

Pretty sure it was already broken by the time our SVN was established too.

EDIT: Maybe not... I'm going to see if I can get an original SVN v1 and take a look at the sourcecode there. Might be a few things were manipulated but not to the extent that broke it.

EDIT: Nope... can't go back that far. :(
 
Rev. 8935

@TB: I just tried taking a barb city with the Band Prime unit I made, he walked right into the city (no capture) like he had bBlendIntoCity; but he does not, he has no hidden nationality neither.

I thought you fixed this some revs ago? (rev. 8926 to be exact.)

the unit in question only had these booleans defined:
&#8226;<bMilitaryHappiness>1</bMilitaryHappiness>
&#8226;<bMilitaryProduction>1</bMilitaryProduction>
&#8226;<bMilitarySupport>1</bMilitarySupport>
&#8226;<bPillage>1</bPillage>
 
It does the whole stack as if you were attacking individually but you only attack once and all the battles are fought. It was working fine with the v36 release.

Are you in one of those moods again, DH??:sad:

maybe, but having to tell the stack to fight 15 times rather than just the once is just boring.
 
I'll run some tests.

I did a more thorough test; tunring on standout made the Band Prime capable of taking/razing cities. So he was too invisible to take it without standout...?
He had Size_Invisibility = 10

Perhaps it is so that if my opponent can't see my units, my units won't be able to take the opponents city?
 
Rev. 8935

@TB: I just tried taking a barb city with the Band Prime unit I made, he walked right into the city (no capture) like he had bBlendIntoCity; but he does not, he has no hidden nationality neither.

I thought you fixed this some revs ago? (rev. 8926 to be exact.)

the unit in question only had these booleans defined:
&#8226;<bMilitaryHappiness>1</bMilitaryHappiness>
&#8226;<bMilitaryProduction>1</bMilitaryProduction>
&#8226;<bMilitarySupport>1</bMilitarySupport>
&#8226;<bPillage>1</bPillage>
It still acts as fixed on this end. I tested an attack against an enemy city i'd declared war on. Attacked them with macemen until the city fell and was destroyed. Then again with another game against a larger barb city - was captured and converted to my player's city.

Something isn't set right methinks.

It does the whole stack as if you were attacking individually but you only attack once and all the battles are fought. It was working fine with the v36 release.

maybe, but having to tell the stack to fight 15 times rather than just the once is just boring.
Hmm... my wife says she thinks there was an option for this in Vanilla. I had no idea of this because I'd think it madness to use it so perhaps I forgot it existed. How do you set it? I MIGHT be able to figure out what happened there if I can get that answer.

EDIT: Yeah, she confirmed it for me. Sorry for doubting. I didn't realize this was available in vanilla. I think I can probably figure out what changed. Must have something to do with some of the truly mysterious 'continue' mission stuff that is keeping me from making it safe for multiple units to be selected for Ambush and Assassinate missions. I suppose not understanding this was even possible is part of why I've been getting a little baffled trying to follow that coding.
 
I did a more thorough test; tunring on standout made the Band Prime capable of taking/razing cities. So he was too invisible to take it without standout...?
He had Size_Invisibility = 10

Perhaps it is so that if my opponent can't see my units, my units won't be able to take the opponents city?

That's interesting... I didn't THINK that was actually a necessary requirement from what I've seen in the coding on capturing cities but I could look closer. Maybe it IS in an indirect manner. There's a lot of stuff like that which makes these special rule movement tags a real b***h! I suppose if there's ANY invisibility level on a unit and there's no enemy units around to see it (since cities and borders alone won't spot invisible units) this would mean it cannot take a city without using standout. Interesting indeed.
 
It does the whole stack as if you were attacking individually but you only attack once and all the battles are fought. It was working fine with the v36 release.



maybe, but having to tell the stack to fight 15 times rather than just the once is just boring.

Ok, I'm looking into this but the answer to how it went wrong in the first place is VERY elusive, even with compare tools to stock v36 source codes. Might take a bit to see where it's being short circuited.

EDIT: I'm not sure how this would've been working properly with v36. The hangup I found has likely been with us for quite some time. But I may have restructured some things a while back, not realizing that this was such a sensitive feature that doesn't well announce itself as it goes about getting its feedback through the code. It's not programmed the way it originally was and that doesn't help either, though it's probably infact an improvement over the original (yes, I went back and compared to vanilla on this!)

Anyhow, suffice it to say its resolved BUT I cannot say with 100% certainty that the fix won't have any potential to create other unwanted effects since I'm not sure why a data shift was purposefully avoided here that was keeping it from happening. Adding it back in SHOULD be safe but... well I just don't know if I'm setting something else up for trouble. Anyhow, I've debugged things now for this option. Commit pending.
 
While Unaware's trigger is -10 and Intuitive's is +10 something is causing the value to go more than -10 in the 1st few turn of a game. One would think a -10 to +10 cushion would give some time before Either Unaware or Intuitive kicks in. Now that I have a better idea of what to watch maybe it can be rooted out.

Otherwise I think for Unaware a PrereqTech of GRAIN_GATHERING or NOMADIC_LIFESTYLE may be needed.

JosEPh

Ok, so I ran some tests. I'm not sure what you're seeing or why you're seeing it this way but:

Noble level: Population 1: -1 Education. Palace: +1 Education. No other sources affect the calculation in the first round after the city is planted thus on round 2 after the capital was founded on round 1, the Education is still 0.

Noble level Nightmare Mode: Same as above.

Deity Level: On the second round (round after planting the capital) the Education level hits -3. I'm not sure where it's going from there but it's certainly not all the way into Unaware.


So... so far as I've seen this tests out as originally planned still. Noble level AIs shouldn't be suffering from education until their population grows. As a result, there shouldn't be a need to suspend the first level of education adjustments to a later tech.
 
Having resolved the crash reported a few posts before this one, I ran this and it looks to be suffering from the previously noted problem with multi-threading that Alberts is working on. If it has further trouble with multi-threading off after my next commit, let me know. Alberts2 I'm sure will soon have a fix for that issue as well.

It worked!
 
After the latest SVN changes any unit that wins a fight stops immediately even if movement points are left. You can make them manually move otherwise they will only be active again after the next turn - I had to go back to an older version to continue my game.
 
Ok, so I ran some tests. I'm not sure what you're seeing or why you're seeing it this way but:

Noble level: Population 1: -1 Education. Palace: +1 Education. No other sources affect the calculation in the first round after the city is planted thus on round 2 after the capital was founded on round 1, the Education is still 0.

Noble level Nightmare Mode: Same as above.

Deity Level: On the second round (round after planting the capital) the Education level hits -3. I'm not sure where it's going from there but it's certainly not all the way into Unaware.


So... so far as I've seen this tests out as originally planned still. Noble level AIs shouldn't be suffering from education until their population grows. As a result, there shouldn't be a need to suspend the first level of education adjustments to a later tech.

What Game speed did you use for your test?

Where and How in WB can you see the AI's Education levels?

JosEPh
 
What Game speed did you use for your test?

Where and How in WB can you see the AI's Education levels?

JosEPh

Go into WB and place for your player a special agent unit on the AI civ citys, then close WB again and look into the AI city.
 
After the latest SVN changes any unit that wins a fight stops immediately even if movement points are left. You can make them manually move otherwise they will only be active again after the next turn - I had to go back to an older version to continue my game.
Explain further please. Are you saying that they don't advance after the battle? Or that they have been removed from the selection list after the fight? I may be able to look into either one but I'd have to get an idea of what the specific situation is. It looks like battles were not being fully resolved on many settings which was why the Vanilla stack attack option wasn't working. Engaging the final segment of battle would've led to messages going out properly, end of combat features taking place properly, and all sorts of who knows what that should've been happening all along that wasn't happening quite right. This could well include a command to remove the unit from the selection list. However, I did see the final unit advance after attack in my test so if that's the problem then something else is amiss somewhere in the specifics.

What Game speed did you use for your test?
Snail but I'd be surprised if any game speeds adjusted property generation enough to cause a difference. If it does then we've at least narrowed down to where the issue is taking place.

Where and How in WB can you see the AI's Education levels?

JosEPh
I didn't use WB. I just looked inside my city. I'm operating on the presumption that the AI will all be on noble and that there isn't any unusual feature setup to make the progression of properties run differently for the AI than it would for the player. I suppose my assumption on that could be flawed but I'd not know where it could be made to differ.
 
Status
Not open for further replies.
Back
Top Bottom