Newbee Question about the use of external layouts vs. scenes

Hi. This is my first question here and it’s more about the general understanding of when to use scenes and when to use external layouts.

What I’m trying to achieve is something like “Tangle Tower” (but more simple)
So now I have some rooms as scenes. In each room are items that the player can pick up (clues), characters the player can speak to and the player character comments on items and characters when examining (clicking) them.
I solved this with clickable objects in an extra layer and an external layout for UI and dialog box on a top layer (based on a tutorial about escape-the-room game).

I also have a “casefile” consisting of different parts (suspects, clues, map), where i organise all found informations. All parts with an “overview page” of all suspects/clues/rooms (with question markers for the ones that you didn’t know at the moment).
When i click on one of the buttons of the already found bits, i will see a detail page with the relevant informations (again question markers for the “missing” parts).
I also want to include some puzzles for the clues (getting number codes right, assembling broken pieces and so on).

At the moment i use scenes for the rooms and one scene for each part of my casefile and map with external layouts for the overview and detail pages.

I’m a bit confused, because some of the tutorials i’ve watched lately use one general scene for all levels/areas (with coordinates and zooming camera).

How would you approach something like this in general? One scene for all rooms or one for each room individually? Scenes for the casefile and its parts or external layouts? Just one external layout for all (with layers) oder one for each part/detail page?

I just want to get a feeling about how to organise things correctly before i have 20 rooms and 10 suspects with a lot of short informations on each and a lot of global variables to store everything and then need to rework all of it again …

So, any tip welcome …

This will help you understand why to use them and not when
WHEN should be your choice depending on game you make

I remade old game that looks like this

It looks like this all the time just this screen
And what changes are stage layouts

More or less different blocks placed in different places
Where player and enemy spawn location stays the same

I could make each stage different scene but why?

Here are all my events i need to run the game

THey do not change they do not have ANYTHING different between stages from each other

Again only thing that changes are stage layouts themselves so instead of creating different scene for each stage i simply made ONE external layout
Where each stage layout is there in a different position

From stage 1 up to stage 35
And what i am doing to change stages is simply load all that crap from external layout and change position to (stage number)*700

Since each stage layout in external layout is placed 700 pixels lower from previous stage so stage 1 is at 0 pixels Y
Stage 2 at 1400 stage 3 at 2100 and so go on

And BEFORE i load these stages i simply delete all blocks that build stages
THen load that crap in
Then move it to proper position
Then delete EVERY SINGLE building block that is outside of what i should see inside that gray frame (since these are stage boudries)

This way i did not spam separate scenes with same exact events
I did not need to create external event with all the events for 35 different scenes with no events
I did not create 35 different external layouts for each stage
I have only ONE scene and ONE external layout

Now it was ULTRA easy for me because how this old game simple is
In some cases you would wish to go with multiple external layouts
And even external scenes
BUT since now you understand how it works at least in this case
You have better understanding why to use it

Press Z or X to change stage
This is cheat feature not core game
In normal game it will automatically change stage when you destroy all enemy tanks
WASD or Arrow keys + space

Notice how loading this many blocks lag spike the game
If you want to play a little then i suggest you press 1
Right mouse button + E to spawn 3 enemies

It runs very slow if i do not delete all these blocks and more bullets/tanks are on the screen
To demonstrate that i added event for you where it only loads all that crap from external layout
And do nothing more
Simply press Z or X to change to different stage which will also delete all unused unwanted blocks

Hi ZeroX4,

thanks for your explanation, the detailed answer and the game-example.
I’ll take a look at this at the weekend and try your way of building the game structure.
I think I’m a bit obsessed with the fact that in the most tutorials the games are different genres from that what i want to build and that it therefore doesn’t work the same way for “my” game - but maybe i should rethink this mindset :slight_smile:

You wanna go tip?
Make many games crappy ones unfinished ones unpolished

Like spit one small game each week or two
More you will make more you will learn
YOU NEED to make mistakes to learn what not to do and what to do and when

NO ADVICE will help you
You need to learn your way


I have 3 buttons
One for saving
One for opening settings window
One for starting game

Now it would be pretty obvious to put them in same event group
Called Buttons
Now imagine i add sound to play when you click them
And so i put them in same event group in events sheet
Now imagine i add text to them
Well i use duplicates of one text object for that to not spam same object over and over in object list
I also put all that in Buttons group in events sheet

NOW imagine i added same text object to display HP of my player in game
I added some sound to when my player fire
And now that i put into group in events sheet called Player Stuff

Everything looks clean and cool
Right until you realize i need to go to different place to edit sound of my player firing and sound when button is pressed
Same when i wanna edit text of my player HP and text of a button
They are in two different places

This is how i learned where i should store what crap and why
So i do not look for it for hours later
But logically by deducing what it is and where it could be where to find it

I needed to make 2 games to learn that and not make mistake on placing all related crap in one place

Imagine i wanna pause music when i enter settings window
Is play music action in event group of buttons? or settings?
Or maybe it is somewhere on top where i always play At beginning of the scene events?

YOU NEED to go trough it fail few times and learn on your mistakes
AFTER you have some experience and idea where to put what you will have much better experience making game

Same here you need to test my way of external layouts to learn it flaws and good sides before you can adjust it perfectly to your needs
But test also other ways like making separate external layout for each level or whatever

More you try better you become
Failing is actually good here since you learn
You need to spill water at least once on your keyboard to learn when you come to your with water you put keyboard away
Best lesson ever

Let me crack the mystery of Scenes Vs. External Layout for you in a simple manner.

Scenes are the proper way to go about having multiple levels and such because while your playing on a scene, the other ones are being loaded in the background, making sure everything works properly when you swap scenes.

You can get away with remaking the levels with external layouts on simple games, or games that dont run on slower hardware. For big and complex games with lots of moving parts, using scenes would be better,

BUT Even more than that… its the fact that its MUCH harder to explain the concept of storing things in memory to keep your stats between scenes, than it is to skip that process entirely reusing the same scene, not having to explain memory and keeping tutorials beginner friendly.

Thats also why questions about keeping your health from resetting when you change scenes, or keeping your items and things like that, are kinda common among beginners.

In short, swapping scenes is better in my opinion, but you need extra steps to keep your game consistent by using things like global variables to create memory and keeping all your ducks in a row :slight_smile: