update particle engine