Tricks to decrease the loading time. Do tell.
I mainly meant this:
http://glog.yoyogames.com/?p=399Though I'm fairly certain you know all of that already, Martijn.
The trick is to make the player feel like the game loads fast by opening the game up quickly (as opposed to making them wait 10+ seconds for a stupid loading bar), while the game is actually "smart loading" at various points within the game and during the splash screens. You will always want to do in-game loading to some extent. Just be creative and discreet with your loading. The pros do it all the time by having tons of loading going on behind the start up sequences of splash screens, within the menu transitions, in various in-game transitions, etc.
To load my game as fast as I know how, I'm going to keep the executable as small as possible, loading all my sounds, music, sprites, tiles, EVERYTHING (practically) as an external source. And I'm already using encryption for save files, so I can do it with all my other external resources if need be. I've already tested it with PNG files and it works perfectly, and it will still be faster than to have everything compressed within the game maker executable because of how horrible the process is that it has to go through to decompress and all that, AND you get to load whatever you need at whatever time you think is best; so you can actually load things in a correct manner.
In the end, knowing WHEN to load resources is the key. And if you don't want to make loading obvious, get creative. If you can, you may also want to test loading times on at least one fast computer and one slow computer; if your loading techniques interrupt the gaming experience for the slow computer but not the fast one, you might want to make some sort of compromise (e.g. like loading all the music during the beginning, because the slow computer can't handle on-the-fly loading of huge music files without noticeably lagging the game).
Here is an example of a good loading technique:Let's say you enter the boss room which will hold an enormous boss that has a lot of images and animation as well as specific sounds like roars and attacks, and the music is specifically made for this fight. None of this has been loaded at any point before in the game because it was unnecessary to do so. Instead, you have a transition that fades out then fades in between the entrance to the boss room and the boss room itself. During the midpoint of this fade-out-fade-in, you will load the boss images, sounds, and music. The transition should still not be affected much at all, at least not enough to interfere with the gaming experience.
Now, normally game maker would load this at the beginning, along with EVERYTHING else, making the player wait to get into the action, BUT, this way the gamer get's in the action quicker and, if done right, the game will not feel like it's ever lagging/loading. If you plan out your loading in this way, loading resources as needed in creatively discreet ways, you will have a game that makes use of "smart loading" techniques and it will be a step in the right direction for sure.
It is also worth it to note that game maker seems to save all images in a loss-less format, so it is best to keep your graphics outside of the executable and to encode them (if you don't want them tampered with or stolen) and just decode and load in-game. In a finished game (having tons of graphics), this should make a very noticeable difference in loading times.
For those of you that need an easy way to encrypt ANY file, here, I have a gold mine of delicious encryption power for you:
http://gmc.yoyogames.com/index.php?showtopic=245305Now you don't have to be afraid of the average person stealing your external resources. And the guys that are smart enough to decrypt and to steal it.. well, they won't care.
And that is my knowledge on the matter. There may be better ways to do loading, but those are the best tricks that I have learned so far, and I will be using those techniques in Spirit's Quest.