player generates events