Single Player bugs and crashes v39 plus (SVN) - After the 20th of July 2019

Latest SVN.
2 Workers try to build a path since few rounds.
It should be done in one turn->Pic 1
Next Round , still working->Pic 2+3
and next Round , still working->Pic 4+5
I have also had this happen. I think it happened because I had given the workers their instruction after they had finished their turn.
Looks like its bug. Upload save.
Wont help as saving and then loading fixes the problem or it did for me.
Yeah, I wanted to ask @Dancing Hoskuld if I can remove this scaling - it was like this since 2016 or even earlier.
DH, what do you think about removal of game speed reward scaling in Subdue_Animals_CIV4UnitCombatInfos?
That is you wouldn't get more :culture::science::gold: from animal tales/animal combat.
Only if you also remove subdued animals. Not joking.
 
I do Not want subdued animals removed! That would be a Major step backwards for the Mod.
 
Wont help as saving and then loading fixes the problem or it did for me.

Only if you also remove subdued animals. Not joking.
Well you could order them to do stuff after loading save when they finish something else.

Also reward is scaled quadratically effectively - on 20x longer speed you can subdue 20x more animals during whole game - 20x more :culture::science: from animals without scaling.
With scaling its 4000x more (depending on how this stuff is actually multiplied, may be x400 or x8000 as well).
 
Also reward is scaled quadratically effectively - on 20x longer speed you can subdue 20x more animals during whole game - 20x more :culture::science: from animals without scaling.
With scaling its 4000x more (depending on how this stuff is actually multiplied, may be x400 or x8000 as well).
ADAPT_DEFAULT scales exactly like all other gamespeed modifiers, from 25 (Fastest) to 100 (Normal) to 1000 (Eternity).

<Percents>
<Percent>
<ID>ADAPT_DEFAULT</ID>
<iValue>1000</iValue>​
</Percent>​
</Percents>

I'm pretty sure that you can add in new ones her without modding dll for it to work.
<Percents>
<Percent>
<ID>ADAPT_DEFAULT</ID>
<iValue>1000</iValue>​
</Percent>
<Percent>
<ID>ADAPT_ANIMAL_YIELD</ID>
<iValue>500</iValue>​
</Percent>​
</Percents>
Then just switch out ADAPT_DEFAULT with ADAPT_ANIMAL_YIELD in the subdued animal info xml.

Try it, see if it works, then we would know for sure. ^^
 
ADAPT_DEFAULT scales exactly like all other gamespeed modifiers, from 25 (Fastest) to 100 (Normal) to 1000 (Eternity).

<Percents>
<Percent>
<ID>ADAPT_DEFAULT</ID>
<iValue>1000</iValue>​
</Percent>​
</Percents>

I'm pretty sure that you can add in new ones her without modding dll for it to work.
<Percents>
<Percent>
<ID>ADAPT_DEFAULT</ID>
<iValue>1000</iValue>​
</Percent>
<Percent>
<ID>ADAPT_ANIMAL_YIELD</ID>
<iValue>500</iValue>​
</Percent>​
</Percents>
Then just switch out ADAPT_DEFAULT with ADAPT_ANIMAL_YIELD in the subdued animal info xml.

Try it, see if it works, then we would know for sure. ^^
I think I could go with square root, so Eternity would be 316 and Ultrafast would be 50.

If animal density falls with increasing game speeds, then it should roughly balance while individual animals would be worth more.
 
Before the PPIO merge if I had a unit that had moved but I wanted it to move somewhere next turn I could set it to move the new place and I would then most often be presented with the next unit that still has movement points. On the odd occasion where it did not I could press Ctrl-A and it would move on to the next unit. This is no longer happening, I stay with the unit always and Ctrl-A does not remove selected this means I need to hunt for a unit that has not moved and select it to continue the game. No other key short cuts work while that unit is selected either. I can use the mouse to save game and exit though, which is the way I have fixed the problem.
Ctrl+A is a vanilla hotkey called AUTOMOVES. I don't know why it doesn't work atm, I'll look deeper into that.
Know that you can use "w", numpad5, numpadEnter, and Enter to cycle through units, or even right click on the plot you want the unit to go to a second time, which will trigger the auto-cycle.

