Hi everybody, I want to show you my new racing AI package: Pro Racing AI
Before developing my own AI package, I tried all the racing AI packages available in the Unity Asset Store and none of them fit my needs for my upcoming iOS racing game: I was looking for an AI package that worked out of the box with complex vehicle physics simulations (such as Edy’s Vehicle Physics or UnityCar) and was fast enough to challenge the player in all my tracks. There was a product that did a really good job in fast tracks with long straights and fast corners, but it wasn’t up to my expectations in tracks with short straights and lots of chicanes and slow 180-degrees turns.
As I wasn’t satisfied with any of the existing products, I started to develop my own AI solution a couple of months ago. At the beginning I started to develop this AI package for my own personal use, but after talking with several forum members, I decided to polish it a little more and start selling it in the Asset Store. Currently it’s in an alpha status, but I think it’s already good enough to make its first public appearance:
WEB PLAYER:
http://ProRacingAI.com/Demos
IMAGE GALLERY:
http://ProRacingAI.com/gallery1
I’ll continue improving the AI and finishing the website during the next month and I would expect to release the first public version in mid-to-end of October, but I wanted to hear some feedback from the community, see if people would be interested in a product like this or the features you will want to see in the final version…
FEATURES IMPLEMENTED IN THE CURRENT VERSION:
- It works with Unity Free and Unity Pro.
- It has been tested successfully with asphalt and dirt tracks, even in tracks with HUGE JUMPS.
- It supports out of the box and with zero coding Edy’s Vehicle Physics, UnityCar and the official Unity Car Tutorial.
- It uses advanced spline tools to model the ideal racing line, the track limits and the distance to the walls outside the track.
- You can divide the track into different sectors and tweak the parameters for each sector separately to create a more challenging AI.
- You can define a different racing line, aggressiveness and skill level for each AI controlled vehicle.
- The track information can be saved / loaded from an external JSON file.
FEATURES THAT WILL BE IMPLEMENTED DURING THE BRANCH 0.x:
- Basic obstacle avoidance / overtaking behavior.
- Counter-steering maneuvers to avoid excessive drifting.
- Advanced crash-recovering maneuvers (in case the AI crash with another vehicle).
- Machine Learning: instead of tweaking the sector parameters manually, leave the AI racing alone in a second computer and let it find out the optimal values for you.
FEATURES THAT WILL BE IMPLEMENTED DURING THE BRANCH 1.x:
- Optimizations for mobile devices ( remember I’m developing an iOS game
).
- Advanced obstacle avoidance / overtaking maneuvers.
- Allow the AI to choose randomly between several paths / racing lines at runtime. Each path will have a “weight” value indicating the probability of choosing that path. If all the path have the same “weight” value, the choice will be completely random.
OTHER FEATURES I WOULD LIKE TO IMPLEMENT AT SOME POINT (NO PROMISES):
- AI Manager: a class that would change dynamically the aggressiveness and skill level of each AI controlled vehicle depending on the player’s skills. As the AI speed will depend on player’s lap times, he will never feel again the “lonely racer” syndrome because the AI won’t be too fast nor too slow for the player.
- Easy Roads integration: create your track with Easy Roads and Pro Racing AI will generate the ideal racing line and retrieving all the track information for you. Does it sound good? That’s the reason why I want to implement this functionality at some point in the future…
//---------------------//
EDIT:
By the way, does anybody know how can I edit the Poll? I wanted to add several questions, but I don’t know if it’s possible… in case it’s not possible, there is another question that would be more important for me.