Creating custom in-game loading screens


Hey everyone, hope you guys are doing ok.

I have a quick question on how to deal with in-game loading screen.

Note: I'm not talking about the splash screen loading.

Well, it might sound silly but i want to implement some loading screens into my game. Mind you, I don't really need them (gamemaker loads Sprites ext rather quickly). But from a design point of view they are very useful + they make a game look more "professional" and "full". I can give some tips text while players are waiting for a room to "load".

Is there a "official" way of doing this? A.k.a, is there a way to manually load in sprites,sound ect for a specific room and disregard them when the room is done?

I know I can just let the player wait a timer with some random loading background before a room starts. But that feels kinda cheesy.

How to deal with this? How do you deal with this?

Thanks for reading!
Good luck on all your projects!


Kazan Games
Is there a "official" way of doing this? A.k.a, is there a way to manually load in sprites,sound ect for a specific room and disregard them when the room is done?
Yes, but I don't recommend loading sprites externally (you will have memory issues, as with every sprite_add you get a new texture page). You can even load external sounds using audio groups. And then, when loading, you can get the loading percentage.
One tip is to make a global percentage, which includes loading audio and game data (savegames). I did something like that in a game of mine.

Aside from loading audio and game data (what can include buffers), there is nothing else that is necessary or recommended to load for a normal game.
My personal opinion is that faked loading screens are lame. There're many games out there without them and you'll know if your game needs one because it'll chug while everything loads. I do a lot of PCG and that usually requires a loading screen of some type. But if I can get away with the game loading instantly, then I'll do that for sure. Usually when that happens, I have a simple fade-in and fade-out to black on the transition between rooms to make things "smooth", but being arbitrarily forced to wait for a load screen when the game itself actually doesn't need one is a waste of players time.

The time it takes from when the player boots up the game to when they are in control of the gameplay should be as minimal and easy as possible. Any friction reduces the chance of them playing (I know I've kinda felt like playing a game, but the boot-up time or the load time of the game made me reconsider many times previously). An arbitrary load screen is introducing a bunch of completely unnecessary friction with no real benefit.

If you 100% want a tips screen or something like that, then make it that instead of a loading screen. Have a splash screen before the actual gameplay starts with a random tip or story element and have the player be able to click to move past it. That way (while you are still introducing friction and I personally wouldn't do it) at least you aren't forcing them to wait a period of time and you are giving them some control over the experience.


Firehammer Games
I personally would also just do smooth transitions and forget the fake loading screen. I think if you really want to have tips, show them in other places, like have one scrolling by in the pause menu(or level select, or whatever menus you have). Or you could even have them be randomly unlocked and have a special menu just for them(almost like achievements).