The best way is to press "w" as that button is meant to do what you want.
"w" stands for "wait" and means "ignore me for the time being" and its effect is to change to the next unit in the control queue for that turn.
If you press w on a unit with moves left then that unit will be the last unit that you get to control that turn (unless you press "w" on other units with moves left after it.).
"w" place units at the back of the unit control queue, or simply cycles through the queue.

Spoiler The info I could find on the Ctrl+A hotkey :

<ControlInfo>
<Type>CONTROL_AUTOMOVES</Type>
<Description>TXT_KEY_ACTION_AUTOMOVES</Description>
<Help>TXT_KEY_ACTION_AUTOMOVES_HELP</Help>
<HotKey>KB_A</HotKey>
<bCtrlDown>1</bCtrlDown>​
</ControlInfo>
<TEXT>
<Tag>TXT_KEY_ACTION_AUTOMOVES</Tag>
<English>Triggers All Automated Moves</English>​
</TEXT>

Ctrl+A is not listed here (LINK) which may indicate that it doesn't do anything.
There are several other hotkeys missing in that overview though, so it may not mean much.

Ctrl+A is not listed here (LINK) either, a more complete list than the last link provided.
After looking a bit into the vanilla BtS dll I surmise that this hotkey was supposed to work exactly like our ctrl+shift+m AIAutoplay.py hotkey works.
That all your unit are controlled by the AI for one turn, but that the turn won't end after the last unit is moved and the AI returns the control to the human player.
 
Last edited:
Yeah, I wanted to ask @Dancing Hoskuld if I can remove this scaling - it was like this since 2016 or even earlier.
DH, what do you think about removal of game speed reward scaling in Subdue_Animals_CIV4UnitCombatInfos?
That is you wouldn't get more :culture::science::gold: from animal tales/animal combat.
The reason I am loathe to let you do anything is because your last attempt solved a problem that wasn't and made recon units redundant (shh, don't tell anyone because they still are as I have not reverted the change yet.)

The problem reported was "I can't move my subdued animal". Reason was "because subdued animals can't reveal the map", your solution was to remove the bNoReveal from all subdued animals. If the problem was "I can't move my Archer", reason "because it is on a one plot island" your response would have been to remove all water terrains! The bug in this case was how did the unit get into such a situation in the first place. The solution is to get an escorting unit there to reveal the map in the normal way. Removing the bNoReveal means that you can set your subdued animals to explore because of a bug in the attack mechanism that means even on RuthlessAI etc
 
Only if you also remove subdued animals. Not joking.
It seems to me that it scales in the opposite direction... or that it really shouldn't scale at all given that more time to hunt means you get more animals to work with. We've normalized the spawning rates somewhat so that it's not completely overwhelming and lethal to hunters trying to pack the wild with as many spawns as you'd see over a long game on a short game. I know that the cost to achieve thresholds are scaled, but with the added animals you get on a longer game, it seems already naturally scaled.

I do Not want subdued animals removed! That would be a Major step backwards for the Mod.
Um yeah. That's definitely never going to happen. As someone said once, this game is almost more about the animals than anything else.

If animal density falls with increasing game speeds, then it should roughly balance while individual animals would be worth more.
Only somewhat. It used to be severely different, more according to the actual time ratio different, but as stated, the game suffers at both extreme ends when this is done, so the scaling is also probably too extreme since you WILL get a lot more animals on a longer gamespeed. Hunters certainly get more powerful while they still matter on longer gamespeeds since they have more time to collect XP.

The problem reported was "I can't move my subdued animal". Reason was "because subdued animals can't reveal the map", your solution was to remove the bNoReveal from all subdued animals. If the problem was "I can't move my Archer", reason "because it is on a one plot island" your response would have been to remove all water terrains! The bug in this case was how did the unit get into such a situation in the first place. The solution is to get an escorting unit there to reveal the map in the normal way. Removing the bNoReveal means that you can set your subdued animals to explore because of a bug in the attack mechanism that means even on RuthlessAI etc
Oh... yeah that's definitely wrong. I mean it's annoying that they can't do it when they are part of a group that can, and maybe a solution in the code could be made for that but just removing that bool in the XML is just... wrong.

