Z tym chodzeniem za graczem, to bym zrobił, tak:
GML (Draw)
draw_sprite_ext( sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha )
// jeżeli obiekt ma sprite.
x = view_xview
y = view_yview
A z tym drugim problemem to," helath " nie może przekraczać wartości 100 i dlatego zaczyna Ci odejmować życie, dopiero jeżeli wartość zacznie wynosi właśnie 100. Najprościej będzie jak po prostu zmienisz wartość 500 na 100.