I got effects like that when using lcd_bitmap_part() with an incorrect "stride" parameter value, and I found this:
Note: sliding_puzzle.bmp should be evenly divisible by SPOTS_X and SPOTS_Y, otherwise lcd_bitmap_part stride won't be correct
SPOTS_X and SPOTS_Y are both 4 on the Nano.
EDIT: It's expecting a
min(LCD_HEIGHT,LCD_WIDTH) pixels wide image.
I put a fix up
here.
EDIT: pixelma is going to do a proper fix for this as well as fixing another bug and prettying up the score box.