Hello, hello, I had a pause system with the screenshot stuff drawing on the screen but it seems the surface system can have a better result for my game. Right now, I managed to create a new surface where I copy/paste the application surface on it when I pause the game but there is a problem with the sprites that have an alpha lower than 1. When I pause the game, the sprites with an alpha equal to 1 are perfectly drawn and still have an alpha equal to 1. But the sprites with alpha lower than 1 have their alpha even lower, they become even more transparent. So what I want to do is either having everything at alpha = 1 then I will have a black screen with alpha 0.5 to create a fake transparency or having directly every sprite at alpha = 0.5. Most of the threads on this problem are talking about GMS 1.4 (I have GMS2) so a lot of things are irrelevant for me and so far I can't find a solution to solve this problem. For the code, when I press Esc, a oPause object is created with this in the create event: Code: pauseSurface = surface_create(room_width, room_height) surface_set_target(pauseSurface) surface_reset_target() surface_copy(pauseSurface,0,0, application_surface) instance_deactivate_all(true); and in the draw event I have: Code: "draw_surface(pauseSurface, 0, 0)" So here I am again, asking for help to resolve something far too complex for my brain.