Depends on the map and whos playing. But a 4 player of suitable games can be completed in 8hrs if no big delays. However they can go much longer on occasion.
Regarding attacking infrastructures, the last time I checked the behaviour was that sending an attacking infrastructure in an undefended territory conquers the territory; instead, if a battle is done and both attackers and defenders are destroyer, attacking infrastructures are conquered by the defender.
I think this should be harmonized, in that either the attacking infrastructures conquer the territory in both cases or are gifted to the defender in both cases.
I think an attacking infrastructure alone should not conquer a territory, but getting conquered, in doing so.
I've not tested this behaviour recently.
Yeah would be nice if the air unit validation didn't take this attribute ("movementLimit" for playerAttachments) into consideration until the player tries to click done for CM or NCM. Only then giving a prompt, if the player tries to end the CM or NCM phase while in a territory that is over the stacking limit set by "movementLimit".
The message displayed currently is "Units can not go over stacking limit". If air tries to fly over.
This is most likely gonna need to be a feature request, unless you wanna break other parts of the logic using triggers.
@ayoross Well I opened a PR a day ago that tries to cleanup the code: https://github.com/triplea-game/triplea/pull/2950
However we're running into the exact same issue you just described. (By we I mean @ssoloff and myself.)
We're currently assuming it has something to do with concurrency issues.
However in case we get everything working it does currently not look like the memory footprint is going down.
Looks like this requires much more changes than a small algorithm š
Thanks for the offer, @cmmiles. I believe this particular issue has been resolved because we have at least one dev on the team who's done some extensive testing with a Mac since I posted this. However, Mac is still probably the platform that gets the least amount of test coverage, in general, so if you happen to notice anything strange, please don't hesitate to report it in the Help & Questions category here or by opening a new issue on GitHub.