Loading the maps is fairly easy, after saving it as an SC you can do DIM MAP[0] FOR I=0 TO 3 LOAD "DAT:SC_(MAPNAME)_L"+STR$(I),MAP BGLOAD I,MAP NEXT To get what is at a certain point in a BG screen, you can do BGGET(layer,x,y). If you store a player's X and Y with the variables X and Y, you can say something like IF BGGET(1,X,Y)==(GRASS BGNUMBER) THEN SPEED=.5