One of my students was doing pixel perfect collisions with Sprites and found what may be a bug. pygame.mask.from_surface seemed to return an empty mask when everything on a surface is opaque. In this situation rectangle collisions made more sense but I am still curious why pygame.mask.from_surface is behaving this way. I quickly dug through the source and nothing popped out as the cause.