Hi,
To shed some light on the current progress so far that I've made, I am making this topic because I do not want to keep the users in the dark for too long.
As of today, the Version 4.0.0 will have a [Path Finder] feature, which allows the [Auto Drive] feature to go anywhere on the map and as efficiently as possible using many optimization techniques
For that I had to dig into how the Rocket League's mesh is constructed and create my own navigational system, which as of today it supports Soccar (Snowday, Heatseeker), Hoops and Dropshot maps. Except a few Soccar and Rocket Labs maps, because they contain different levels of mesh, which require a unique layout, therefor it requires a different binary file, and if those maps are demanded a lot, I will probably add support for them
For every supported map, it creates it's own network of nodes dynamically, then it creates Edges files which will be binary files that contain all possible connections and directions for each node which gives us the ability to pick a point on a surface and give it to our [Path Finder] controller to get us there.
Then there was the actual path finding controller logic which takes the car's capabilities and controls to get us as accurately and efficiently as possible towards a target. This is the thing that took me the most amount of time. Not only to code it, but first educate myself about the whole path finding process, about the car physics and to be able to understand and comprehend to a level where I can possibly implement it. I had to restart the initial process many times for a few months, until I finally arrived at the current solution, so initially it was a lot of trial and error. But fortunately, I achieved something working pretty well.
It currently uses the famous AStar shortest path algorithm but in the future, I will see if there's a need for a different approach.
The [Path Finder] also has new logic of dribbling and matching the speed of the car for an aerial. And the dribbling segment is separated with it's own settings, which you can customize to your needs.
The dribbling segment is quite interesting, because it simulates car-to-ball contacts and as of now, it can be configured to minimize bounces for better catching of the ball, carrying it on it's roof, alignment with the goal, matching the speed of the ball, and more. It even has the ability to do backwards dribbling, but I haven't yet finalized the dribbling choices so it's hard to say exactly what will be in the final version
Next feature on the list is: [Aerial Path Finder BETA] which improves the overall [Aerial Bot] by a lot.
It continuously creates a path towards the target and with each consecutive iteration it tries to minimize the error of arriving there. It's better at orienting, flying and adjusting itself when needed in the constraints of the car's physics.
It improve all of the aerial modes, which by the way I have added two new aerial modes, [Redirect Mode] which is in pretty complex and still in beta, and a new [Flip Reset 2] mode which gives the ability to offset the car's orientation relative to the ball. As well as it improves the [Air Dribbling] ability even with older code.
Now with that, I have decided to make each aerial mode have it's own specific settings so you can customize to your own needs.
The next addition is a new [Aim at Goal - Simulation] method which creates future car positions and orientations on the ball and for each of these possible car states, it tries to find a hit that would best redirect the ball towards the enemy's goal. It is still fairly new and I will be building/improving it more.
With that [Aim at Goal - Simulation Method] feature, comes the new [Redirect Mode] aerial mode which creates a possible redirect orientation for the aerial bot to execute. This mode would also be available as a Freestyle Control orientation, meaning it would be possible to be used at the end of a freestyle. Again, it's still fairly new and a lot more work needs to be done on it
From the current testing as of today, 13.10.2024, the addition of the new [Aim at Goal - Simulation Mode] and the [Redirect Mode], it improves the goal scoring by some degree, on some aerial training packs, it scores quite a lot of the times. It is still not frame-to-frame perfect, but in Rocket League, even a small difference in the error like 5 unreal units, will produce a different outcome from the desired target. This is the nature of a physics based game and having to create such predictive controllers, unfortunately.
The next on the list is a new [Auto Boost] method which is more accurate at determining when to boosts. It also allows for better feather boosting which incorporates the car's capabilities
I have added a new [Intersection Type - 6] calculation method for testing, which incorporates additional car physics into finding the best hit on the ball's trajectory. As well as a new ground intercepting logic.
Then there's various other changes, improvements, fixes, optimizations as well as suggestions from the users added that I haven't included in this post.
With all of those changes, now I have to look into perfecting the [Ball Prediction] so all of it will come nicely together.
Now due to all of these changes, a lot of things need to be reworked, reorganized or even changed/removed. And sometimes a new issue pops up which also needs to be looked into. For example, I've noticed that some controller mappings are creating fast on and off inputs to the actual tool, which will turn on and off certain features, which will make some of the bots have different outputs. I haven't confirmed this as of yet, but it's definitely a possible issue.
When a feature is being created, a lot of the time that goes into it is also for testing and tweaking it. This is a very tedious and time consuming process unfortunately,
And that is the reason why I cannot approximate or give an exact date for when it will be released, but when it's nearing the finish line, I will announce a release date. The V4 will be a new base version, where future updates and changes will be built upon, so that's why it's taking me a while.
Thank you for reading and having patience with me and my learning/working process, as well as supporting me all this time. You guys are great.