ah, I get you
It would be quite straightforward to add an inner lane changing method - effectively the reverse look to what the outer lane check is doing. It might affect the real time performance a little but it is definitely worth trying
The bunching is currently based on the (hardcoded) speed of the particle at the front of each lane so it might not actually happen in a simulation. When the curve is created (using 'chord length' then this gives an overall length which the calculations use. If the default curve setting 'uniform' is used the it sets the length of the curve as 0 to 1 (instead of say 0 to 46.5 units) and this makes the vehicles speed up and slow down based on the distance between points. Once its all working I'll experiment with the uniform option so that effect becomes part of the system.
I was toying about with the requirement for some vehicles to want to leave the road at certain exits. This would be pretty similar to the opposite lane changing by adding a random 'get off at the next exit' variable. If 'on' then it keeps checking the distance to the exit and keep attempting to move to the inner lanes till it gets there, even if it started out as an outer lane speed maniac
Si