ffm2
Community Members-
Posts
276 -
Joined
-
Last visited
-
Days Won
17
Everything posted by ffm2
-
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.
-
All parties in the know = not cheating Using it secretly = cheating Is it that complicated? The current state of the multiplayer lobby just shows that this is not the case. Players just download proGui through mod.io and just use it. Even Atrik just assumes everyone knows by now that he is using it. One day Chrstgtr tells him he should not do it in his games, next game he does it again. When I or RangerK return to this game after a break and join a 4vs4 game no ProGUI user tell them that he automates unit commands and unit production beyond human capabilities. Instead some even tell it is just a GUI. Please report players cheating by using mods or other means. Without reports there is little we can do. If some official sign were there, like a mod ban Atrik for a day or at least say that -proGUI's autotrainer -proGUI's quickstart is considered officially as a cheat in regular use (not announced). But we have this situation where the proGUI users just use it like great mods like autociv and feldmap. And then users tell in lengthy discussions about how it is ok and not a cheat. Can we have a adult jumping in saying: -The autotrainer of vanilla is intended to work that way (turning of if there's no res., don't automate adjusted batches), for this alpha -Don't give units commands via makros / mods etc. If you like the vertical panel or what that's ok for me. Maybe split it up in 3 mods and have one of them signed or accepted by the community. One can automate everything away, but then it is a different game. Afaik DotA focused their game to play just playing the hero of Warcraft 3. That's ok. But you can't automate things away and play with the others that still do another part of the game in a way they never can reach you. People will still cheat, but we can end this "is considered by some" discussion. Even if the advantage were small or however it is downplayed. Or start a poll before or something.
-
Don't be confused because some consider it not cheating. It is very clear cheating. It disables game penalties: In game auto-batching gets disabled when the player don't have the resources. It's not on pause (like proGUI) because the programmers lack the capability to program it otherwise, it is a draw back to use this automated way. Do that in the dedicated place, hand in the patches and wait for the next alpha. The topic here is cheating. You can discuss new features for future versions else where. You disable penalties for yourself while playing with players that have these enabled in their game. I had games recently, after the game I get mocked "lol, ffm only 60 kills". I check the replay and see the opponent was a proGUI user. Other games I get a clear win with a ally over decent players, check the replay and see my ally uses proGUI. Also I happen to play in rounds with known cheaters, because the host tolerates it and the better players are already there. The motivation for the cheaters I assume is because they can join rounds of better players and compete with them. The easiest way to identify cheating with proGUI is the quickstart part. It sends 7 commands in one turn, at about turn 12. cmd 6 {"type":"set-rallypoint","entities":[400],"x":200.843017578125,"z":647.5227661132812,"data":{"command":"gather","resourceType":{"generic":"food","specific":"fruit"},"resourceTemplate":"gaia/fruit/berry_01","target":419},"queued":false} cmd 6 {"type":"unload-template","all":true,"template":"template_unit_support_female_citizen","owner":6,"garrisonHolders":[400]} cmd 6 {"type":"set-rallypoint","entities":[400],"x":208.0706787109375,"z":558.1127319335938,"data":{"command":"gather","resourceType":{"generic":"wood","specific":"tree"},"resourceTemplate":"gaia/tree/oak_hungarian","target":411},"queued":false} cmd 6 {"type":"unload-template","all":true,"template":"units/rome/infantry_swordsman_b","owner":6,"garrisonHolders":[400]} cmd 6 {"type":"unload-template","all":true,"template":"units/rome/infantry_javelineer_b","owner":6,"garrisonHolders":[400]} cmd 6 {"type":"set-rallypoint","entities":[400],"x":168.57574462890625,"z":588.1920776367188,"data":{"command":"gather","resourceType":{"generic":"food","specific":"meat"},"resourceTemplate":"gaia/fauna_chicken","target":425},"queued":false} cmd 6 {"type":"unload-template","all":true,"template":"units/rome/cavalry_spearman_b","owner":6,"garrisonHolders":[400]} A mod that warn users in game about a amount of commands that is beyond the best player (plus a threshold) could be a idea. But I don't know where to start with it at the moment. Hardening the game against abuse is one front to fight. But this is absolutely ridiculous to defend and pretend "is it really a cheat if a 1200 player don't win 10 out of 10 vs a 1800 elo player", "it's just a few commands at the start". It's another thing that the cheats are so easy available, widely used and pretended it wouldn't be a cheat.
