add game life loop