In this final article before I start to seriously start to look at the code required, we need to look at the missing part of any management simulation and that is the management itself. Up until now, I've concentrated on most of the other parts of the game (except the code!), but the management is probably the knubb of the game.
In the game, we have two parts to the management; finance and players. Finance is kept to a minimum. Basically, there is a bank balance with (virtually) a fixed income from gate receipts. From this pot, wages, grounds costs and anything else like that has to come.
Funds can be raised in one of three ways.
Obviously, the third one is the one you're aiming for, but you cannot count on it. Obtaining a loan is expensive and you have to pay interest and as anyone with a credit card problem will know, it is a dangerous thing to do when your cash flow is poor (in this case, if you're stuck at the base of the division and your wage bill is way too high, there will be problems.). Selling a player, while on the surface a good idea (your wage bill goes down and you will get some dosh), does have a down side in that you have one less player to fall back on should there be injuries to the squad or if you need to bolster a particular aspect of your sides statistics. But then, you could always buy a new player...
In the original version of Football Manager, the game level played made very little difference to the financial side of the game; gate returns were always roughly the same and the price of players were not that different“ even when you reached the heights of the top flight. This changed in FM2 and became more realistic.
In FM1 it worked like this:
In FM2, it was changed as follows
No costs were incurred when selling or buying a player. These changes made for a far more interesting game!
Player management in the original was virtually non-existant. You chose the team which best suited your needs and that was that. No picking substitutes, no training and you knew when a player was going to go down injured as their energy was below 5, they would normally be injured for the following match. In all, the management side of the original was pretty dire.
The only real decisions the manager had to make was the formation and if the type of play is attacking or defensive.
Even changing the skill levels made little or no difference. Thank goodness this all changed in the second version!
In the second version (which is also the model we will use) things changed greatly. The main changes were.
The formation is decided by placing the players into slots on the field.
Players could be injured during the match and the chances of injury was not as cut and dried as in the original The skill level chosen really made a difference for all of the above.
This lead to a far more playable game and definitely a far more enjoyable game. Why? Well, the game stepped closer to reality. Okay, you didn't have sending offs, bookings, offside traps or off the field tantrums, but hey, FM2 was a heck of an achievement given it was written on a machine with about 40K of available memory on board!
We now have a good idea of what will be needed to get the game into shape“ the theory behind the game has been documented and some of the decision processes and implementations been planned (such as drawing up the league). There is still some work to be done though. The biggest of which is the overall engine plan.
Game engines are great as if you design a really good one, it can be used time and time again in a variety of ways“ look at the Doom engine. There is an engine which not only did Doom, but a number of other 3D games as well. Alright, it was tweaked and fine tuned, but so are car engines, the result is a fast, efficient engine well versed at what it does.
The main engine of this game is the game with the key parts being the object handling, league and filesystem“ anything else is purely bodywork. In this way, it is possible to write the game with hooks which allow OS specific parts to be tagged on. This remake will come with the RISC OS parts attached, but it would be quite simple for someone to write (say) a Windows, MacOS or Linux part. The engine is the same each time. Why do it this way? It makes for a simpler life when creating a game!
That's enough for this time, next time I'll make a start with the code.