Single Player bugs and crashes v35 plus (SVN) - After the 18th of August 2014

Ok, thanks anyway. I was going to suggest it might have been an interaction with Toffer's new coast and sea terrain that was in for a bit but has now been temporarily removed till after v36 release. I have not seen anything like it in my last 2 games. The newest started yesterday with SVN 8751. Just updated to 8753 today.

JosEPh
 
Looks like there is an animal spawn bug, or raven cant move in lakes, i have a raven unit that spawn in at lake plot or flyed into this plot and now its sitting there for like 200 turns not moving. Its also never attacking.
 

Attachments

  • Civ4ScreenShot0019.JPG
    Civ4ScreenShot0019.JPG
    363.2 KB · Views: 46
It feels safe there:lol:. This is one of those flow on effects I was talking about. They can fly into lake terrain so it is likely they can't fly into any of the surrounding terrain.

Need to get a codger out there with some hawks to kill them - allows hunter unit to attack birds in coast/shore but only to kill and hunter does not move into the water. @TB is this possible at the moment, it would be a new promotion, probably as equipment, for the hunter line only.
 
Turn 954 i checked all civs gold reserves, only shaka/zulu is bankrupt. Good so far, try to fix him.
 
Turn 954 i checked all civs gold reserves, only shaka/zulu is bankrupt. Good so far, try to fix him.
The only thing specific to Shaka is his combinations of traits, and no one wants to touch traits at the moment; sorry.
There's really nothing wrong with an AI going bankrupt once in a while; but if Shaka always is the only one to bankrupt at this or other points in your scenario then at least we know we have reason to change something about his traits.
We need more documentation about this leaders inferiority before we decide to change his traits.
 
Ok, its good by the way that he dont delete all his units when going bankrupt. So he has just no gold as it looks like, but i am not sure how this will affect him.
 
Got a PYTHON error:

Traceback (most recent call last):

File "CvRandomEventInterface", line 170, in getHelpHolyMountain1

AttributeError: 'NoneType' object has no attribute 'getTextKey'
ERR: Python function getHelpHolyMountain1 failed, module CvRandomEventInterface
 
It feels safe there:lol:. This is one of those flow on effects I was talking about. They can fly into lake terrain so it is likely they can't fly into any of the surrounding terrain.

Need to get a codger out there with some hawks to kill them - allows hunter unit to attack birds in coast/shore but only to kill and hunter does not move into the water. @TB is this possible at the moment, it would be a new promotion, probably as equipment, for the hunter line only.
We kinda already do... it's called Ranged Assault. An option to attack an invalid tile without moving to that tile afterwards would be interesting training in stepping through a bug minefield without triggering any. Not that I'm not goaling to step through a few similar ones with some pending projects... but I do resist them when I can.

True though, it's there because it understands its the only place its safe. Animals can be fairly random though and if it chooses to attack then it may suddenly decide to do so. I've noticed ravens hanging out in safe tiles before though so I think ravens must have a very low aggression setting.

So, looking at the example I have given, if there is a stone tool maker present, the bonuses are multiplicative but if the stone tool maker is deleted, the bonuses become additive. Sounds like incredibly messy code to me. And it doesn't explain why a 5/4/5 stone tool maker gives 7 base hammers instead of 5.

besides, in the left hand pane the bonuses are shown as adding up to 65% in the screenshots.

Perhaps the bonuses were at one time multiplicative but were changed to additive, and the code was not completely changed. That would explain the sporadic complaints from players about the AI building incredible amounts of units. If you have a bit of feel for maths formulas, you'd know that a multiplicative formula like (base) x (1 + bonus1) x (1 + bonus2) x (1 + bonus3) goes up extremely fast as the bonuses get higher, much faster than an additive formula like (base) x (1 + bonus1 + bonus2 + bonus3). Write out some examples for yourself if you don't believe me.

Like I said, the city bookkeeping is in need of a thorough audit. And if the bonuses are indeed sometimes multiplicative as you suggest, the code should probably be thrown out and rewritten, with bonuses being additive as the norm, as this is much easier to balance.

Any discussion about unit cost and game balance is meaningless as long as the city's bookkeeping is this buggy.
I get it. It's frustrating. And its something that will be addressed with some priority. Is it something that can be addressed before release? No. Too complex.

It's one of a few things that should be sorted out over time and will take some courage to attack because lets face it... it's really really complicated stuff. Not that I can't decipher it all... it's just a major major major pain to work out. So be patient with the solution.

But thanks for pointing it out. I'll be keeping it in mind to audit that section. We've done audits for something complex with nearly every release. This is shaping up to be the one for this next version.

I believe i have a infinite loop, i am supposed to be overrun here, but it just keeps "doing something" then it says it is not responding??
This should be resolved before release if possible so I'll look into it today.
 
Just had a CTD, i was trying to find out which keyboards keys were for destroying a building and i hit something that said "who do you want to contact" and poof CTD??

You hit some sort of viewport hotkey that does something I'm not quite sure what the purpose is. There's an interesting interaction with a plot that causes the crash - the plot may not actually exist by definition after this viewport action switch that was called which is why it crashes. May explain a few other viewport issues.

It looks like there was an attempt to keep this from happening but oddly it didn't seem to be sufficient.

This is swimming through the stuff even Koshling hated working with and I can see why. The exe made the call that caused a crash so it can't be directly addressed and I must admit to being far too ignorant of the maze of viewport logic matters to be capable of addressing this.

So in short... don't hit that hotkey combo and you should be fine. Sorry I can't do much more than to say that.
 
@Toffer: Next time we work on the new water tile graphics I'm going to want to check some things. I got some error messages loading the xml on your ocean base and some other things when running the debugger on a game with the assets last updated after you had included the new settings. I have not researched to figure out exactly why there's load problems in the xml with the settings you were using and it could be mysterious to sort out since I'm not as good with that kind of stuff as say Alberts2. But I can at least tell you if there's an error. And in fact, you could determine this for yourself if you run the debug dll after any adjustments.
 
@Toffer: Next time we work on the new water tile graphics I'm going to want to check some things. I got some error messages loading the xml on your ocean base and some other things when running the debugger on a game with the assets last updated after you had included the new settings. I have not researched to figure out exactly why there's load problems in the xml with the settings you were using and it could be mysterious to sort out since I'm not as good with that kind of stuff as say Alberts2. But I can at least tell you if there's an error. And in fact, you could determine this for yourself if you run the debug dll after any adjustments.
All your base are belong to us; ;), it might have been related to me deleting some lines in the water plane xml that seemed to have no effect on the game.

When I run the debug dll I would just get error messages I normally wouldn't get running core dll? Does it write additional log files one can examine?

Anyhow, any collaboration is good.
 
DH, still getting this

