A way to fix the AI "rubber banding"?

  • Thread starter Thread starter ironman44321
  • 27 comments
  • 8,543 views
Messages
1,033
This is an idea I've been mulling over for a bit and I wanted to get peoples feedback and input. If this belongs in another thread please let me know and I'll move it there.

It seems to me that the rubber band effect we get with the AI in GT6 is a side effect of the game trying to read and then adapt to the pace of the player to try and give everyone a "close" race. The issue this causes of course is that the AI is wildly inconsistent with the speed and skill of the AI changing constantly throughout the race.

But! I think the AI can be fixed fairly easily. Give the AI a "memory". The biggest problem that I've noticed is that the AI needs to try and "read you" every race which means you always have the awful rubber banding. By simply making it so that the AI remembers how fast you are it could simply start at a difficulty setting that would provide each player with a good race. The game could also keep learning your speed so that as you improve the AI improves with you.

Now, there is still the issue of the AI just being too slow for some players (thanks @Imari ) but as far as I know (which when it comes to this sort of thing is admittedly not much) that's just a matter of turning them up.

On top of giving them a memory I think it would be a good idea to let you adjust the difficulty beyond that. Having a two way slider where 0 is the games "learned" difficulty you could move it down for an easier race or up if you want to be pushed a little harder.

So what do you guys think? love it? Hate it? Having something to add? Let me know.
 
Adaptive AI?

It's been tried in a few games, FM4 career mode and Shift 2 off the top of my head. It works reasonably well.

Say the AI starts at setting 5. If you win by miles, it bumps up to 7. If you lose by miles, it drops to 3. Repeat as necessary. Eventually you end up bouncing around slightly above and below your "true" setting, which means that some of your races will be a little too easy (nice, everyone feels good when they win!) and some will be a little too hard (nice, gotta push to get better!).

I think it's a good idea. You can experiment with it yourself with any game that has reasonably fine control of it's AI difficulty, like pCARS. It's good to also have the ability to "lock" the difficulty onto a player determined setting, for those people who want a challenge (or are just masochists). But as a default setting, I think you could do a lot worse than have the game try to select the right difficulty in this way.

The key concept that separates this from rubber banding is that difficulty is only changed between races. Once you're in race, the AI is set and that's what you get. It doesn't slow down or speed up for you. But it will slow down or speed up for you next race, if that's what's needed.
 
Adaptive AI?

It's been tried in a few games, FM4 career mode and Shift 2 off the top of my head. It works reasonably well.

Say the AI starts at setting 5. If you win by miles, it bumps up to 7. If you lose by miles, it drops to 3. Repeat as necessary. Eventually you end up bouncing around slightly above and below your "true" setting, which means that some of your races will be a little too easy (nice, everyone feels good when they win!) and some will be a little too hard (nice, gotta push to get better!).

I think it's a good idea. You can experiment with it yourself with any game that has reasonably fine control of it's AI difficulty, like pCARS. It's good to also have the ability to "lock" the difficulty onto a player determined setting, for those people who want a challenge (or are just masochists). But as a default setting, I think you could do a lot worse than have the game try to select the right difficulty in this way.

The key concept that separates this from rubber banding is that difficulty is only changed between races. Once you're in race, the AI is set and that's what you get. It doesn't slow down or speed up for you. But it will slow down or speed up for you next race, if that's what's needed.


I find it both pretty interesting and a little depressing that the AI in GT6 is just a few small changes away from being really good now that I'm thinking about it. Now, I don't know if these changes are even possible without significant changes to the code or more power but it's interesting for me to have come to the realization that the AI in the GT series wouldn't need to be totally scrapped to be made workable.

Edit: Giving the player a designated "level" could also make B-spec more interesting. You could have your Bob be at the same level as you which would mean that as you improve so does your Bob...Just a little thought that popped into my head.
 
Last edited:
Its a good idea but the gaps between cars at the start of a race would have to be tweaked. If it was still a 20 second gap the AI would still have to slow a lot to let you catch up. But if during the rolling starts you could see the guy 1st maybe 8-10 seconds in front its a great idea.
 
Its a good idea but the gaps between cars at the start of a race would have to be tweaked. If it was still a 20 second gap the AI would still have to slow a lot to let you catch up. But if during the rolling starts you could see the guy 1st maybe 8-10 seconds in front its a great idea.

If they did change the AI they'd have to have qualifying and tighten up the rolling starts by a lot. Actually standing starts would be best but to my understanding they are too taxing on the system.
 
I find it both pretty interesting and a little depressing that the AI in GT6 is just a few small changes away from being really good now that I'm thinking about it. Now, I don't know if these changes are even possible without significant changes to the code or more power but it's interesting for me to have come to the realization that the AI in the GT series wouldn't need to be totally scrapped to be made workable.

I agree. I've thought for a while that the AI in GT5/6 could be made very good with no changes to the actual code, just changes to how it is implemented in races.

It's pretty good AI, it's just used very badly. Just as a great physics system can be ruined by putting the wrong numbers in.

Its a good idea but the gaps between cars at the start of a race would have to be tweaked. If it was still a 20 second gap the AI would still have to slow a lot to let you catch up. But if during the rolling starts you could see the guy 1st maybe 8-10 seconds in front its a great idea.

Yes, well. If the aim is to have AI that goes wheel to wheel with the player, then it goes without saying that they need to start within striking distance.

Optimum situation is standing starts. Acceptable situation is double file nose to tail rolling starts, although I feel that those do away with a lot of nice opportunities for the player to demonstrate their skill.

Unfortunately, I think it's a bit of a perfect storm of design cock-ups.

-The graphics are far beyond what the hardware is capable of, so they have to make sure that the cars are well spaced out at all times. Basically, no standing starts or close rolling starts.
-The races are all short, short, short.
-Because they need to have these long distance rolling starts and the races are short, they have to make the AI incompetent so that the player has a chance to catch up.

Easy solutions:
-Turn down the graphics. GT5P looked plenty good enough. Cheap and easy solution: Make the AI always use standard cars.
-Player modifiable race lengths. Grid: Autosport got this right; a setting for 1x/2x/3x/5x race length.
-Standing starts as standard, except where it doesn't make sense for RL reasons (eg. NASCAR). Qualifying preferred, but otherwise the player can either start mid-pack or in PP order.
-ironman's adaptive AI solution. I'm as certain as I can be without seeing the code that it can be done with the existing AI.

Bingo bango, a much more engrossing racing experience, with very few parts of the game modified.
 
I agree. I've thought for a while that the AI in GT5/6 could be made very good with no changes to the actual code, just changes to how it is implemented in races.

It's pretty good AI, it's just used very badly. Just as a great physics system can be ruined by putting the wrong numbers in.



Yes, well. If the aim is to have AI that goes wheel to wheel with the player, then it goes without saying that they need to start within striking distance.

Optimum situation is standing starts. Acceptable situation is double file nose to tail rolling starts, although I feel that those do away with a lot of nice opportunities for the player to demonstrate their skill.

Unfortunately, I think it's a bit of a perfect storm of design cock-ups.

-The graphics are far beyond what the hardware is capable of, so they have to make sure that the cars are well spaced out at all times. Basically, no standing starts or close rolling starts.
-The races are all short, short, short.
-Because they need to have these long distance rolling starts and the races are short, they have to make the AI incompetent so that the player has a chance to catch up.

Easy solutions:
-Turn down the graphics. GT5P looked plenty good enough. Cheap and easy solution: Make the AI always use standard cars.
-Player modifiable race lengths. Grid: Autosport got this right; a setting for 1x/2x/3x/5x race length.
-Standing starts as standard, except where it doesn't make sense for RL reasons (eg. NASCAR). Qualifying preferred, but otherwise the player can either start mid-pack or in PP order.
-ironman's adaptive AI solution. I'm as certain as I can be without seeing the code that it can be done with the existing AI.

Bingo bango, a much more engrossing racing experience, with very few parts of the game modified.

And people got all upset with the idea of a version of GT6 on the PS4. Given the extra power this would be easily doable.

As for the PS3 version, people would freak out if the dropped the graphics to implement this. Remember how angry people were over the smoke when they wanted to improve the framerate? If they had built it in from the beginning than maybe, but it's too late now I think.

How about just a slider?

That would be fine I guess but then you'd have to sort of fine tune the difficulty yourself and change it as you got better. The adaptive AI would be easy enough to implement and would be better overall.
 
And people got all upset with the idea of a version of GT6 on the PS4. Given the extra power this would be easily doable.

I don't think it's even a hardware power thing. It's simply figuring out a way to make a series of "levels" of AI, which they can clearly do already to some extent, and there's more ways to do it by modifying the grip and power levels of the car that the AI has available. And storing a value for the player "setting", and a quick analysis at race end of the player's position and how to modify the player "setting".

None of which requires substantial computing power, I could probably do it with pencil and paper.

How about just a slider?

Is a necessary thing too, but PD seem to like user-friendliness. And rightly so, it's nice to have things that just work.

Given how simple it is to set up I think it's worthwhile to at least look at an adaptive solution like this. It requires a bit of tuning for how much it adapts so that it finds the right value and stays close to it, instead of bouncing from one end of the scale to the other. But that data should probably make itself available during beta testing, and they could probably get data that would be usable for basic tuning from the GT5 career mode race data (not GT6, the rubber banding throws it off too much).
 
I did play Forza 4 a lot which had an adaptive AI. The better your race the harder the AI will be in the next race.

But even with the hardest settings the AI was still way too slow in Forza 4. On average the fastest AI lap times was about 15% slower then the leaderboard top time - on every track, in every car class!

Of course Forza 4 did use standing starts and - by preset - almost similar PP-classes (all cars come "tuned" to almost the same PP-level, but you could deactivate that feature).

And about the inability of standing starts in GT6: Why is it working in all Cart-races and the Red Bull Races?
 
But even with the hardest settings the AI was still way too slow in Forza 4. On average the fastest AI lap times was about 15% slower then the leaderboard top time - on every track, in every car class!

Personally, I don't think that's too bad.

In the higher level classes, like R2/R1/X, without traction control or any other assists I find it pretty difficult to complete race distance without making a mistake. I'm generally about top 10% of leaderboards if I practise a little bit. I find the top level of difficulty in Forza to be acceptable, I generally smash the lower level classes, have good races around B/A/S, and have trouble with the higher ones.

That 80~90% of people would find it more difficult than me...I think that's pretty OK. That's 80+% of people who can find within the available difficulty levels something that is suitable for them. Not perfect, but not too bad.


As an aside, I jumped on an AI race in pCARS the other night, something that I hadn't done for a while. They absolutely DESTROYED me. Caterham R500 on Oulton Park, which I know but not well. I expected to finish behind, because I hadn't driven that car for a few months and it's undergone some physics changes, but it's still basically nice to drive. The gap from first to next to last was maybe 30 seconds-ish. I was dead last, by a lap and a half in a five lap race.

AI is :censored:ing good in pCARS. I need to turn it down to a level where I actually have half a chance.

I did play Forza 4 a lot which had an adaptive AI. The better your race the harder the AI will be in the next race.

But even with the hardest settings the AI was still way too slow in Forza 4. On average the fastest AI lap times was about 15% slower then the leaderboard top time - on every track, in every car class!

Of course Forza 4 did use standing starts and - by preset - almost similar PP-classes (all cars come "tuned" to almost the same PP-level, but you could deactivate that feature).

And about the inability of standing starts in GT6: Why is it working in all Cart-races and the Red Bull Races?

I suspect that the duplication of car models leavens the load on the graphics system. I suspect it's not so much polys on screen that kills it, as it is unique models and textures. That's just my feeling from what I've observed of when it has problems though, I couldn't prove it.
 
Isn't adaptive AI essentially the same as rubber banding, just over a longer period of time?

While I agree it would probably be better, like mentioned, I think the main problem is that the AI would still be too slow for a good portion of people. If there's any AI I'd like to have copied over from another game, it would be one of the official F1 games. Though not unbeatable even on max settings, the AI there are still respectably fast and drive next to the player like they have some balls between their legs for the most part, and they're not afraid of making a pass.
 
I suspect that the duplication of car models leavens the load on the graphics system. I suspect it's not so much polys on screen that kills it, as it is unique models and textures. That's just my feeling from what I've observed of when it has problems though, I couldn't prove it.

That is a good explanation. I dont have any problems driving against similar cars (with different colors) when that is the only way to have standing starts. But of course the AI has to be able to give me a decent challenge. But as far as I remember the Red Bull races were pretty hard to win - just way too short for me.

But back to the topic of rubberbanding: There is already a solution for that in GT6 by driving in arcade mode with infinite laps. But of course that is pretty frustrating as you can never win a race like that.
 
Isn't adaptive AI essentially the same as rubber banding, just over a longer period of time?

Yes and no.

The AI strength varies from race to race. It doesn't vary within a race.

Which means when you get a win you know that you won through skill, not through the AI slowing down for you.

Ultimately, AI strength doesn't vary that much if adaptive AI is done right. The variation from race to race should be small.

But back to the topic of rubberbanding: There is already a solution for that in GT6 by driving in arcade mode with infinite laps. But of course that is pretty frustrating as you can never win a race like that.

It's a solution, but it's only one difficulty "level". If your driving skill doesn't match that of the AI, you have to detune/uptune your car to suit, and all the fiddling around with PP that is required to get that to work in arcade mode. Not to mention the time needed to be spend to figure out the correct PP level to get a good race.

It's pretty awkward and clumsy, and it's time that really should be spent by the developers making a system that is easy to use.

For all the trouble it takes, I just go play something else instead. If you're Polyphony, I'm pretty sure the plan is not to drive your players to go play something else because it's easier than making your game work properly.
 
It's a solution, but it's only one difficulty "level". If your driving skill doesn't match that of the AI, you have to detune/uptune your car to suit, and all the fiddling around with PP that is required to get that to work in arcade mode. Not to mention the time needed to be spend to figure out the correct PP level to get a good race.

Arcade mode gives you 3 difficulty levels for AI and the slider for AI aggressivness (1-10). So lots of options to choose.

But even on the hardest possible settings AI is still very slow in GT because you have no influence at all on the cars you are racing against. Some say that it helps to enter a race with better tires (forcing the AI to do the same) and than switch to poorer tires just before the start of the race. But I didnt see any changes in lap times with this strategy.
 
It would seem as a first step, timing & race should start at the start/finish of the pole position for all participants. Then there would be only a small built in gap to make up. If there were a tightening of the field grid, that would reduce the gap a bit more. It would also establish a uniform first lap time vs the current mess with the pole having a wildly low first lap time.

Equal application of driving penalties would also go a long way to evening up the experience.
 
Arcade mode gives you 3 difficulty levels for AI and the slider for AI aggressivness (1-10). So lots of options to choose.

Sort of. I'd be surprised if max difficulty covers 50% of players.

If you're in the bottom 50%, lots of options. If you're in the top 50%, one option.

You're right though, I admit that I often make the mistake of thinking that there aren't any more options when in fact there are, they're just all equally useless for me. Not necessarily for others though.

But even on the hardest possible settings AI is still very slow in GT because you have no influence at all on the cars you are racing against. Some say that it helps to enter a race with better tires (forcing the AI to do the same) and than switch to poorer tires just before the start of the race. But I didnt see any changes in lap times with this strategy.

That's the only way I know of to modify the difficulty upwards of what is available already, and I admit that I haven't experimented with it extensively. Because why bother when I can just play something else? GT6 is not such an amazing game that it's worth spending substantial time trying to make it work over anything else.
 
You would think that AI software get better and better throughout the years, but no, for PD everything is developed for the better, except for AI which is is moving backwards in time. GT6 is worse than ever! you can literally start last with something like a Peugeot 206 against the likes of Ferrari and Lamborghini, RUF's Corvettes, Fort GT, etc. After 2-3 laps you'll have taken the lead, taken 20 seconds on the car starting first, 7-8 seconds per lap, and when you get up to the lead, you cand get away from him, he'll overtake you on the straights, and you'll take it back in the corners, and on it goes... Usually you lose because the finish line is on a straight. stupid!
And if you start with something that is equally fast as the AI's, you'll lap them in 4-5 laps:grumpy:

AI is probably the least developed thing in the entire GT6, and any change is a good thing, because it cant get any worse.
 
I've given up worrying about AI. I just race myself and consider them obstacles to my best hot lap time. Life is easier that way. If the last lap is not my best lap then I consider it a loss regardless of which trophy PD awards me.
 
PD can't even consider better, non-rubberbanding AI until they implement qualifying and standing starts. Since that can't happen on PS3, I don't expect anything to change until PS4. Difficulty sliders + proper algorithmns so they drive like real people should be standard on the next-gen. Adaptive AI that's scalable would help a lot too.
 
After reading, and reading, and more reading... I think the best for PD to fix the AI in GT 6 (PS3version, because I can swear there is a PS4 version just for prototyping and I+D) is to implement a scripted AI ala The Last Of US, just putting a set of "mods" for every level or pool of races, for example: in the begginer races, the AI must be more aggressive and more prone to make mistakes, and at the IA or S race event, they should be agressive, but still carefull enough to know where you are and where it have a real chance to pass you without causing a colission of taking you out of the track.
To @Imari personally I don't think there isn't any need to downgrade the graphics to make it work, because as much as I know every premiun car in GT has the same amount of graphical tax (the same amount of polygons), so it the RBXC has 12 premiun cars, maybe that's the max premiun cars PS3 can handle, add to the mix some standar cars an we have the full grip.
It won't be easy; because PD will need to make lots of mods, to try to fill the gap between those that use just a controller and wanna have some fun, and those others guy that spend lots of money into a god racing racing wheel, a racing seat and wanna have a challenge, a real one; but it can be done
 
Problem is, you're asking for a fudge in a mathematical system that PD are trying to make as accurate as possible.

I think there are fundamental questions that need to be addressed, and to be technically accurate, the system needs to be addressed from the ground up. By suggesting a difficulty slider, you are suggesting that variables should be adjusted backwards from the end result. In essence, these two ideas are at opposite ends of the spectrum - though there is a good case for both.
 
Last edited:
I don't think it's even a hardware power thing. It's simply figuring out a way to make a series of "levels" of AI, which they can clearly do already to some extent, and there's more ways to do it by modifying the grip and power levels of the car that the AI has available. And storing a value for the player "setting", and a quick analysis at race end of the player's position and how to modify the player "setting".

None of which requires substantial computing power, I could probably do it with pencil and paper.

That's true but I will say that I'd rather have them leave the cars the AI are driving alone and just change how fast the AI can get them around the track, really just a personal preference though.

Yes and no.

The AI strength varies from race to race. It doesn't vary within a race.

Which means when you get a win you know that you won through skill, not through the AI slowing down for you.

Ultimately, AI strength doesn't vary that much if adaptive AI is done right. The variation from race to race should be small.

To add on to that, the way I pictured it working in my head would be using a rolling average so that one weirdly good or bad race wouldn't throw your difficulty out of whack.
 
Yeah, we need to have the gap between cars to be a lot closer. I've been crying out for standing starts for quite a while as it solves the issue of it basically being you against time, with a load of moving blocks in your way. With this idea of no rubber-banding, it creates that issue of just breezing past cars, which happens bad enough anyways.

If we do this, we need to have the time gap to be very small in order to achieve side by side racing. With the current 20/25 second gap, we would need to be 5 sec a lap faster than the opponents, which would mean that we would overtake them immediately, GT has implemented a process where the speed of the leader is changed causing us to somewhat find it difficult to overtake. If we were to get rid of this rubber banding effect, the gap would have to be reduced between each driver so that we don't breeze past them. I have never updated GT5 to make sure I didnt have to use rolling starts, it's just sooo boring!
 
You know, I have often had this thought: We can put a man on the moon and have all kinds of other technological breakthroughs in the world, what can be so damn hard in matching the AI to a certain players skill set, or even above. I'm no developer and know very little about what it takes to make a game, but I am sure that this problem could be solved by the people with the knowledge. Somebody enlighten me because I just fail to see what the issues could be in making a more intelligent AI. I mean, we got cars in real life that practically drive themselves nowadays, why can't a smarter, more competitive AI be accomplished, or at least be able to be adjusted in accordance with each individual player.
 
How come this hardware limitation theory keeps popping up when we have standing starts in the Red Bull events, and had some standing starts in GT5? These seemed to work out ok.
I don't know, I'm just parroting what I see elsewhere:lol: Maybe there's a reason it works in the Red Bull events or in certain events in GT5. Maybe it was a standard track? Maybe a grid of standard cars? Not sure.

You know, I have often had this thought: We can put a man on the moon and have all kinds of other technological breakthroughs in the world, what can be so damn hard in matching the AI to a certain players skill set, or even above. I'm no developer and know very little about what it takes to make a game, but I am sure that this problem could be solved by the people with the knowledge. Somebody enlighten me because I just fail to see what the issues could be in making a more intelligent AI. I mean, we got cars in real life that practically drive themselves nowadays, why can't a smarter, more competitive AI be accomplished, or at least be able to be adjusted in accordance with each individual player.
Funny thing is, the PS3 probably has more computing power than they had on the moon missions. I suspect you could use the PS3 to guide you to the moon, but if you had to simulate a premium moon and the Saturn V rocket to do the mission, you could do both, just not at the same time:lol:.
 
Here's a thought that cures most of the issue(s): Use current code to make the game better.

Explanation:
The game has B-spec (at least from GT5, presumably is available for GT6) that allows a driver to run a car ~100% in simulation and we see it in some A-spec events (at times, not many). The game has a decent door-to-door AI, meaning the AI acts fairly properly when it catches you, you catch it, or you're side by side. The game has PP limits. The game has penalties.

When there is a PP limit, it stands to reason the game chooses (or is chosen by PD) the opponents with a 10-20% PP range deviation from the top PP. The AI can give you a run for the money when you're close (most times) with equal cars and conditions.

Force on the penalties (corner cutting, collision), consider damage (mechanical--- might need tweaking), utilize the PP limitations (and the PP differential bonus), use the current AI door-to-door mechanics, and most importantly...

Turn the AI up to 100%. Let the cars decide... not a ridiculous AI algorithm. If I wanted to race against Flawed John or Super Jane, I'd go into an online lobby. In A-Spec, I want 100%.

Here's how it works for all levels:
PP Limit=600. AI max is 570 (95%). For every 5% below 95%, you earn a 10-25% bonus. A 600PP car in the hand of an inexperienced player can usually beat a 570PP. A seasoned veteran can kill the 570PP with a 540PP (most times).

Furthermore... if you want to make the "rabbit chase" scenarios: Give it as such, make it a catchup scenario. You have worn tires, need to pit... or you had a bad pitstop... you choose it. You're 25 seconds behind with 10 laps and superior tires... I'm sure they can make up a good story. This is similar to GT4's mission races. Those were the days (sorry, some reminiscing).
 
Back