FM 24 Testing Harness

by LightningFlik, 2 days, 11 hours ago

I created an app which lets you run FM 24 matches outside the game, using the game's actual code, in order to simulate what is going to happen.

GitHub link
Latest release

The casual amongst you can simulate 500 matches against your next opponent, then tweak your tactic and simulate again in order to get a sense of what the best approach is.

The sickos amongst you might want to start digging in to how the simulations actually work by tweaking tiny details iteratively to see what really counts.

Some experiments that have already been conducted:

- Do player partnerships translate to on-field performances? No.
- Does a player's CA change his on-field performance (setting aside the attributes that might cause it)? No.
- Does a player's height? No.
- His age? Eh, maybe, but its minor.
- Do your staff attributes matter when you use the Instant Result feature? No.
- Is there an advantage to playing at home? Yes, calculated from your attendance.

Go forth and run your own tests, either to dispute these or investigate some facet of the game I've not even thought of.

I might do the same for FM 27 in the week it's available for free (but if I don't buy the full thing then it'll stop working the second they release the slew of patches and change the match engine).

1

This is an impressive effort! I have a couple of questions.

As far as I understand, the correct moment to run the tool and export the fixture is the briefing screen. Is it possible to assign opponent players to positions? I think not, according to this note: 'NOTE 2: AI/unknown control: assignments unmapped. Squad listed below; AI may replace this tactic.'

I go to the 'Simulation' tab, but I don't see any way to set the number of matches; I always end up with a single game. I saved the fixture, so it is a .json file. I then ran the PowerShell command and got the results, but isn't it kind of unintuitive to require PowerShell with magic commands when there is UI already? On top of it, as I've mentioned, this UI didn't let me generate more than a single game sim.

Another issue: I ran the sim N=100 4 times, and every single time I got the same result. What's going on?
100 runs: home 1 / draw 3 / away 96, avg 0.46-4.54

0

Taisho said: I go to the 'Simulation' tab, but I don't see any way to set the number of matches; I always end up with a single game.
Simulation > seed pattern

Enter '1-100' for 100 samples, '1-200' for 200 samples, etc.

I assume you can do '5200-5300' too

Taisho said: Another issue: I ran the sim N=100 4 times, and every single time I got the same result. What's going on?
100 runs: home 1 / draw 3 / away 96, avg 0.46-4.54

That's the point I think, that it replicates the same result using the data used in the JSON file. My understanding is that when you click 'simulate fixture' it feeds the fixture data (either stored in temp, or loaded from your saved JSON file) into the match engine for an output.

1

Taisho said: is it possible to assign opponent players to positions?

Nope. The CPU manager takes control of his team (as he would in the game) so forcing him to make certain decisions is outside the scope of this app.

Taisho said: isn't it kind of unintuitive to require PowerShell with magic commands when there is UI already?

The app began as a command-line app, which I'd call via Powershell or good old Command Prompt. I left these features in because it's vital for running programmatic experiments (e.g. writing a Python script to change the JSON file somehow and then re-run the command, which you can't do via the UI).

Taisho said: Another issue: I ran the sim N=100 4 times, and every single time I got the same result. What's going on?

That's not an issue, that's a feature. That's what pseudo-random number generator seeds do. From a given starting position, PRNG will also produce the same results. The seed is that starting position.

0
Create an account or log in to leave a comment