added a way to simulate n ticks
gave simulation threads their own rngs