So I want to make so when my player moves through an object and there will be a circle around him that will "delete" part of the sprite of the other object. I have done that with light but it was for the whole room and the surface created was with the size of the room and it was moving with the view. I want to make the surface to be drawn on top of the sprite of the object and move with the view. To summarize I want the surface to be always on the object I want to hide parts of. Here is the code: DRAW EVENT of Object I want to hide parts of: Code: size = 100; surface_set_target(surfacewithmask); draw_sprite(sprite_index,0,0,0); draw_set_blend_mode(bm_subtract); draw_set_colour(c_black); draw_circle(mouse_x,mouse_y,30,false); draw_set_blend_mode(bm_normal); surface_reset_target(); draw_surface(surfacewithmask,view_xview,view_yview); The problem is that when I mouse over the object it does not hide it. It hides parts of the object when I mouse over on a totally different coordinates. Any help is appreciated!