I feel like this topic has been brought up several times before, but it's always a good discussion. How robust is the "architecture" of a modern pinball machine's software framework? I'm talking like the intelligence of the programming that goes into things like ball searches, bad switch compensation, solenoid failure detection, and so forth?
An example, and something that always grind my gears, is if I'm playing a game with a bad switch trough (or maybe an operator installed one too many balls), and the game spits out 2 balls into the shooter lane. It seems that 99.9% of modern games have a shooter lane switch at it's base, so why can't the software recognize that a ball has been properly served to the shooter lane when a ball is ejected, and then use the shooter lane switch to compensate, and ignore a faulty trough switch?