Quote: " as i use createsprite(loadimage("image.png")) for every tile"
That certainly explains your level loading times... You do not want to load the image every time you create a sprite, this is unnecessary... Instead, consider loading all your media before the Do/Loop and assigning your media to variables. You then use these variables when creating sprites... This means your media is only ever loaded once, and you never need to delete them, just keep reusing the same variables over and over... I honestly think this will resolve all your crashing issues...
For example, my set up would be something like this;
global Tile_Img
global Tile_Spr[50]
global LoadLevel = 1
Tile_Img = LoadImage("Tile.png")
do
if LoadLevel = 1
for i=1 TO 50
Tile_Spr[i] = CreateSprite(Tile_Img) // Notice how I am creating 50 sprites, and have only loaded the image once prior to my Do/Loop
SetSpritePosition(Tile_Spr[i], x, y)
next i
LoadLevel = 0
end if
Sync()
loop
Using AppGameKit V2 Tier 1