ffm2
Community Members-
Posts
101 -
Joined
-
Last visited
-
Days Won
2
Everything posted by ffm2
-
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
Sure, better hardware gives an advantage, but I don't see a benefit in this case. Lets assume you hold down a extra mouse button that clicks 1000 times per second. In combination with holding alt and hovering the mouse over enemies you'd send units a walk command in between when the cursor is not on a enemy unit. In combination with attack-walk it would be the same as the attack-walk alone. -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
Yes, other ways to attack are (all not counted in the diagrams here): attack-walk (ctrl+Q+right-click) Is good for the starting of a battle when you face an enemy that is not tightly grouped. If units run loosely with this method in a tight group of enemies they die fast in a outnumbered fight. stop activity (H-key) Let the selected units drop all activities with a aggressive stance results attacking the nearest target very fast. Good for complex situations. Also good if your units have a locked target, the target retreats and there are other targets in range. So your units don't spend time walking but attacking. group sniping (select a group right-click) Makes sense to take out heroes (and their aura on the army), siege and in small battles with e.g. 5 riders to take out wounded units. With other plots like these I like to see some habits other players have. The stop activity is heavily underutilized imo. of middle strong players that might not even know this can be used in that way. It's not so easy, or what do you mean? You'd rather not be able to take out heroes or siege? Commanding a catapult on a CC would also be considered single unit attack (unqueued). I don't want to lose that control. I don't see a general problem in this mechanic. Imo. a rounded use of all the techniques described above usually makes sniping with a lot alt+rightclick of big groups not a good choice. It's very apm intensive and too little rewarding compared to other tasks. You can see some top players not using this at all in these graphs. -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
Oh, you mean the legend entry, that's the sum over the whole game. Should have labeled it better. The value of each turn is on the y-axis -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
1 turn is 0.2 seconds game time (in this alpha). During lag and pauses (if you have autociv) spikes can occur. Usually more players have a high command count then. In the second plot of the sanafur section one can see Decger have one high spike at the end. But looking at other games Decger one cant see this. So one needs to check a few games. For other commands, like holding the ungarrison key, multiple commands can also be send during one turn. But in this case the target changes where one would need to click on to. This is very rare, can be code executed or some overlooked mechanic of which no one else knows. Like this funny exploit -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
-
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
This is the python script for these graphs load_replay.py -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
But I found one player (sanafur) that is currently active and has this unusual active sniping: Maybe he can provide some insight how this is done. commands.zip Sniping with alt+rightclick gives the command to one unit. Or more precisely to the unit with the lowest entity ID / oldest. In a game one can't know realistically which would be that in a group. So if one would alt-rightclick one couldn't give the command to the nearest unit. This would only make sense with a target in range of everyone in a group. Archers and slingers might use this in bigger groups (30+). Skirmishers might try to reach a target on the other side of the group and would need to run between their own army. Halt command (H-key) makes more sense then to attack the next target near each unit without sniping. -
I analyzed a game of Stockfish and stumbled up on some weird behavior regarding unusual high sniping activity. Now I analyzed a few more game of him and others. The unusual sniping acts in that way, that one players sends individual attack commands to individual units. In the commands.txt it looks like this in one turn: cmd 2 {"type":"attack","entities":[2472],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2483],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2533],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} ... In the following graphs I count only these individual attack commands for each player. Here are 4 games of Stockfish which all show this behavior and I did not find a game which didn't have this that were longer than 10 min: Here are some games of other high ranked players that don't have this unusual sniping activity:
-
I agree on both. On resources used. I made 2 radar charts for the game I mentioned challenge-to-reach-100-pop in which Decger came out as a very good result. One can see that at min. 5 eco of resources used Decger has the highest value. In the chart that uses gathered res. Effervescent comes out on top (and Decger is only #3 although he later in the game sets this eco record of my data of 2150 games, better described in the link). Also pop here is unitsTrained, thats why not more players are at population maximum.
-
I made this radar chart for fun and wanted to share it. Left is a early state of the game and right a late state. E.g. at the top one can see who had the best eco score at min. 5 and where it progressed at min 14. Just some weak opinions/ideas I'd also like to share: The eco score are just the summed up gathered res.. I think one should also account and penalize a player having unused res. The graphs currently in the game e.g. for military score undersell the early game. A like we have 2 players, one does a well performed rush the other booms and gets into the game late. The booming one gets more credit than the other. In this diagram it's normalized for the player with the highest score. On local ratings: I read a bit into it and think of it a bit hard to understand. On the other side the results are also weird when looking at replay-pallas . The first idea for improvement that comes to my mind is to set a threshold for required of number of matches until it starts to show the results. #1 has 1 match, ValihrAnt is #79 and glancing over the list at any level raises doubts. I don't want to throw some shade so I wont mention (IMO) over rated players. A lot players other players seem to value it and use it for their pairing so there might be something I miss.
-
Challenge to reach 100 pop in the shortest time
ffm2 replied to cl2488's topic in Gameplay Discussion
I've been checking my local games for the players that reached a pop of 200 as fastest. The total number of players evaluated (incl. multiples) is 3435 and of that only 2150 reached 200 pop in the whole game so got further processed. These include weird settings like medium resources, maps with treasures, and proGUI users. But the top happen to be mainland on low resources. The only check is that cheats are turned off. The metadata.json only stores data every 30 s. These were selected from natural games. To make it in this list the player wants to boom himself and not be attacked. In the bar diagram one sees the civs of these top 68 players. To make it in the data you needed to have 200 pop in under 13 min.. Pers is occurring the most. I see a reason in this that pers is strongest in the late game, so the player himself it more incentivized to boom. Kush did not make it in this list. I play/spec games with random civs for 8 players regularly. The 3 fastest were Decger (two times) and Havran that made 200 pop until 11:30 (so somewhere between 11:00 and 11:30). Of the top 3 one was with a old community mod, so I cant replay it. One had 3 berry patches (Havrans). And one where Decger played rome with only one berry patch between his mines and only some extra sheep with the normal a26 version. This game seems like a particular good example for a good boom. In my top 68 games only 2 players had rome. Note that it does not mean that this is the best way to play the game in general at all. But a player occasional gets to play the pocket in a game where sometimes it makes the most sense to boom. So being able to boom is at least one quality a good player should have and display some times. Regarding this challenge 100 pop is reached in this game about min 7:00, but for the units on the map: I'm not going to count it manual in the replay at 0.1x speed and Decger made 63 woman at that time. If you would like to add it to this challenge subtracting the extra ~13 woman, go ahead. https://replay-pallas.wildfiregames.ovh/Replays/ReplayDetails/78531EF91F850AD7 -
I think it gets a key press and a release signal. Navigating the map with wasd would be very laggy if it were by interval signals in the scope of appearing text.
-
On this note I'd like to add to the metadata.json: -decrease the sequence interval from 30s to 10s (if the resulting size is accaptable) -add a counter for trainer idle times (e.g. you have your barrack and cc idle for 1 s the counter adds 2 s) Edit: Better a counter for each type. For stables and corrals it's not so crucial if they stay idle (But still 2 idle baracks increase the counter by 2 each second).
-
Indeed. I just held the U key down in one player in this figure. So one can imagine with a bit of lag for this to pile up fast. This is new to me, but I had a break of 4 years. Maybe I did it wrong back then or it is new behavior. Thanks
-
That's a teleport. Insane. This variety from 80 to 10 also speak against a fixed multiplier per special hardwarde. Maybe unnecessary commands like this should not be send over the network / recorded at all?
-
For the record of this thread again: The easiest way is this ungarrision command at the start. Different groups gets ungarrisioned at the same time in different directions. This does not happen when the way to desired resources don't get shorter by teleporting through the cc. cmd 2 {"type":"set-rallypoint","entities":[150],"x":1057.7218627929688,"z":831.8082275390625,"data":{"command":"gather","resourceType":{"generic":"food","specific":"meat"},"resourceTemplate":"gaia/fauna_chicken","target":175},"queued":false,"pushFront":false} cmd 2 {"type":"unload-template","all":true,"template":"units/athen/cavalry_javelineer_b","owner":2,"garrisonHolders":[150]} cmd 2 {"type":"set-rallypoint","entities":[150],"x":1083.4781494140625,"z":833.4364624023438,"data":{"command":"gather","resourceType":{"generic":"food","specific":"fruit"},"resourceTemplate":"gaia/fruit/berry_01","target":170},"queued":false,"pushFront":false} cmd 2 {"type":"unload-template","all":true,"template":"template_unit_support_female_citizen","owner":2,"garrisonHolders":[150]} cmd 2 {"type":"set-rallypoint","entities":[150],"x":1083.5645141601562,"z":827.9652099609375,"data":{"command":"gather","resourceType":{"specific":"tree"},"resourceTemplate":"gaia/tree/bush_temperate","target":5864},"queued":false,"pushFront":false} cmd 2 {"type":"unload-template","all":true,"template":"units/athen/infantry_spearman_b","owner":2,"garrisonHolders":[150]} cmd 2 {"type":"set-rallypoint","entities":[150],"x":1083.5645141601562,"z":827.9652099609375,"data":{"command":"gather","resourceType":{"specific":"tree"},"resourceTemplate":"gaia/tree/bush_temperate","target":5864},"queued":false,"pushFront":false} cmd 2 {"type":"unload-template","all":true,"template":"units/athen/infantry_slinger_b","owner":2,"garrisonHolders":[150]} Another easy way to identify proGUI is automated tributes distributed to allies given the user has much and the ally little. Notice this tributes are some numbers different than 100 or 500. cmd 2 {"type":"tribute","player":3,"amounts":{"food":101}}
-
Are you aware QuickStart is a mod on it own? It is a mod too as I read here: I also know, I should try it some time and then I can benefit of it too. It's just 7 resources at the start. Whats the big deal etc.
-
You are just gaslighting at this point. Here is the replay file and some analysis. On turn 15 player 6 (Atrik) set 3 rallypoints and unloaded 3 separate groups (typical for proGUI/quickstart): turn 15 200 cmd 6 {"type":"set-rallypoint","entities":[396],"x":981.6212158203125,"z":304.53472900390625,"data":{"command":"gather","resourceType":{"generic":"food","specific":"meat"},"resourceTemplate":"gaia/fauna_chicken","target":421},"queued":false,"pushFront":false} cmd 6 {"type":"unload-template","all":true,"template":"units/gaul/cavalry_javelineer_b","owner":6,"garrisonHolders":[396]} cmd 6 {"type":"set-rallypoint","entities":[396],"x":917.7904052734375,"z":340.63238525390625,"data":{"command":"gather","resourceType":{"generic":"food","specific":"fruit"},"resourceTemplate":"gaia/fruit/berry_01","target":414},"queued":false,"pushFront":false} cmd 6 {"type":"unload-template","all":true,"template":"template_unit_support_female_citizen","owner":6,"garrisonHolders":[396]} cmd 6 {"type":"set-rallypoint","entities":[396],"x":974.557861328125,"z":300.42596435546875,"data":{"command":"gather","resourceType":{"specific":"tree"},"resourceTemplate":"gaia/tree/bush_temperate","target":5897},"queued":false,"pushFront":false} cmd 6 {"type":"unload-template","all":true,"template":"units/gaul/infantry_spearman_b","owner":6,"garrisonHolders":[396]} cmd 6 {"type":"set-rallypoint","entities":[396],"x":974.557861328125,"z":300.42596435546875,"data":{"command":"gather","resourceType":{"specific":"tree"},"resourceTemplate":"gaia/tree/bush_temperate","target":5897},"queued":false,"pushFront":false} cmd 6 {"type":"unload-template","all":true,"template":"units/gaul/infantry_javelineer_b","owner":6,"garrisonHolders":[396]} cmd 8 {"type":"walk","entities":[516],"x":921.650146484375,"z":964.2492065429688,"queued":false,"pushFront":false} end In the attached Figure one can see some other huge spikes. E.g. form real_tabasco_sauce at turn 4346 which can be explained by normal gameplay. Its unload all, the same entity. Typical for teleporting through a building. It would not benefit the user to do it more than once in that turn, especially here with 0 entities inside. turn 4346 200 cmd 6 {"type":"set-rallypoint","entities":[7332],"x":1002,"z":298,"target":411,"data":{"command":"gather","sound":false,"resourceType":{"generic":"metal","specific":"ore"},"resourceTemplate":"gaia/ore/temperate_01","target":411},"queued":false,"pushFront":false} cmd 5 {"type":"leave-turret","entities":[]} cmd 5 {"type":"unload-all","garrisonHolders":[10125]} cmd 5 {"type":"leave-turret","entities":[]} cmd 5 {"type":"unload-all","garrisonHolders":[10125]} cmd 5 {"type":"leave-turret","entities":[]} ... Do you still claim not to use proGUI in the games of chrstgtr? Do you twist it that way, this was actually not proGUI but quickstart? chrst_gtr_host_atrik_progui_2024-10-19_0002.zip
-
Could you tell me how? Atm. I only see the way with alt+right_click in combination with extreme lag in a usual game.
-
No, it's not even a bin but a regular line graph with each turn. Could be a bin later with adjustable width. Here's not just every command plottet, but only the attack commands with queue off. This script gives atm. 4 graphs, all commands, attack without queue, attack with queue and stop. It's interesting because some players use attack with queue quite often (very good do it rarely) and some don't use the stop command (or H key) for fast attacking of the nearest unit. Also once one is suspicious one can and should look in the commands.txt and search for "turn X". Ungarrision / teleporting is indeed another action in which a user can have a irregular high command count.
-
In a very enduring and extreme way. This script is very young, although I checked games of good players and haven't seen it this extreme. There's also hardware that send multiple commands with very few delay on one click, but that would not explain the change of targets. It could also be some way to play the game other players don't know. With this kind of lag @borg- or @borg_ must be very frustrated and remember this. In the team games that I checked one can see lag a bit that multiple people have the chance to cramp in a lot of commands in one turn.
-
I've been playing with the script a bit more. Some user recomended me to check a suspicious game between borg_ and stockfish. Here we see the attack commands (not queued). Stockfish has a time between turn 5300 and 5400 where he reaches over 20 commands in a turn multiple time while borg_ never gets over 4. Looking at these commands in the file one sees: turn 5325 200 cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 1 {"type":"leave-turret","entities":[]} cmd 1 {"type":"unload-all","garrisonHolders":[150,2374,2740,2883,2923,3057,3140,3229,3351]} cmd 2 {"type":"attack","entities":[2472,2483,2533,2701,2732,2735,2749,2781,2790,2806,2815,2825,2826,2846,2847,2848,2849,2851,2852,2853,2864,2872,2873,2874,2875,2876,2889,2896,2897,2912,2947,2960,2971,2973,2975,2977,2985,2995,2997,3022,3029,3030,3031,3032,3034,3035,3036,3040,3042,3055,3068,3069,3071,3083,3084,3085,3088,3100,3105,3120,3122,3123,3134,3145,3160,3171,3181,3193,3200,3209,3214,3223,3224,3226,3227,3245,3247,3254,3281,3287,3292,3294,3308,3309,3311,3313,3314,3316,3329,3330,3331,3346,3347,3348,3360,3361,3363,3365,3366,3367,3373,3376,3379,3390,3391,3392,3393,3421,3422,3425,3429,3431,3435,3440,3444,3445,3451,3467,3468,3469,3471,3509],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2472],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2483],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2533],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2701],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2732],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2735],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2749],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2781],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2790],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2806],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2815],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2825],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2826],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2846],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2847],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2848],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2849],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2851],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2852],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2853],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2864],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2872],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2873],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2874],"target":3342,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2875],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2876],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2889],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2896],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2897],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2912],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2947],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2960],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2971],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2973],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2975],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2977],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2985],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2995],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[2997],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3022],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3029],"target":2963,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3030],"x":535.4337768554688,"z":222.9183349609375,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3031],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3032],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3034],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3035],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3036],"x":535.2202758789062,"z":222.64129638671875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3040],"x":535.3624267578125,"z":222.36502075195312,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack-walk","entities":[3042],"x":535.3624267578125,"z":222.36502075195312,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3055],"target":3015,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3068],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3069],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3071],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3083],"target":3234,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3084],"target":2446,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3085],"target":3050,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3088],"target":3183,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3100],"target":3183,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3105],"target":2385,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3120],"target":2545,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3122],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3123],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3134],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3145],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3160],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3171],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3181],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} cmd 2 {"type":"attack","entities":[3193],"target":3475,"queued":false,"pushFront":false,"allowCapture":false,"formation":"special/formations/null"} end So stockfish gives each unit there a individual command. Not as a group. Each command he would need to select the unit and select the target if I'm not mistaken. And the first 3 attack the same target. He'd rather select 3 units individually and attack one target instead of selecting them to a group. The game is from: https://replay-pallas.wildfiregames.ovh/Replays/ReplayDetails/9E145F4901E161F4 load_replay.py
-
I made some script to load game data in to python to plot it as I'm more familiar with python for plotting and analysis. Also it's much nicer to view all the variables in a variable explorer like the one from spyder. Commands per seconds or turn (0.2 s) have the disadvantage that during lag (or later in the game) a player is able to do a lot of commands in one turn. Here is me doing 10 commands in one turn: turn 5455 200 cmd 2 {"type":"walk","entities":[10472,7963,8997,10619,11200,10735,9713,8881,10288,10455,10152,11198,6126,10820,9851,9287,10734,10641,10289,8975,9333,9008,9220,9281,9355,9356,9451,9453,9471,9561,9562,11199,9706,9712,9734,9838,9852,10620,10745,9926,10016,10151,10153,10575,10576,10291,10454,10574,10703,10775,10819,10830],"x":368.4579772949219,"z":944.2227783203125,"queued":false,"pushFront":false} cmd 2 {"type":"walk","entities":[10472,7963,8997,10619,11200,10735,9713,8881,10288,10455,10152,11198,6126,10820,9851,9287,10734,10641,10289,8975,9333,9008,9220,9281,9355,9356,9451,9453,9471,9561,9562,11199,9706,9712,9734,9838,9852,10620,10745,9926,10016,10151,10153,10575,10576,10291,10454,10574,10703,10775,10819,10830],"x":374.57586669921875,"z":970.2582397460938,"queued":false,"pushFront":false} cmd 2 {"type":"attack","entities":[10472,7963,8997,10619,11200,10735,9713,8881,10288,10455,10152,11198,6126,10820,9851,9287,10734,10641,10289,8975,9333,9008,9220,9281,9355,9356,9451,9453,9471,9561,9562,11199,9706,9712,9734,9838,9852,10620,10745,9926,10016,10151,10153,10575,10576,10291,10454,10574,10703,10775,10819,10830],"target":6368,"allowCapture":true,"queued":true,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":233.2589111328125,"z":647.6427001953125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":289.00238037109375,"z":808.5845336914062,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":289.2769470214844,"z":809.2060546875,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[11159,10853,10854,10963,10965],"x":289.27691650390625,"z":809.2093505859375,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":309.6015625,"z":795.3712158203125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":309.6015625,"z":795.3712158203125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":309.6001281738281,"z":795.1552734375,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":297.7958984375,"z":817.514892578125,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":297.3807067871094,"z":812.8035278320312,"queued":false,"pushFront":false} cmd 6 {"type":"walk","entities":[7228,7882,7883,8114,8943,11225,11230],"x":297.3807067871094,"z":812.8035278320312,"queued":false,"pushFront":false} end Notice player 6 (me) just does actually do 2 commands with 2 unit groups as these walks are not queued. If your familiar with python / matplotlib go ahead and tinker with the script and analyze some games.
-
Also on the topic of idle time of barracks (or any building). I was just watching the video shared by @real_tabasco_sauce on proGUI, the day after (which indeed is very much on point of this topic). There is a overlay that has a nice counter that runs when buildings are idle.
-
It seems mod.io also handle mods more restrictive because of abuse. This rule would be a problem as I see it atm. New rules can also come any day. This is not a exclusive option and I think a good change. Players could also be made aware of mods they don't know and check them out because of the popularity. Also in the team set up one could put one proGUI user in each team to balance it. Some mods are big and if the host does not use them he should not download them. This seems a good additional approach to #2. I would add to this some appearing option for the host "ffm tries to enter your game with ffm_4k. Description: 'This mod increases the font by 2 sizes. Better suited for high res displays.' Add the key XX to your keyring?" And if the host gets tired of this mod he can remove this key. This would of course not prevent cheating and be a hurdle for new modders but necessary as proGUI users show no awareness at all that it is cheating. It's verbosely described in proGUI, the day after and here by RangerK yet again. If a proGUI user then enforces these features another way, at least they are made aware that they cheat.