particle system, event loop