Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Ah, see I also had an undo feature in my game as well, but I just used an array of snapshots, where each snapshot stored all the relevant variables in the game, so it's only theoretically limited by the amount of memory Javascript can allocate, so for practical purposes it was infinite.  I haven't used GameMaker in over 10 years and back then I barely knew how to use variables so I'm not sure how you'd do that in that engine though.