Pretty cool simulation. I'll admit I was a little lost at first and had to go back and read about each component and how they work. I think a little guide to get started wouldn't be a bad idea, but it's really only because you coded something so complex, which is perfect for a simulation, so nice job!