Also, @Dancing Hoskuld : I have recently seen the issue you were talking about when we brought up that conversation where you were saying a unit in a stack moves onto a plot, reveals a unit there, then the rest of the units can't move in. I'm not sure how to fix that because here's what's happening:

1) The order for the stack to move is given.

2) The head unit on the stack moves first then each unit after that in a sequence according to how the selectiongroup was setup.

3) The first unit gets there and part of the move is to update visibility on that plot and the plots around it. It resolves this before the rest of the units get to move in. And for many reasons, this is exactly how it needs to be and would create unfathomable complexities in other systems if it waits until all other units in the stack are on the plot before updating visibility.

4) That first head unit that moved now legally sees a non-hostile animal or unit, an enemy unit but not one set to ambush (and that unit may not even realize you see him now). Now that the animal or whatever is revealed, since its not an ambushing unit, there's not an automatic battle - they share the space legally because it's the status they were in when the pre-existing foe unit was revealed.

5) The rest of the stack, however, is not so lucky. They have had the threatening animal or whatever unit revealed and must attack it if they are to move onto the plot their leader just moved to. Particularly if they cannot attack, this means they are unable to now move onto the plot.

6) Obviously this also means that the head unit did complete its move and probably doesn't have any movement left over to launch an attack.

Now, enabling a same tile attack from the head unit at this stage is impossible because we really don't want to get into the business of breaking the rule that if you cannot move any more you also cannot attack. So... I'm not entirely sure how this should be corrected. Vision rules have enhancements for seeing units on the same tile in many cases, so it's only once they are officially IN the plot that they legally SEE the unit and at that point they've already moved and been charged the movement.

At the least, any resolution to this effect is going to be SUPER complex. It may just be that if you want to protect against this possibility, that you might need to ensure you have a few escorts or this is a danger you face.

I'm open to suggestions, but a lot of ideas could seem like good ones here and be very bad ideas considering the VAST complexity of movement rule issues, particularly in the timing of events and how many functions can play into managing this sort of thing.
 
In almost all cases I have seen I have been lucky in that the escorting unit is the one that can't move into the plot even though I thought it was the head unit.

If animal density falls with increased map size then more will spawn, since density is part of the target in spawning.(????)
 
If animal density falls with increased map size then more will spawn, since density is part of the target in spawning.
True, thus on larger maps you'll get even more animals - on the whole map, but not in a given range so much - that'd stay fairly constant. I'm thinking more of the scaling that takes place on gamespeed and I really don't see any point in scaling against mapsize...
 
If you press w on a unit with moves left then that unit will be the last unit that you get to control that turn (unless you press "w" on other units with moves left after it.).
"w" place units at the back of the unit control queue, or simply cycles through the queue.
Frustratingly (unless you have fixed it quite recently), it places the unit back in the queue seemingly randomly, and sometimes comes back and asks you about all the 'w' units a dozen or more times before it is finished with other units.
After looking a bit into the vanilla BtS dll I surmise that this hotkey was supposed to work exactly like our ctrl+shift+m AIAutoplay.py hotkey works.
That all your unit are controlled by the AI for one turn, but that the turn won't end after the last unit is moved and the AI returns the control to the human player.
I presume autoplay allows the game to issue new (and generally dumb if not outright suicidal) orders to your units. This shortcut moves your units only if they already have move orders.
 
Frustratingly (unless you have fixed it quite recently), it places the unit back in the queue seemingly randomly, and sometimes comes back and asks you about all the 'w' units a dozen or more times before it is finished with other units.
That is handled by the dll, so I wouldn't know how to fix it, I could look at the code though, see if I can spot a logical error.
I presume autoplay allows the game to issue new (and generally dumb if not outright suicidal) orders to your units. This shortcut moves your units only if they already have move orders.
That would make sense too, I didn't look too close on the dll code for it, looked similar to the AIautoplay code is all.
My units rarely have move orders and still asks me what to do, they usually do their move orders when they have them without bothering me about it.
I guess there are special cases when they do have move orders, and movement points left, and still ask the player what to do.
 
Only somewhat. It used to be severely different, more according to the actual time ratio different, but as stated, the game suffers at both extreme ends when this is done, so the scaling is also probably too extreme since you WILL get a lot more animals on a longer gamespeed. Hunters certainly get more powerful while they still matter on longer gamespeeds since they have more time to collect XP.

Just saying, I think hunters might stay relevant to the end of the game these days. In very late Information Era, I've still got 17 hunters* and they get a few subdues every turn. And they would get more if I had more Open Borderses.
* includes Master Hunters, headhunters - not quite anything I can get, but close. Aside: headhunters are among my most promoted units
4) That first head unit that moved now legally sees a non-hostile animal or unit, an enemy unit but not one set to ambush (and that unit may not even realize you see him now). Now that the animal or whatever is revealed, since its not an ambushing unit, there's not an automatic battle - they share the space legally because it's the status they were in when the pre-existing foe unit was revealed.
How do you set a unit to ambush during the other player's turn (sounds crazy cool btws:thumbsup:)?
 
How do you set a unit to ambush during the other player's turn (sounds crazy cool btws:thumbsup:)?
It's one of the status promos. Generally combat worthy units are usually set to do that by default so it's almost more important to know when to set it NOT to ambush, but this is often a toggleable state for units based on that status selection. This is all part of the option that allows ambushes, Without Warning.

If you are set to ambush and an enemy unit moves onto your space when he doesn't know you are there, you surprise attack him (well, it's a surprise defense really). This reveals you to that player's forces for the round so it can be disastrously bad if they have a lot of followup to pull in and attack you with afterward. But you DO get the stealth combat modifier and stealth attacks during this battle.
 
That is handled by the dll, so I wouldn't know how to fix it, I could look at the code though, see if I can spot a logical error.
That's ok I don't need it fixed. Just making conversation...
That would make sense too, I didn't look too close on the dll code for it, looked similar to the AIautoplay code is all. My units rarely have move orders and still asks me what to do, they usually do their move orders when they have them without bothering me about it.
I guess there are special cases when they do have move orders, and movement points left, and still ask the player what to do.
I find units that have move orders move shortly after the start of the turn. You have a tiny window of opportunity to find them and change their orders.

Then units that you have given move or automate orders to during the turn, seem to all move when you've finished all your other moves.

In either (or both) cases, if you want them to move sooner, you use ctrl-A. Like if you don't like seeing all those units marked green, and not knowing which ones do or don't need orders.
 
I find units that have move orders move shortly after the start of the turn. You have a tiny window of opportunity to find them and change their orders.

Then units that you have given move or automate orders to during the turn, seem to all move when you've finished all your other moves.

In either (or both) cases, if you want them to move sooner, you use ctrl-A. Like if you don't like seeing all those units marked green, and not knowing which ones do or don't need orders.
Good points, I often do the first one myself, changing orders before they are executed at the start of the turn.

Does Ctrl+A work after the PPIO merge though? I haven't tested it in cases like that yet.
 
Good points, I often do the first one myself, changing orders before they are executed at the start of the turn.

Does Ctrl+A work after the PPIO merge though? I haven't tested it in cases like that yet.
I'm finding I don't get the "Press ENTER to end turn" message any more. Was that consciously removed?

Until you get that (at least first time you don't get it), you're expecting new units to get selected, or if they don't, for 'w' to find one for you. So I think what happened to DH is that there were no more units to move - in which case neither ctrl-A, nor 'w', nor in fact anything will 'work' at finding the next one.
 
I'm finding I don't get the "Press ENTER to end turn" message any more. Was that consciously removed?

Until you get that (at least first time you don't get it), you're expecting new units to get selected, or if they don't, for 'w' to find one for you. So I think what happened to DH is that there were no more units to move - in which case neither ctrl-A, nor 'w', nor in fact anything will 'work' at finding the next one.
DH was having problems deselecting units that he gave orders to when they had no movement points left.
Yeah I removed that text, I found it annoying, the green lamp (end turn button) should be enough to tell you that there is nothing left to do.
 
Back
Top Bottom