> There's a built in save feature, and i think it's supposed to work quite well, but check the bugtracker. I've had poblems with it in the past.
In some of my own tests, I've found that it tends to load layouts with very few assets quite well, but when you get into layouts with a lot of on-screen assets it has trouble. In my own case, save and load has actually caused the game to malfunction completely in very strange glitchy ways.
I haven't ever used the built-in save feature myself (I have used INI's like Jayjay mentioned though), but would it be possible to have a very small, bare-bones save screen layout to save and load from at runtime?
Like, you hit pause and transition to a separate save/load layout with a simple UI. Hit the save button, and it stores all the globals you need. Hit the load button to load them. Then you can transition to whatever level is stored in your "currentLevel" global or whatever, and populate any scores, powerups, stats, or whatever with your other globals. Would that be one way around the lots-of-assets-to-load problem?
By the way, if you are using INI's to build levels (by saving the size and position of platforms and enemies, for instance), then it is possible to store those in the game itself with simple hidden text objects by useing the Text Manipulator and the File objects.
On level load, you read the INI file information stored in the text object.
Use the Text Manipulator to save that text information to a temporary INI file in the game directory.
Use the INI object to read the info from the file you just created and do your level building loop.
Use the File object to delete the INI file.
This can all be done in one tick, seamlessly. In fact I'm not even certain that it writes an actual file to the drive because it's being created, stored in memory, used, and deleted all in one fell swoop before Windows has a chance to process the write command. Anyway, this is how I did dynamic level loading for my game Vert, which only uses one layout for the entire game (even though there are only two levels ).
Of course, with Rojo's new Resource plugin you can just store whatever INI files you want in the .exe itself without any fancy tricks like this, I'm just saying. Well, obviously you can't CHANGE the contents of an INI stored in the exe, but you can save basic level building data.