Added frame-based particle generation