There are other ways to do it , example: on start of layout when creating the sprites create a fake sprite too , when the sprites are destroyed on touch ,dont destroy the fakes , the new sprites will be created on whatever position and them will be set to a new position to the (random) fake sprite that are not overlapping any sprite , ( is empty ) so you can make a condition like: if sprite is overlapping a fake sprite , fake sprite set instance variable to full else empty , I Think I already have done a tutorial about it , check my page and look for complete games construct.net/en/tutorials/construct-tutorials-2525