Quote
What conditions are required? Can you do it with 2 people? How long does it take? Can you make a test map that cuts down this time?
Conditions required: CCMU, a trigger that attempts to create units, and likely something in the index needing to get replaced or updated while that trigger cycle is happening. My guess for why it happens more frequently and reliably on diplomacy gold as compared with other maps at CCMU is that the index is updated between trigger cycles, and diplo gold does not have hyper triggers. Meaning, there's a far longer timeframe for players to adjust the index (via production or kills) during that same trigger cycle.
Can do it with two people, takes no time at all. Time isn't a factor, it happens as quickly as the above conditions are met.
I might could make a test map that cuts down the time to reproduce the bug (shit, just add some units and money to diplo gold and it'll do just fine), but I don't have a need. I consider this a resolved issue.
Quote
You mentioned a CCMU counter, did this in any way help with preventing desync? How would it?
1. Perfect unit counter. Count all double units, neutral units, etc. for all players. This is the "hard" part, especially since you can't always do a catch-all "All players" "any unit" count because of the conditions necessary for the triggers below. Unless you want to write 1000+ triggers by hand, you'll need a script to write this, and you also have to make some decisions here. You'll need to determine how precisely you want to count the units (i.e. how many triggers you want), and how many you need to count based on how many of each unit each player can acquire. There are some other factors too, depending on how much adjusting you want to do based on the overall unit count.
2. Block all "create unit" triggers in CCMU conditions. If unit count is >1650, turn off all hero replacement triggers, all create unit triggers, anything that would adjust the index with triggers. You can stop here and it will likely no longer desync, but ccmu sucks and you can't be 100% sure so:
3. Prevent CCMU in the first place by having unit limits that adjust to the # of players and the available units on the map. In 7 player diplo an appropriate army limit is something around 120, increasing to roughly 400 in 1v1.
4. An enterprising player can still cause CCMU with buildings, so dynamically adjust the map to the CCMU -- remove neutral units, buildings, and defenses where appropriate, and then start removing player units. If you have exploitable units like cheap supply depots or pylons or exploitable mechanics like lights off stacking, consider adding a building limit for those things.
5. Prevent stalemates, boring turtling, and unit whoring by encouraging offensive play. Setting incomes and army sizes appropriately will go a long way here, but also consider terrain and cost efficiency of defensive structures and artillery. The more cost-efficient it is to defend vs. attack, the more likely it is to reach CCMU.
Post has been edited 2 time(s), last time on Apr 30 2017, 4:21 pm by outlawpoet.
None.