Managing games
Hi, I'm wondering how games about managing soccer teams are designed. I'm interested in soccer, but the problem is not specific to soccer, any team sport would do (basketball, American football, rugby, handball, hockey...). Examples of such games are Football Manager, Championship Manager on PCs and ManagerZone, Hat Trick on the web. More precisely, I'm interested in the match engine, the part deciding the outcome of games. It seems quite challenging to me: The outcome itself must be realistic, and the game itself must also look believable. The game is typically visible as a text report, a 2d film or a 3d film for the most advanced titles. I can see two approaches: Simulate the match at the level of players (basically write a soccer game with an AI, and let the AI play against itself), or simulate at the level of teams (compare the offensive and defensive strengths of teams, then throw dice). [Edited by - johdex on December 23, 2008 6:21:33 AM]
-- Top10 Racing Simulation needs more developers!http://www.top10-racing.org
Quote:
Original post by johdex
I can see two approaches: Simulate the match at the level of players (basically write a soccer game with an AI, and let the AI play against itself), or simulate at the level of teams (compare the offensive and defensive strengths of teams, then throw dice).
The first approach is a possible one, but the second is not granular enough. The most common approach is to simulate the game based on a host of statistical factors, which influence your simulation on a per possession/encounter basis.
You can look at the history of matches between two specific teams to ascertain the mean pace of the game - how many possessions there are in a game, who time of possession favors and by how much, how many shot attempts and how many of those are on goal, how many fouls, free kicks, yellow cards, red cards, corner kicks, throw-ins, giveaways, takeaways... Evaluate all of that data and then add some stochastic noise to allow for surprising outcomes (Hull City beating Arsenal, etc.). This determines the number and distribution of possessions in the game.
On each of the possessions you've simulated, you again return to the statistics - and some of these can be difficult to find as they aren't generally published; you may have to do original research. You'll want to know, depending on how the possession is obtained (goal kick, throw-in from different parts of the field, takeaway from opposing midfield, clearance of scoring threat), which passing sequences occur with which frequency. Does the goalie favor passing to left or right back? How frequently does he pass to a defenseman vs kicking it into the mid-field? How does the team tend to build their attack - wing advance and cross, or deft passing in the mid-field? All of these will tell you how often two opposing players will go against each other, and which two players. You can then simulate their encounter based on how often one wins out over the other.
This may be too much detail, though, so you can lower your level of granularity and simply evaluate how often one team scores, has close calls, misses, etc and use that result.
Hope that helps.
Oluseyi, if I understand you well, the approach you describe falls into my second category (though much more detailed), am I right?
Regarding the statistics, I can make those up, as long as they produce believable results. I don't intend to simulate real teams or real players.
One problem with the statistical approach, I think, is to visualize the games (in 2d or 3d). ManagerZone does 2d and 3d, HatTrick only does text reports, Championship Manager does simple 3d.
Regarding the statistics, I can make those up, as long as they produce believable results. I don't intend to simulate real teams or real players.
One problem with the statistical approach, I think, is to visualize the games (in 2d or 3d). ManagerZone does 2d and 3d, HatTrick only does text reports, Championship Manager does simple 3d.
-- Top10 Racing Simulation needs more developers!http://www.top10-racing.org
Quote:
Original post by Oluseyi
Evaluate all of that data and then add some stochastic noise to allow for surprising outcomes (Hull City beating Arsenal, etc.).
I'm sure this is the way many simulations are performed, but I've always had a problem with this approach. Specifically that it uses empirical evidence to supply truth values in game. When Hull City beat Arsenal, I know that it's the result of stochastic noise and that Hull City remain the weaker team. Experimenting in this kind of game is pointless, because it's based on the past - there's no provision for wildly different team setups or unusual strategies.
Using historical data to generate match outcomes is not a great idea for a "manager" type game, as 90% of the game revolves around managing your CURRENT team.
You want the players you transfer in and the tactical changes you make to play a huge role in how the game plays out. You want the simulation to be driven by the player attributes and player chemistry (could involve chemistry with other players, or with the formation and tactics being used). The variance on the games should be applied to the events occuring in the game and not directly to the score (for (an oversimplified and rough) example, if a player with a good rating on his speed is trying to run by a defender with a low tackling rating, the player could have a 30% chance of beating him, if on the other hand the defender had a high tackling rating, the player would have a 10% chance of beating him).
As for how the simulation is run, if you are ok with a 2D visualization, or very simple 3D where you just run NIS sequences reflecting the events occuring, it's probably an event driven system, where you could pick an event for the player in possession of the ball, execute the event, evaluate the outcome and repeat.
For an advanced 3D visualization, you will need a much more complicated AI system.
Not using historical data also allows you to ensure that player stats are tracked realistically (in game). If you want to use historical data, things like where the player usually scores from, or how many fouls they usually take would probably be better things to include since it would allow you to make where they score from and how aggressive they are more true to life.
One thing to note though, is that if you're planning on creating a Football manager game without a huge team, you won't be able to compete with the commercial products. There are hundreds and hundreds of teams in professional football, and tens of thousands of players. Sticking to a single league is probably do-able though (provided you don't care about getting players' likenesses correct).
You want the players you transfer in and the tactical changes you make to play a huge role in how the game plays out. You want the simulation to be driven by the player attributes and player chemistry (could involve chemistry with other players, or with the formation and tactics being used). The variance on the games should be applied to the events occuring in the game and not directly to the score (for (an oversimplified and rough) example, if a player with a good rating on his speed is trying to run by a defender with a low tackling rating, the player could have a 30% chance of beating him, if on the other hand the defender had a high tackling rating, the player would have a 10% chance of beating him).
As for how the simulation is run, if you are ok with a 2D visualization, or very simple 3D where you just run NIS sequences reflecting the events occuring, it's probably an event driven system, where you could pick an event for the player in possession of the ball, execute the event, evaluate the outcome and repeat.
For an advanced 3D visualization, you will need a much more complicated AI system.
Not using historical data also allows you to ensure that player stats are tracked realistically (in game). If you want to use historical data, things like where the player usually scores from, or how many fouls they usually take would probably be better things to include since it would allow you to make where they score from and how aggressive they are more true to life.
One thing to note though, is that if you're planning on creating a Football manager game without a huge team, you won't be able to compete with the commercial products. There are hundreds and hundreds of teams in professional football, and tens of thousands of players. Sticking to a single league is probably do-able though (provided you don't care about getting players' likenesses correct).
In the historically based simulation approach I proposed, I mentioned performing the simulation at the encounter level - player vs player, possession by possession. The value in doing so is that changes to your team makeup can radically swing the odds in your favor, so you can turn Hull City into a perennial contender rather than a statistical anomaly. Keep that in mind.
Quote:
Original post by dashurc
One thing to note though, is that if you're planning on creating a Football manager game without a huge team, you won't be able to compete with the commercial products. There are hundreds and hundreds of teams in professional football, and tens of thousands of players. Sticking to a single league is probably do-able though (provided you don't care about getting players' likenesses correct).
That's OK, it would be a hobby project for me. I play on ManagerZone, and I feel a bit frustrated by the impossibility to give advanced orders during the game, such as "change to 4-3-3 offensive if losing when less than 15 min left". I have ideas about designing some sort of simple scripting language (automaton-based) to specify this kind of things.
-- Top10 Racing Simulation needs more developers!http://www.top10-racing.org
Ive been thinking of doing a project like this for a while. I spend most of my free time playing football manager anyways. What I want to do is slighly different, and that is to create a Rugby manager game, in the same type vain as the earlier Football Managers(Championship Manager). I have already decided to keep the first bit same and make the only league playable the Six nations.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement