About storing map data, I agree that the initial data should probably bee in the app, then yuo can copy it out when a new game is started. Also, you shouldn't copy the whole map. You just need to copy the parts that can change, whether changed or not. Then, when you run through the map to load it, and encounter a tile that CAN change, you check for the changed value in the level data. It would save at least a couple of bytes.