GameMaker has a non-programming method but I don't know how capable it really is. I wouldn't worry too much about what language you learn, at your stage it's more about the general knowledge of how to get things moving. Transitioning to another language at a later point won't be difficult.
Looks like Spelunky, Undertale, and Hyper Light Drifter were as well.
I would recommend using https://love2d.org/ to get started. This is a simple language built around a 2D game engine with (I think) many examples to follow
It’s easy to learn small things, reasonable to scale to harder things, and the award winning games regularly publish their sources—so you can copy and tweak and learn.
Though, maybe Adventure Game Studio and free images do the trick, dunno.
Specifically, I myself would play games that are set in the same city if the city was big and detailed enough. Just let the games be something more than the hyper-casual churn of ‘question the witnesses, look for evidence, name the perpetrator.’
Sierra's graphic adventure games used their own toolkit called AGI, which stood for Adventure Game Interpreter. http://www.agidev.com
He also wrote a new adventure game and blogged about its development
`sudo pip install pygame`
The truth is, the author is coding an irrational and illogical system, and what this is basically is a big old set of special cases.
But then keep in mind the whole piece is satire.
I would turn the question around on you: why would you put this in data? If you have too much boilerplate, just refactor your code.
>'LOOK AT COFFEE MAKER': () => { if( State.scene.state.coffeedrunk ) { return "The coffee maker has done its job and mercifully drained the last life out of the old and savaged grounds." } else if( State.scene.state.brewed ) { return "The coffee maker has a fresh pot of what is likely coffee in it." } else if( State.scene.state.brewing ) { return "The coffee maker is brewing." } else if( State.scene.state.waterinmaker ) { return "The coffee maker has fresh water in it, and is ready to brew a terrible cup of coffee." } else { return "Makes coffee. Whodathunk? There's no water in it, and you don't have any fresh coffee, but the grounds already in there have only been used twice and can't be THAT moldy." } }
This is JavaScript right? Is that how these sorts of games are coded? Would learning this be the best way to go about creating games? Thanks.