Excellent graphic, though pedestrians make it a little more complicated. CO would have to make it so that depending on the width of the street, the through movements would have minimum green time for people to cross the street. Then there is T-intersections, where one street has only left or right turn traffic movements with conflicting pedestrians. Pedestrian phase control is also really important when talking about transfer points. I suspect this why CO just used a single dedicated Ped phase for all crossings, which for practical purposes, is fine if they leave it that way in future games.
Well, you could tie the pedestrian crossings to pattern numbers. The most important aspect is to keep this system simple. Both engine wise and UI wise. For instance, overlapping traffic lights would not possible. I know several lights (in real life) where one starts before another ends, this is too complicated to have in the game.
The pattern number system also help with junctions with more than 4 roads meeting, where the third 'wheel' road could be assigned the number 3 and get its own time.
I am also wondering whether the same lanes/pedestrian crossings should be allowed in more than one pattern number. For instance, you might want to keep traffic flowing forward and to the left, while the opposing traffic is stopped, but you also want the opposing traffic flowing together with the current traffic. But I worry that might make a
bit too complicated.
One might be worried about performance:
If the game allows for unique patterns and cycles for each junction, won't that make the game slow to a crawl monitoring all the differences in such a large city you could potentially build?
While it might be possible to manage that simulation alone on modern hardware, its combination with other performance heavy simulation makes it a significant burden, that would be seen as not worth it.
But this is where C:S' underlying simulation comes in. C:S doesn't have to actually making cars drive through each junction the player isn't looking at or monitoring. Instead, it uses the traffic light patterns to thoroughly judge where the traffic flows smoother. A decent path finding simulation algorithm would be able to simulate the general traffic flow of a city without a huge performance hit. And it would likely also make it more accurate than trying to fully simulate it (because there is a larger risk for error).