90MF Managers, ahoy!
Our adventure into ‘reopening’ the new Match Engine is well underway now. We’re planning to try and do a quick update every few weeks but we are some way away yet from being able to meaningfully update on things such as what the matches will look like, what the UI will look like, exactly what stats will be shown, exactly what tactical options there will be, exactly how long matches will take, etc. These are all things that we won’t be in a position to be able to start confirming until later on in the development process.
Now that we’ve reopened this piece of work it has become clear that it’s in the project’s best long term interests to rewrite the entirety of the existing codebase for the new match engine from scratch. We always knew this was a possibility, even though we had initially been optimistic a full rewrite may not be necessary, and was one of the key variables in why the original time estimate was given as 3-6 months. This aside, things have been about as smooth as we possibly could have hoped for, we’ve not had much disruption and we’ve yet to encounter any major unexpected problems (hopefully we didn’t just jinx ourselves!).
We’re currently in the middle of rewriting the Physics Engine and work previously done towards the AI from scratch to ensure that it will scale and allow you guys to play a good amount of matches without the associated server costs bankrupting us! This involves doing things like optimising the collision detection, being more selective about the physics we simulate and limiting the calculations for gravity, drag, etc to only impact the things they need to (such as the ball) and use more simplified physics for other objects (such as the referee), and limiting the use of CPU expensive operations (like Sin, Cos, Tan, Asin, Acos, Atan, Sqrt, Pow, Exp, etc) as much as possible - which has been challenging - as the AI is heavily dependent on geometric calculations.
We’ve also recently started the process of rewriting from scratch all of the code associated with infrastructure including being able to run multiple physical instances of match servers, load balancing, client <> match server communications, main game server <> match server communications, security, error handling, etc. We want to not only ensure that the game has the scalability that it needs but also put ourselves in a position to be able to effectively resolve many of the types of nagging bugs and nuances currently associated with the match experience.
Something we’re continuously keeping in mind is ensuring that the underpinning code structure is done in such a way that adding new features and making future improvements to the new match engine will not result in needing to do further complete overhauls of the codebase, thus allowing us to do future updates to it quite fluidly and frequently after the initial release comes.
Whilst there is a truly monumental amount of work involved to get the new match engine into the game - we’re also exceptionally motivated and are revelling in the challenges it brings. We’re making excellent progress and as things stand we believe we’re currently on track to implement the initial version of new match engine within the next 4 months as planned.
That's it for now! Thanks as always for sticking with us!
