But eh, why would I have to change a part of the map? Every part of the map is completely done.
That counts for overworld,dungeons, houses and cave maps. and tracking object locations, thats not a problem at all, considering I dont use views so each part is a new room there isn't that much space where an object can be.
Your game isn't finished. Isn't it? Don't rule out that things can change or unless you're going to ship the project with mistakes. But even still, you're storing data redundantly causing more overhead than what there should've been. One tileset could cover an entire overworld. With your approach, for each section of the overworld you have split up, it will take more than double the amount of resources to draw the same exact thing. How do I know this? Its just common sense. A small array of 16x16 tiles is significantly smaller than an array of " 128 x 160 pixels ". Jeez, I sound like a bad translation now.
And about the memory problem, you got to have a very crappy pc/laptop if its memory can't handle this game. As I've said this project is rather old already and with 400 rooms walking in and out them, loading more and more backgrounds I didnt experience problems when testing it on a 9 year old pc.
Oh I'm sure you'll cause some GPU drivers to flip out. I'm specifically pointing to the AMD/Intel department here because as I recall, three projects from this site has caused my machines to crash and they utilized a method very similar to yours. A little debugging pointed that the fault was at the driver not managing the memory right.
( an efficient engine is a small engine, so yes the size of the executable does matter )
No, no, no, no. You're using GameMaker. It was designed for rapid development and honestly, wasn't really designed with efficiency in mind. Just look at its alternatives: Java and C#. I would rather see people take those any day. You want to worry about the size of executable? Go native and manage your resources yourself. Also, just out of curiosity, how much RAM does your game consume when it runs? I'm assuming a lot because of GameMaker's loader storing the GMK in memory at runtime, among other things.
Trust me man. If your method was more efficient, game developers would've taken your approach a looooonnng time ago. This has been a problem that still is visited today and innovation continues. i.e. ID's megatexture technology. Sure, it applies to a 3D Game Engine, but my point still stands: your method is
not efficient as you claim. Though you are right that a small executable is efficient in the distribution sense. Less bandwidth required to distribute it, I guess.. but that's negligible in comparison to RAM and VRAM or CPU/GPU bottlenecks.
EDIT: By the way, where is your fan game anyways? O_o I'm actually rather curious to try it out. But I'm gonna shut up about the whole efficiency thing. Cause it really is your project.
And you could've used a batch script to convert all of the files for you(or unless you hand-tuned them all?) to speed up the process of conversion, rather than spending 4 hours doing it. :S I wish I would've saw this earlier cause I could've helped you there.
EDIT 2: Nvm, found it. ;p