views:

460

answers:

4

I'm looking for some food-for-thought on how games like Football Manager and Championship Manager achieve a fairly high level of realism when it comes to simulating realistic scorelines. I am conscious that some of these algorithms would probably fill shelves but I'm looking for a more lucid overview.

Even some pseudocode which outlines how the different player attributes are pitted against each other during the game loop would be very interesting.

I'm looking to do a small project in my spare time for the Windows Mobile platform and would be grateful for any information that would help!

+2  A: 

My guess is that such algorithm is a trade secret for game companies like SI Games and such, and you won't find any hint about their algorithm in public places.

You can look at open-source football management games, like bygfoot.

ckarmann
+1  A: 

If you are able to collect enough information about the results of the past matches, you could make a simple multiple regression model to predict the scores with reasonable amount of accuracy. You'll have to select your variables carefully though. Check out this and this for more information on prediction using regression techniques.

trex279
+1  A: 

Certainly a component of any such algorithm would be analyzing the past X-many years of actual football scores: professional, college, and high-school.

If you were to aggregate the data available on merely active, professional players, then look at the scores of every game they were in, you could start to get one possible approach.

For example, maybe there's a place-kicker who just freezes-up against one team - and therefore the coaches don't put him on the field after that when the two teams are playing each other.

Obviously, such analysis should be done ahead of time and NOT on the Windows Mobile device :)

However, it could be at least a reasonable starting point.

Also, be sure to not rely on pure statistics - it doesn't matter how good you are if Lawrence Taylor breaks Joe Theismann's leg :-\

warren
If Lawrence's broke Joe's leg, he'd probably be red-carded. :-)
Patrick McElhaney
heh - I suppose it could depend on your definition of "football" :P
warren
+1  A: 

There are some open source football sim engines you may want to take a look at:

ESMS+

BygFoot

I would say its difficult to determine what is the "correct" method for developing an engine for this type of game. I think its basically how you think it should be determined....obviously having a sneak peek at other people's source code helps :)

I haven't had the time to take a look at BygFoot's yet, however, I have had a look at ESMS and it doesn't look too bad! The main loop is not as big as you would think....

I would say there must be an element of randomness involved, this will allow for "shock" results etc and you should also take into account things like recent form, player morale, fitness, stamina, home/away and provide bonuses to the players accordingly.

Hopefully that helps!

James