@blizz
I can do some testing, if you would like. The map I have been using for testing this script is somewhat large, though I'm sure there will be larger maps in most people's games. I have a method I made for testing efficiency, which can log the number of miliseconds a method takes to execute. It's not perfect, but it will usually get you in the ballpark.
I know I am walking a thin line with the memory. This is actually about the third version. I was torn trying to delegate on when to make sacrifices to on-the-fly processing, and when to do it to RAM. This version is pretty close to what the final version will be. I do have one question with regards to loading the cached data. Would it be more efficient to load the entire hash when the game is loaded and reference it only the key I need for the map, or not load any of it, and only load the values of the hash for the map on the fly when the map is created. I really don't know how efficient the method is to open a file and Marshal load it, so I wanted to stay clear of constantly loading data this way every time a new map is encountered.
The reason for the files was to drastically reduce the number of iterations needed to be done at run-time, which I think could help with any lag issues due to a larger map.
One more question, in ABSEAL, how did you come up with the value of 1600 for the sprite size. I want to also include an aliased method in the final version that will resize the sprite accordingly for the defined resolution if ABSEAL or BABS is being used.
EDIT:
TEST MAP SIZE: 1024 x 576
Okay, after some testing, here are the results. The average time a map takes to initialize is 0.320 with this script, and only 0.070 without it. This is definitely something I need to look into. The average update time is dead even, both ending with an average time of 0.025 after 400 updates (Graphics.update included).
I'm relatively pleased with the results. Although the initialization timing is longer (still only 1/3 of a second), I did manage to keep the update method the same, which is far more important. This basically means that once the map is loaded, no sacrifice is being made updating a screen 192% larger.