YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
24 stars 8 forks source link

Room Editor: Room Inheritance has a number of UX/workflow issues and easily causes GM to become unstable #1856

Open gm-bug-reporter[bot] opened 1 year ago

gm-bug-reporter[bot] commented 1 year ago

Description

Room Inheritance in Game Maker has a number of issues that have persisted for years now. I have seen a number of other posts on reddit and yoyo games forums that share many of these same problems. So this is my attempt to raise attention to some of these long outstanding issues.

Here are a number of problems with room inheritance that I frequently contend with:

-Renaming layers at a parent level will not also rename children layers that are linked to it (although this appears to work with folders at least). In fact, doing anything at a parent level doesn't seem to do anything at all. Instead. . . -. . . you must individually open every single room in your game and double-click "inherit layers" which itself is problematic since you may not want to inherit everything all at once. This is because . . . -There are no dedicated buttons within the parent to update all children's attributes at once. Have 100 child rooms for a single parent? Have fun going into every single one and pressing "inherit layers" whenever you have to change anything at a parent level. This is a major problem that seems to cost me more time than room inheritance actually saves. -Back to discussing renaming layers at a parent level, you have to go to each room, delete the object with the old name, and then double-click "inherit layers" and the renamed one will finally appear. Say bye-bye to any of the changes you made to the child version of that layer. Rinse and repeat for every subsequent child room. -Clicking "inherit layers" also seems to shuffle around layer depths for some reason. So be sure to take a picture of your screen before clicking that button so you can manually reorder things again. -Sometimes clicking inherit duplicates existing instances in the layer instead of overriding them. -Deleting any objects within a layer at a parent level will cause a prompt to appear that asks if you want to delete these instances from all child rooms. After clicking "Delete all", nothing is deleted in the child rooms. So I don't know what that prompt even does. -Inheritance for every layer within the child's room is broken whenever a non-inherited layer is moved. -Doing anything with inheritance frequently causes Game Maker to throw an error at me saying "Fatal Error: Game Maker has become unstable. Please save changes and exit."

I know that's alot to just dump here so allow me to share an example. (check steps to reproduce)

Steps To Reproduce

I created a unlisted youtube video showing the steps of how I can make Game Maker become unstable while working with room inheritance.

By repeating the steps of what I do in the video I provided, I was able to make Game Maker become unstable every time: https://youtu.be/vDVPP9Ve9kw?si=na1k26yehlB-rydM

The project included here has had most of its resources trimmed out so trying to run it will throw an error. The problems I've detailed only deal with room inheritance itself so I figured that doesn't matter.

c90be9b7-b60f-4c5b-b554-a083e0c52121

YYDan commented 1 year ago

Removed 1855, which was this exact report, but with fewer paragraph breaks ;)

Emc1923 commented 2 months ago

Crash still happening as described in the video as of IDE v2024.800.0.607 Runtime v2024.800.0.631. Created a new issue to isolate the crash from the other bugs mentioned in https://github.com/YoYoGames/GameMaker-Bugs/issues/7246

stuckie commented 2 months ago

For anyone coming across this, we have a ticket for tracking views on the Room Inheritance system and it's potential removal or replacement here - https://github.com/YoYoGames/GameMaker-Bugs/issues/2923 If this feature is critical for your workflow, please add your views along with how you use it, and what would help make it, or replacement, work better for you.