ffm2
Community Members-
Posts
106 -
Joined
-
Last visited
-
Days Won
2
ffm2 last won the day on November 16
ffm2 had the most liked content!
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
ffm2's Achievements
Sesquiplicarius (3/14)
100
Reputation
-
mod LocalRatings mod - evaluate players' skills based on previous games
ffm2 replied to Mentula's topic in Game Modification
Of course, at the moment I can only express my disagreement with this rating and don't have much else to contribute. I also played with the score weights a bit and found that using resources used instead of resources gathered brings better results for my data base. But one has to split a test and a training data set first for adjustments like that (which I didn't in a quick attempt). For improvements one might analyze ValihrAnts (or other players that are obviously wrong valued) games and see where his strength can be seen in the data. And maybe even change the statistics that are logged in 0 a.d.. -
mod LocalRatings mod - evaluate players' skills based on previous games
ffm2 replied to Mentula's topic in Game Modification
I think this mod is highly ambitious. The desire to have what the mod attempts is big, but currently it's not accurate. Adding to this from another thread: Here is the script with which I evaluated the results. Maybe it helps to develop a better working algorithm. The script is to be run in .local/share/0ad/replays localratings_statistics.xlsx rating_localratings.py -
There's so much drama here, I think one can chose where to get involved and where not. If one just wants to play a simple game that day, one can do so. I chose to get involved with fair-play aspect and it already takes more time than I like to spend on it. If you have a working algorithm, maybe you can test it by modding local ratings mod. I think this mod currently does not rate well and favors certain styles and not just because there's too few games. ValihrAnt is rated 8.18 in replay-pallas.wildfiregames.ovh Players with higher rating than him: RangerK, FriedrichDerGrosse, Meister_Augustus, breakfastburrito_007, Atrik_III. All over 10 games. I checked how well all past games are predicted by the current local rating of the players in my database and overall it predicts the team with a higher sum of lr is the winner in 59.3% of the cases (so it is better than random guessing). The 20 games I have with ValihrAnt got predicted 70% false by the sum of the lr of the team (so worse than random guessing). Btw. my lr is -20.64 so maybe I'm biased. If I clean up the statistics I can release more, but I think scrolling through replay-pallas.wildfiregames.ovh with players in mind you know should suffice to get a feeling of the accuracy of local ratings. Another reason for toxicity I see is also the state of modding/cheating. Without discussing the cheats themself here it's also a culture shock for other gamers when they learn about the current state in 0 a.d.. This causes a lot of frustration which unloads in toxicity on both sides.
-
Yekaterina's duplicate accounts - Guide for recognizing them
ffm2 replied to Norse_Harold's topic in General Discussion
The idea is to focus on relevant units more. In a even fight this helps to get the upper hand. I also just found that she had weird 9 unqued walk-custom commands in one turn. turn 5650 200 cmd 6 {"type":"gather","entities":[11751,11753,11754,11892],"target":5353,"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"137.03","y":"479.52"},{"x":"134.99","y":"470.80"},{"x":"131.97","y":"462.44"},{"x":"127.08","y":"454.95"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"134.75","y":"496.72"},{"x":"130.01","y":"494.75"},{"x":"126.08","y":"491.25"},{"x":"122.81","y":"487.11"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"121.53","y":"429.00"},{"x":"121.31","y":"435.84"},{"x":"121.38","y":"442.69"},{"x":"121.30","y":"449.51"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"138.40","y":"470.50"},{"x":"136.06","y":"466.12"},{"x":"133.44","y":"461.94"},{"x":"129.81","y":"458.56"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"132.99","y":"499.66"},{"x":"128.45","y":"497.32"},{"x":"127.20","y":"491.86"},{"x":"126.13","y":"486.36"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"124.29","y":"438.62"},{"x":"127.73","y":"441.27"},{"x":"130.62","y":"444.43"},{"x":"131.53","y":"448.70"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"122.05","y":"439.94"},{"x":"131.21","y":"448.17"},{"x":"139.77","y":"457.03"},{"x":"145.00","y":"468.02"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"139.26","y":"487.63"},{"x":"132.71","y":"488.36"},{"x":"129.84","y":"483.07"},{"x":"128.20","y":"476.48"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 6 {"type":"walk-custom","entities":[11751,11753,11754,11892],"targetPositions":[{"x":"129.22","y":"437.18"},{"x":"131.39","y":"439.95"},{"x":"132.08","y":"443.42"},{"x":"131.54","y":"446.96"}],"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} cmd 8 {"type":"gather","entities":[10946,10966,10967,10971,10979,10986,11024,11056,11145,11252,11282,11283,11456,11457,11529,11547,11548,11549,11550,11551,11607,11615,11664,11732,11735,11742,11805,11810,11825,11826,11827,11828,11849,11921,11929,12011,12012,12013,12014,12145,12146,12147,12148,12149,12219,12220,12221,12222,12223,12250,12258,12269,12270,12275,12295,12348,12395,12417,12466],"target":698,"queued":false,"pushFront":false,"formation":"special/formations/null"} end I checked my complete data base and no one else had 3 or more walk-custom commands in one turn. Some have 2 like here .01. I don't see any benefit as it's the same units and only the last command should take effect. As I see it she just tested something weird and dropped it as it's only from 01.12.24 to 03.12.24. I don't care too much to look further. My main take away is just not to get upset when losing to her. -
Yekaterina's duplicate accounts - Guide for recognizing them
ffm2 replied to Norse_Harold's topic in General Discussion
When I first played with Ricci-Curvature she immediately said shes Yekaterina and I didn't knew her or of the ban. After the tip from Feldfeld I looked in to it and found Ricci-Curvature uses cmd 1 {"type":"attack-walk","entities":[188,189 ...],"x":923.1084594726562,"z":780.8538208007812,"targetClasses":{"attack":["Ranged","Cavalry","Infantry"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} (see targets "Ranged","Cavalry","Infantry") This can't be produced by the vanilla gui. Attack-walks that can be produced are cmd 5 {"type":"attack-walk","entities":[287,6315,...],"x":354.727294921875,"z":857.03466796875,"targetClasses":{"attack":["Unit","Structure"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} ("Unit","Structure") or cmd 5 {"type":"attack-walk","entities":[287,6315,...],"x":354.727294921875,"z":857.03466796875,"targetClasses":{"attack":["Unit"]},"queued":false,"pushFront":false,"formation":"special/formations/null"} ("Unit") One can detect this easy by checking for a line that includes attack-walk and not "targetClasses":{"attack":["Unit I played and spectated a lot of games recently. The last replay of Astra- that I have is from 17.11.24. The first game of Ricci-Curvature I have is from 15.11.24 and they were not in one game together (in my records). Only Ricci-Curvature had this method of attack-walk after 01.12.24. If she desires to have a benefit over vanilla players, I don't understand why she don't uses proGUI/quickstart then, because it's a easy way. I didn't have problems myself with her or geriatrix that's worth mentioning. Geriatrix is very hard against cheating and Yekaterina is definitely "testing boundarys" of the game without the consent of others so I can see why they fight so hard in the lobby. I like some ideas of the abstraction mod to reduce lag, but it's hard to trust her. I'd need to triple check the code from her before I run it. And to use multiple accounts to promote ideas is also annoying. E.g. I also share some of the frustration @strat0spheric mentioned and one seems to be in the minority for wanting to have a fair competition. Sometimes it seems some of the players rather have cheaters than noobs, as my skill has dropped hard after 4 years of break. It's a very weird atmosphere here. game_analyzer5.py 2024-12-07_0002.zip -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
I'm not talking about hardware. Hardware cheats could exist too, like in the video of the lego-mouse. I'm also not talking of lubricated keyboard switches, spring resistance or such. I'm talking about software. If it runs on your mouse it's called firmware. If some software on your OS post processes the key-hold to a key-tap it's also software. You get a advantage here by a piece of software. It's different than a benefit by having a bigger monitor, faster pc or adjusting the cpi value of the mouse. One of this auto clickers is called razor turbo mode. Some games that names the cheating cheating runescape, ea, minecraft The razor users themself in their reddit says its ok (2 users) Not everything need to be explained that it's cheating. If you have a person sitting in the room spectating and telling you game information that's also cheating, although no one specified it somewhere here (afaik). But it might be a idea to create such a site for rules of fair-play. -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
Here is the diff from which I made the mod for further use attack_view.diff -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
The games of berhudar look different with no attack-walk commands in such a high ammount. Also the sniping is not so spread out. -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
Stockfish's games show the similar high ammount of attack-walks mixed in. It seems his clicking frequency is set higher than sanafurs. -
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
-
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
In this plot one can see sanafur giving attack-walk commands in a similar frequency like the attack commands commands.txt -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
Here is a mod which colorizes the attacker (green) and the target (red) of the selected player in a replay. It goes OOS, but you can click the warning away. Don't use it in games or as a spectator of live games though. The code is from elexis, I only packed it in a mod. I viewed some games. I the fast sniping of sanafur and Stockfish is done by -the firmware of the mouse -or some software that translates a held key While they hold this clicker-key, the repeated mouse clicks are automated in a high frequency. They can move the mouse meanwhile fast over units that shall be sniped. Depending on the speed of the cursor movement a target can be assigned a different number of attackers. The targets are quite near of each other. The attacking units are random from the army (with big gaps). The sniping is not so sophisticated, like choosing wounded units and assigning correct number of projectiles to take one out, as one would expect from a script. The clicking is done in combination with held ctrl-alt key. Ctrl has the effect that the attacker will attack a unit when clicked on it, but when cursor goes over a spot over the ground the unit gets a attack-walk command and thus attacking the next target. This is not harmful like a walk command which would have been send without the ctrl button. Alt gives the command to only one unit per click and removes it from the selection. When the attacked army is on a field, the attack-work does not work but rather the field gets attacked by a lot of units. You can see in the following plots that sanafur and Stockfish gives a high number of attack-walk commands during sessions of sniping. Not in every game, but usually. So occasionally they can hover over good selectable units. This is a form of cheating and abuse. E.g. in minecraft one can get a benefit by clicking fast, see: https://cpstest.org/kohi-click-test.php attack_viewer.zip -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
That's annoying. I got matplotlib 3.9.2, so quite new (instead of what they wrote). And for me the other way don't work: AttributeError: 'Legend' object has no attribute 'legendHandles' I don't want to include some checks to execute different code for different versions of matplotlib ... So I agree, if you have a similar issue, replace it yourself, sorry (-.-) -
Unusual high sniping activity of very few players
ffm2 replied to ffm2's topic in Gameplay Discussion
Oh, good I aborted after I heard my fans blow up and tested afterwards in a test directory with only 10 replays. This should be fixed but I only tested it in the test directory again. This can be run on only one case with multiprocess = False and a specified path (good for editing/debugging etc.) Can process a part of your database (first 10% in batches) limit number of processes (is set on 4 for now) delete pngs (good to delete all the pngs named sigle) multiprocess = False # you can specify to handle which part of your db you want process. # E.g. test with [0, 10] and if it works in a reasonable time do [10, 100] next. # in percent process_part_database = [0, 10] parallel_processes = 4 path = "2024-11-13_0009/" # for single game delete_pngs = False game_analyzer.py