The Check If and Set Max do, in fact, iterate sequentially through the entire collection of clones. As collection is iterated, each clone/value that set a new max thinks it had the max value (those that turned red). So a 2nd Check is required (to recheck those values compared to the final value of Max) to get only the clone with the true max value to respond (turn green)
After I tested calculating factorials, this project is more complicated than required to calculate the factorials. It's just the understanding of the code execution timing (the fact that all clones are executing the block of each frame in series) that I wanted to highlight.
Factorial calculation is more like the 1st array project from above where only one object can access the array (or function in this case) at a time. Even precalculating the factorial results and putting those results into an array where element(n) holds the value of factorial(n) would still yield the same one-at-a-time access result.
The 2nd method can't be used since the factorial result has too many digits to be multiplexed.
What's the largest n that you need to calculate factorial of? And how many is "hundreds of clones"? I've one more thought that might allow for concurrent factorial calculation, but only if n x Number_of_clones < 4096 - Number_of_clones