Jump to content
Sports Interactive Community

Archived

This topic is now archived and is closed to further replies.

Svenc

FM's Match Engine - live sim or not?

Recommended Posts

FM's match engine is the closest you can get to a real football game on your computer screen without watching an actual match. I had no doubts personally about this being a real-time simulation, rather than a semi-sim relying on scripts and pre-calculated results. After spending my first days watching entire matches in awe when I fired up my first demo of Football Manager, I was given no reason to. But recently I stumbled upon forum threads arguing just that: that this isn't really a real-time sim of a football game per se, but rather that the match is calculated after you hit the kick off button. All the way through, and that for each sub and change you make, it's being calculated anew. That'd make sense in a way - unless you're not shown a replay, how else is your machine supposed to know when another "highlight" is due, for instance? And surely many a machine would be brought to its knees in less than no time, considering the plethora of attributes at work here.

Some posts went as far as claiming that the match engine would articially restrict certain lines to be crossed, i.e. goal margins, fixtures, etc. In a way it probably doesn't really matter - FM looks and acts a fine portrayal of the sports, no matter if it's calculated on-the-fly or no. No matter whether there are holes in the code that need to be filled in order to not produce any inconsistencies or not. And no matter if there's any sort of "trickery" going on you don't know about. Heck, we're talking about a video game that's almost text-only! Infocom knew this best: trickery is what this is all about! It's also probably best not to know what makes the engine tick exactly - ignorance is bliss, as they say.

Still wondering.

But then again..... ;)

Share this post


Link to post
Share on other sites

It's not calculated in real time. Everything is worked out when you click the kick off button and re-calculated when you change tactics or players.

Share this post


Link to post
Share on other sites

Some posts went as far as claiming that the match engine would articially restrict certain lines to be crossed, i.e. goal margins, fixtures, etc.

Those posts were wrong. The engine doesn't think of a score and work backwards to generate events that would achieve that score. It calculates the events, recalculates according to changes the manager makes. and then the final score is the result of those events.

Share this post


Link to post
Share on other sites

It's a slightly difficult one to explain, but I'll try.

When you start an FM match, it plays the match through in order to determine what the key highlights are, in order to show them.

This is done on-the-fly - for example until a goal is scored, nothing knows the goal is going to be scored. It's done by playing out all the events, player positions, interactions on the pitch using 'weighted' random numbers - the 'weighted' being the key bit, that ensures that better players by and large out perform worse players (but not always of course!)

For those familiar with computer programming you will be aware that there isn't really the concept of a true random number, only sequences of numbers that appear to us mere humans as random. Basically, there are algorithms that produce these sequences and the important point, that FM makes use of, is that if you jump back to the same point in the sequence, then all the subsequence 'random' numbers you pick will follow the same course as the first time.

So all that happens is that after FM has played out the match to determine the highlights, we 'rewind' the random number generator and play it again, but this time showing the action and the build-up where we know (from the first attempt) it is going produce a highlight. The match engine isn't aware it has already played the match, but because it is using the same random sequence, it produces the same outcome again.

When a manager makes a tactical change, then obviously the first 'play-through' of the match from that point no longer makes sense, as it occurred without the tactical change in-place. So this is why we then have to replay from that point of the match through to the end, with the tactical change in-place - thus generating a new set of highlights.

Share this post


Link to post
Share on other sites

So all that happens is that after FM has played out the match to determine the highlights, we 'rewind' the random number generator and play it again, but this time showing the action and the build-up where we know (from the first attempt) it is going produce a highlight. The match engine isn't aware it has already played the match, but because it is using the same random sequence, it produces the same outcome again.

Very interesting!

I wonder though. Shouldn't it be faster to save the generated sequence, so that you don't have to generate all of it for a second time? This way there would be no new calculations involved, until someone makes a tactical change. The calculations would continue from the point that the tactical change was made.

Share this post


Link to post
Share on other sites

The thing is, it can generate a lot of information - considering we're talking 8 frames of "AI" per second and all the associated stats that would need storing - it's not just what is on-screen, which is just a small subset of it.

It's the usual trade-off - a bit more processing (and if we have a spare thread on a modern multi-core machine, then even better) at the expense of using more memory.

However, we are now beginning to store information a bit more in the way you describe to allow fast rewinding/forwarding of the highlights, but this isn't enough information to actually continue the match from a certain point using this method, just enough to display what we need to on-screen.

Share this post


Link to post
Share on other sites

So Ov am I correct in saying that what we see on the screen in 3d view is not a good representation of what the ME is working out, hence the stupidity aspect (players passing the ball to other players backsides , bad positioning of players short defenders outjumping tall attackers etc)

Share this post


Link to post
Share on other sites

I did bits of Java programming in my college days, but *cough* it's been a long time. :D

It's a slightly difficult one to explain, but I'll try.

When you start an FM match, it plays the match through in order to determine what the key highlights are, in order to show them.

In theory: would it be possible to have it all happening in real-time, the visual representation and the engine playing out the match? If I understand correctly, this is only being done otherwise because of the highlight modes, so that the game knows when there's going to be a highlight and lets you see the pitch.

It's done by playing out all the events, player positions, interactions on the pitch using 'weighted' random numbers - the 'weighted' being the key bit, that ensures that better players by and large out perform worse players (but not always of course!)

Where do player attributes come into this? Say, how is it determined who wins a header, for instance? Obviously there must be some kind of randomness to it. Not every time the player with the physical, technical and mental advantage is going to win. And FM's attribute system is a bit more sophisticated anyway: it's never but a single number that determine's a players ability in anything.

When a manager makes a tactical change, then obviously the first 'play-through' of the match from that point no longer makes sense, as it occurred without the tactical change in-place. So this is why we then have to replay from that point of the match through to the end, with the tactical change in-place - thus generating a new set of highlights.

This must apply to AI managers too then.

The more I'm thinking about it - considering that the engine plays out an entire game not only at the start of the match, but recalculates as soon as tactical changes are made: That sure happens fast! How many minutes of real-time football is the engine capable of simulating at this point anyway? I remember somebody stating it's not full 90 minutes just yet, but from personal experience it seems like it ain't that far off.

Those posts were wrong. The engine doesn't think of a score and work backwards to generate events that would achieve that score. It calculates the events, recalculates according to changes the manager makes. and then the final score is the result of those events.

I kind of figured as much - those looked more like your common Football Manager conspiracy theory, whereas people would accuse the game of cheating every time they loose a match even though their team had the best of possession and shots.

Share this post


Link to post
Share on other sites

It does not need to think of a score just imput at start of game that your forwards are off form. It is therefore possible to control the game without the ME needing to know which team is the AI.

Share this post


Link to post
Share on other sites

Where do player attributes come into this? Say, how is it determined who wins a header, for instance? Obviously there must be some kind of randomness to it. Not every time the player with the physical, technical and mental advantage is going to win. And FM's attribute system is a bit more sophisticated anyway: it's never but a single number that determine's a players ability in anything.

Ov mentioned "weighted" numbers- I'd imagine these incorporate morale, form, fitness, attributes, possibly personality. For winning a header, it's always been said that jumping is key with bravery, determination and strength also playing a part.

Share this post


Link to post
Share on other sites
Ov mentioned "weighted" numbers- I'd imagine these incorporate morale, form, fitness, attributes, possibly personality.

Ooops, yeah, I got that wrong, not being a native speaker and all. It's probably best not to go into the details like that anyway. If you know that tad too much, the spell could crack. There must be a point at which everything really just becomes that glorified Excell spreadsheet rather than the most immersive football game on this planet. But with various SI employees outing themselves as active players you'll never know. :D

Share this post


Link to post
Share on other sites

I never believed that ME cheats...or if it "cheats"...then it's both for you and AI.

But problem that exist (and I think that it shouldn't be that way) is that SI programmers probably have some alghorithm for producing as realistic results and tables as possible. So if you are favourite and you are leading 3:0 at half time with 7 CCC, there is good posibility (or allmost always) that 2nd half will be very boring. In the other word...whatever tactics you choose, alghoryth decides that "enough is enough".

Оr sometimes you play like Brazil for 10 min and then next 10 min you are playing like non-league side.

WELL I DON'T WANT TO BE PASSIVE VIEWER OF SIMULATION, I WANT TO PLAY MANAGEMENT GAME AND TO BE REWARDED OR PUNISHED BECAUSE OF MINE (AGAIN MINE) DECISIONS!!!

Share this post


Link to post
Share on other sites
I never believed that ME cheats...or if it "cheats"...then it's both for you and AI.

But problem that exist (and I think that it shouldn't be that way) is that SI programmers probably have some alghorithm for producing as realistic results and tables as possible. So if you are favourite and you are leading 3:0 at half time with 7 CCC, there is good posibility (or allmost always) that 2nd half will be very boring. In the other word...whatever tactics you choose, alghoryth decides that "enough is enough".

There's another recent thread in which some argue about the same thing.

Personally? I dunno. I'm going to start my game now. ;)

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...