Yet another generic SHMUP...