Tylermon
First of all, this would not replace anything. It would be an addition. You'd obviously still be free to build rooms using Arrays, nobody is going to stop you.
[quote:16luby6v]I feel too much control is lost if we define rooms and let construct do magic. How can I determine logic happening in this non-loaded room? What if I want that room loaded without being inside it?
No control is being lost, Room Object would NOT replace Array or anything else. It would simply make things easier.
We have player platform behaviour in Construct 2 yet it's amazingly simple to remake and highly customize, but it's still there.
[quote:16luby6v]What happens when the player is in room 7, pushes a button and you need to make a change in room 2. But room 7 and room 2 have no reason to be both loaded?
What happens is what you want to happen. Theoretically that part of the layout is reset and frozen in place using a time scale, so if you used a global variable or object you could change what you wanted. It's still part of one layout and the same engine. Construct 2 isn't going to be turned into something from The Hills Have Eyes.
[quote:16luby6v]If this "room" object instead stored all room information in a way that we can access it anytime, and visually place the objects into it, maybe this would work. Nothing would need loaded, but we would have easier access to the "room" and object data than if we use arrays/strings ourselves.
Essentially turning the "room" object into a visual array.
You can access it any time, you just described how we described it would work.
Simply the Room Object is a re-sizeable box or rectangle that has a local time scale inside the layout and has the ability to reset the part of the layout it overlaps along with the objects inside of it (unless they're say, global).
This way you're able to emulate the function of separate layouts without needing to load said layouts, so essentially the entire game could potentially be loaded into one layout yet not use the parts that aren't needed in order to save on memory and attain better performance.
E.g
You have a layout that has 4 room objects.
Player starts in room 1, kills enemies in said room and moves into room 2. Upon exiting room 1 and entering room 2, room 1 resets and sets it's local time scale to zero making the enemies respawn in place and keep still until the player re-enters it at which point the time scale is set back to 1 and it plays as if it was another layout that had reset.
[quote:16luby6v]What happens when the player is in room 7, pushes a button and you need to make a change in room 2. But room 7 and room 2 have no reason to be both loaded?
Player goes to Room 4 and finds a locked electronic gate, goes back to Room 3 to press the unlock electronic gate button.
Events could be set up like usual e.g.
Player Overlaps Gate Button | Set Gate Button Animation to Pressed
Gate Button Animation "Pressed" Is Playing | Set Electronic Gate To Animation "Unlocked"
So it's really that simple, at least potentially. You could set it up way more complicated or badly evented, use global things. It's only as hard as you make it out to be.
I hope this cleared up some things for you.
People to be re-notified:
Tokinsom ,
Ashley