Thanks to a post by @mauve on mastodon I’ve purchased aseprite, and at some point I had also purchased Game Maker Studio when it was on sale a while back, so I stayed up 'til 2 last night watching tutorials and making tentative first steps that I immediately deleted. Despite being pretty comfortable with code, I’m sticking with the Drag & Drop paradigm for now.
My first objective after getting a basic movement-and-interaction prototype working is to reproduce the functionality of Inform 7’s system of scenes. My provisional understanding of instances in GameMaker indicates scenes will be created as instances of an object inside the room, which means they will need to either move with the player from room to room, or (more likely) travel between locations in-game all happens within the same room, creating and destroying backgrounds and level objects as needed.
Scene objects basically need a variable (0 for has not yet occured, 1 for is occurring, 2 for ended in failure, 3 for ended in success, or higher numbers for any alternative outcomes) and the ability to have events of their own, such as is provided by making them objects. Inform provides “when begins” and “when ends” which work as you’d expect, but I’ll have to think about how you’d implement this behaviour in GameMaker, or just resign myself to tacking all necessary events onto the tail of the conditions which bring about scene transitions.
Note to myself: scene dependencies