[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDERSILK of TagId 4
[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDER of TagId 4
[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDERSILK of TagId 4
[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDER of TagId 4
 
All your base are belong to us; ;), it might have been related to me deleting some lines in the water plane xml that seemed to have no effect on the game.

When I run the debug dll I would just get error messages I normally wouldn't get running core dll? Does it write additional log files one can examine?

Anyhow, any collaboration is good.

No additional log files but the assert popups that come up may guide you to understand the problem if there is one in the xml. It's slow going on the debug dll but useful to check your work with it.
 
Got a PYTHON error:

Traceback (most recent call last):

File "CvRandomEventInterface", line 170, in getHelpHolyMountain1

AttributeError: 'NoneType' object has no attribute 'getTextKey'
ERR: Python function getHelpHolyMountain1 failed, module CvRandomEventInterface

Where is the PythonErr.log file?

It looks like it is not finding the Cathedral building for the religion it is trying to find the Holy Mountain for.

What is your State Religion? What religions are present in your nation?
 
DH, still getting this

[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDERSILK of TagId 4
[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDER of TagId 4
[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDERSILK of TagId 4
[164786.656] ERR: FAudioManager::GetAudioTagIndex(): Could not find string AS3D_SPIDER of TagId 4

Where is that error showing up so I can see if I have fixed it?
 
@SO: I was trying to sort out your 'hang' save and it's very strange. I load it and it comes up with 'You have been defeated' right away then ends the game. I'm not sure why this is taking place. I'm certainly not getting a full load into the game - doesn't even give me an option to continue... you must've been destroyed in full when this game was saved?

Maybe you saved this game during the perceived hang? The hang may have been in transitioning to this popup which works for some reason if you load this game but maybe couldn't trigger quite right when the game ending event actually takes place. I'd have to evaluate from that point. But then again... game over anyhow right? And you can save the game and reload it to get your end of game review.
 
Where is that error showing up so I can see if I have fixed it?


Its in the audio log files that are in the regular logs folder before that i deleted the python error, so i cant get to that i just copied it from the python err log

@SO: I was trying to sort out your 'hang' save and it's very strange. I load it and it comes up with 'You have been defeated' right away then ends the game. I'm not sure why this is taking place. I'm certainly not getting a full load into the game - doesn't even give me an option to continue... you must've been destroyed in full when this game was saved?

Maybe you saved this game during the perceived hang? The hang may have been in transitioning to this popup which works for some reason if you load this game but maybe couldn't trigger quite right when the game ending event actually takes place. I'd have to evaluate from that point. But then again... game over anyhow right? And you can save the game and reload it to get your end of game review.

yeah i had the same thing, i even went back to the tenth savedgame and it still happened, so i could not get a different one that worked, sorry. .
 
Unfortunately the doubling of building output in conquered cities was not the only bookkeeping error. I checked the numbers myself and they still don't add up correctly.

Case study: my current capital Copenhagen (see attached screenshot production.jpg).

Hammers:
It gets 20 hammers from buildings, 7 hammers from special buildings and 19 from worked tiles. Checking the map and buildings myself, these values confirm ok. This totals to 20+7+19 = 46 base hammers.

However, in the city base production is 48 hammers, and with a production bonus of 65% this totals 85 hammers. However, 48 hammers (which is already wrong) x 165% = 79.2 hammers, not 85.

Food:
It gets +18 from buildings, +3 from special buildings, +8 from worked tiles for a total of 29 food. However the screen total says 28 food.

I've included the save game as evidence.

----------------------------------------------------------------
----------------------------------------------------------------

Investigating the causes.

Food: the culprit seems to be the Wild Herbs building. It gives +1 food from cooking, but this bonus is not added to the total food produced. Deleting the Wild Herbs building with CTRL-A does not change the total base food.



Hammers: the culprit seems to be the stone tool maker.

Copenhagen - stone tool maker test. Numbers are hammers produced.

start with recalc (shift-ctrl-T)

production: 48 base -> 85 total (bonus is 65%, from +25% buildings, +10% resources, +30% from civics) wrong bonus calculation, should be 48 * 165% = 79.2 . Also should be 46 base.

delete stone tool maker (5 hammer, 4 money, 5 science) with CTRL-A

result:
47 base -> 77 total (bonus: +25% buildings, +10% resources, +30% from civics) note: bonus calculation is now correct for 47 base. But 48 - 5 is not 47. And base should be 41 anyway

perform recalc with SHIFT-CTRL-T

result:
41 base -> 67 total (+25% buildings, +10% resources, +30% from civics) note: Base is now correct. bonus calculation is now correct.

Conclusion:
The stone tool maker which should give 5 base hammers secretly gives 7 base hammers. Aside and above from that it also gives way too much bonus. Based on +65% bonus that should give 7*0.65 = 4.55 bonus hammers for a total of 11.55 hammers. But instead it gives even more: 85-67=18 hammers.
Which corresponds with an hidden extra hammer bonus of (18 - 7 - 4.55)/48 = +13% of base production (including rounding errors).

----------------------------------------------------------------
----------------------------------------------------------------

This is still very early in the game (just researched Sedentary Lifestyle) and
I have only investigated hammers and food, not money, science or other production.
Since I already found 3 bugs, there are likely more. A full audit of the
bookkeeping of all city production should be done but that is a time-consuming
project. Certain leader traits and possibly difficulty level also influence production
level, these should be included in such an audit.

Ok, I'm declaring this debugged. The first part of the problem was just a display miscalculation. The base was not being properly delivered.

The second part is more interesting. After a recalc with the stone tool maker still in place, you have the same base, 52 as you do before. (52 with 65% modifier equates to the correctly displayed 85 total.)

It's when the Stone Tool Maker is sold off that it gets strange. You get the correct -5 to the base bringing it down to 47 which seems correct initially. The modifier continues to correctly calculate the total.

However, when you recalc at this stage, you end up with 41 base (6 less).

Investigating further, if I add up by hand the base when I start the save, it totals to what appears to be 46. It shows 52 and after that initial recalc is still 52.

I have not been able to figure out quite how it totals to 52 rather than my count by hand of 46. BUT when I recalc, the 41 base makes sense at 41 because the 5 lost by the stone tools maker would reduce my hand count down to 41 from the original count of 46.

I couldn't figure out how this is taking place.

So that part of the equation is just... strange. But the first portion of the picture is fixed with a display repair.


EDIT: Further investigation...
I rebuild the Stone Tools Maker and the base goes back up to the correct tally of 46.

Conclusion: The recalc doesn't catch and repair the initial error that is still in place when the first recalc is run. It's not a problem with the building itself at all but with something to do with the assets until whatever the problem is is jiggled free by deleting the stone tools maker and recalculating.

Whatever this could be is a true mystery indeed but may not be something that continues to impact games as time goes on from here. However, the deletion likely clears some caching that allows the problem to truly be resolved.

Anyhow, if you want to watch carefully and keep doing the math by hand every round you may well find the moment this becomes a problem. (Maybe there's a temporary modifier taking place here like from a hunt or something too.) But as it stands I think the primary bug is resolved.

I'll be posting the update to the SVN shortly.
 
Got a PYTHON error:

Traceback (most recent call last):

File "CvRandomEventInterface", line 170, in getHelpHolyMountain1

AttributeError: 'NoneType' object has no attribute 'getTextKey'
ERR: Python function getHelpHolyMountain1 failed, module CvRandomEventInterface

Currently that Quest "Holy Mountain" does not work for the following religions
Druid
Mesopotamian
Nagi
Shaman
Tengri
Yoruba​
because they do not have a building value in the tag <SpecialBuildingType> of SPECIALBUILDING_CATHEDRAL. That tag is used to determine when all cathedral buildings become available ie Tech Music but the cathedral level building for those religions need to be earlier and Yoruba, Ngai and Mesopotamian do not have Cathedral level buildings.

I will need to look further into the quest and see what can be done. The easiest would probably be to turn it off for religions without this type of building.

edit I have just coded that when I thought of adding another cathedral type like we did for monasteries but that would still not work for Yoruba, Ngai and Mesopotamian:(
 
Back
Top Bottom