22-03-2007, 11:08 PM
@Nr12: Die corners en vrije trappen zouden wel eens heel snel kunnen verschijnen
hier een stukje over de match engine, erg interessant moet ik zeggen..
hier een stukje over de match engine, erg interessant moet ik zeggen..
Quote:Devs Blog: Match Engine I
As most of you should know, we've been working hard for some time now on upgrading our current match engine (I will refer to it as ME from now on). This has proved to be a real test to our programming abilities, as the ME is quite complex (one would expect that from trying to simulate reality). Nevertheless, we've managed to make some incredible steps forward, technically speaking, and, in our opinion, managed to add a lot of realism to the development version (v2) of the match engine.
This blog entry serves to give you some insight on what point we're standing right now in terms of the new ME development evolution and to talk about the upgrades we've made so far. Next I will try to list a few of the new enhancements and features we've worked on till now.
- Code simplification
The most important thing we've made concerns little to the common FS user, but since it was the most time-consuming one, I have to list it. The original ME version was pretty primitive in terms of programming "design". We have quite a lot of experience working on game simulators but this was something way over our then-current capacities, so the code was pretty scattered and sometimes even redundant and slow. We've managed to simplifyit a lot, permitting all the needed enhancements and even gaining some performance speed (although the v2 ME is slower than the working one (v1) at the moment, due to the higher number of actions taking place; this is a major concern but it's simple to work-around and we'll eventually find a cool solution to it).
- Size matters,
and so does speed. No silly connotations here; this serves to say that the players were far too big in the field, in comparision to reality, and the speed at which the ball and the players travelled was also way off. Although it is not perfect yet, the players move a lot faster and the ball speed is also much more realistic. This was an important forward step that had to be taken before any other major improvements could take place.
- Player positioning
The far-most important enhancement is, clearly, the enhancements made to the players' positioning on the field. It's easy to see how the current v1 is rather simple in positioning terms: players follow the ball if they're the ones nearest to it (one player from each team) and then all others follow the pre-selected formation scheme, only going up or down the field if their team is attacking or defending.
The new v2 will be much more advanced (and most of the processing time it consumes is dedicated to the players' positioning). Here's a small list of new important stuff:
- A team will take on more or less attacking positions depending on where the ball is located (defensive-wise, it will be the same, although it's still work in progress).
- Defenders have a notion of "marking", trying to cover the player nearest to them if that particular player is free. Midfielders will also sometimes try to help depending on the situation.
- Attackers and sometimes midfielders, depending on the situation, will also try to stay clear of their marking-men.
- Goalkeepers are a little more smart in what concerns balls lost in the area.
- Defenders will now try to help each others, by not going up the field like mad if one of their partners is still with the ball and trying to get rid of an opponent.
- Players from the defending team will not run after the player with the ball across the field like sometimes they used to; they will sense if they're out of position and give up on such pursuits if they feel it's the right action to take.
This is a small list, cause a lot of other small improvements have been made. Some other improvements are still work in progress, and some new individual orders will be added in the future when v2 is launched to cover all the marking/pressing stuff.
- Set pieces
Throw-ins are a now common thing in the new v2 ME and, although not perfectly coded still (close to it though), are a cool thing to watch happen. The speeding-up of the ME allowed us to add them as a full feature; before they were too time-consuming and we had to cut them down, or match realism would be severely affected.
Corners are work in progress; they exist for a long time but never really worked well. Guess it won't be hard to code them and you can expect them working fully in the v2 version.
Free kicks (and fouls, and consequently injuries and such) are still pending and, although we'd very much like them to be part of v2, it's still unsure if they will; maybe a v2.1 will include them instead. Anyway it will all depend on the time the current enhancements take us to be completed, and whether or not we decide, at that time, that we want to release a stable version or not. All I can say for now is that they're not done, although their implementation should be not that complex.
- Passes, dribbles
Enchancements to passes are work in progress; players will eventually "see" better how their fellows are positioned and therefore be a little more smart. Anyway, passes in v1 are not that off.
Dribbles still happen a lot, but passing has become far more important by now. Since players in v2 have a better positioning notion and are challenged a lot more by opposing players, they tend not to run across the field as much as they do in v1. Defenders also tend to dribble less in dangerous situations, as one would expect them in reality. This, plus the also existing IOs, will eventually lead to more balanced, well-disputed games, and to a greater importance of midfielders in the game, in terms of playmaking.
These were the most important enhancements made so far. We have loads of ideas and still lots of stuff in our to-do list (new IOs to give more freedom to the players, a heck of a load of positioning enhancements - still!- , a lot of technical stuff to allow the MEs to be more dynamic, enjoyable to work on, and less processing and time-consuming, etc.); we hope this blog entry will serve both as a giving of idea of how much has been done so far and of how much is still to be done, and obviously as a warning of where the development of the match engine has gone/will go.
You're probably thinking now, "well, I'd like to see how it looks like though..."; yea, we've thought of that. And as such, we're giving out to you a free "preview" of how the ME v2 looks at the moment. Be aware that most of the stuff is work in progress and will obviously greatly tend to be changed. Despite this, you will be able to see in first hand some of the new features working, and I'm sure it will be pleasant to everyone who's interested in the new ME development to have a chance to see how it goes.
To watch the free v2 match follow this link:
<!-- m --><a class="postlink" href="http://www.footstar.org/blogs/21-3/viewmatch.swf">http://www.footstar.org/blogs/21-3/viewmatch.swf</a><!-- m -->
(note: all players' skills in this match have been more or less randomly increased by a certain amount based on their skills some months ago; do not take the real FS players used in the match in consideration for comparision terms.)
Do not report bugs or inconsistencies that take place during that match to us, we're very aware they are there and might happen; I cannot stress enough that it is a development version and yet not stable to release. And, nevertheless, it may appear stable enough to you, but I assure you there are a number of oddities still needing to be fixed before it's stable enough.
We're open to listen out your suggestions in the Suggestion forum; but please bear in mind all the above before suggesting anything. No point in suggesting adding free kicks if they're in development, right?
Well, that's all I guess. We'll probably be keeping you up-to-date on the future developments; be sure to check the forums and this blog periodically if you want to keep informed.
And bear with us in the upcoming months, we're working hard on this and all your support and patience is appreciated.
Enjoy, see/chat with you around.
/nino