I still don't think retreats are working quite right. I played one turn with 1.12.01 and saw several instances where a German unit retreated Northwest or Southwest to an empty hex next to a Russian unit when it could have retreated directly West to a hex not next to a Russian unit.
As always a save would be most helpful. I think I wanted them to retreat to a hex with less units in order to make the retreat shorter (overstack requires another hex of retreat), and to maximize ZOC cover. Non-combat units instead prefer to select a hex with friendly combat unit to be protected. However if a unit is in supply it will now always retreat towards supply source as first priority.
The problem with providing a save is that when I observe anomalous retreats it is always in the middle of a turn after making many moves that I can’t replicate. I’ve reloaded saved turns and tried to replicate the situation I reported in my last post at the beginning of the turn. I didn’t find the exactly the same thing, but I found something pretty similar:
Load the saved game (link below), attack the German unit in hex X112,Y75 from NW and NE with sufficient CV to force a retreat. Observe that the unit retreats directly west through the attacking Soviet unit’s ZOC (this happened 5 times out of 5 in my testing). I thought the top retreat priority was supposed to be away from the attacking units, not adjacent to them. The difference with what I previously reported is that the Axis unit retreated NW or SW to a hex adjacent to the attacker when it could have retreated directly W.
I also noticed what I thought were other instances of unexpected retreats, where a single Axis unit retreats 2 hexes when there was an adjacent hex it could have retreated to containing only one unit and not next to a Soviet unit or Soviet-controlled hex. Repro this with the same saved game as follows: Recon the area around hexes X105,Y68 and X110,Y71 (west of Voronezh) and observe that in both cases there is an adjacent hex containing a single Axis unit that the units in X105,Y68 and X110,Y71 can retreat to (southeast of X105,Y68, and southwest of X110,Y71). Attack these hexes with sufficient CV to force a retreat (plenty of CV is available) and observe that the Axis unit retreats 2 hexes, rather than into the available adjacent hex. Use a nearby armor unit to occupy the hex and verify the number of units in the hexes (in case of faulty recon). I would think that retreating one hex would always be preferred in such situations.
Here is the saved game link: