Got to B-Spec level 40 yesterday and finished the last 24 hour race today, and got final confirmation, (as if it was needed) that GT5 was designed by idiots.
1) Why give the highest EXP payout, on a race that has a level cap, which you MUST reach, to do the last race? They might as well have given 1,000,000,000,000 EXP points, because it still would have been worth 0. It's not rocket science to say:-
if (race == finalBspecRace){
//Do not show experience dialog, as it is no longer required, because you've hit the level cap
} else {
// Show the EXP dialog, and give the player some experience
}
2) I also got 2 cars for my troubles. The FGT, which I already had to buy for the FGT championship... duh, and the McLaren MP4-12C ‘10, which I have had for a massive amount of time in the game... double-duh!
And again:-
if (giftCar== alreadyInGarage){
//Give a different gift car that isn't in the players garage
}
But you can ensure that the gift cars are under the game's control, by not allowing them to be cars that are available in the dealerships. If you can't buy them, then only the game can give them to you, thus you should never end up with duplicates.
These are supposedly, long term, experienced game developers, making absolute junior game designer errors, in an "allegedly" AAA title.