I began development in GMS (1.4), mostly as I had had six or seven years of Game Maker experience under my belt. Casual experience from joke games but experience nevertheless.
It was going fine enough, though at times I did need to cheese things to get them to work. A benefit of GMS was that every feature had functioning examples already uploaded on jewgle somewhere if you looked hard enough.
I ran into an issue around the holidays, though. I unplugged my controllers from my PC to go play some Snowboard Kids 2 with my little sister, and apparently, the way I had implemented controller support made the performance tank to sub-10 fps (from an average of 1200-1600) when there were no controllers present. I tried to band-aid it by reimplementing all the controller support, but no dice, it improved but not anywhere near to be playable. I believe it's an issue with the way GMS implements Windows' native controller support, to where it asks the system itself for a list of all USB devices and it takes a while. There were suggestions on how to unfuck it, but none of them worked. It was possible, you see, to implement xInput controllers just fine (those being Xbox controllers and some newer controllers), but DirectInput ones (those being every controller that doesn't cost over 50 bucks, and also happen to be the ones I use) just would not work.
I tried, then, to port the project over to GMS2, which had supposedly fixed the issue. When I switched it on, it was the most hideous thing I had ever seen, it's workspace is broken, it's impossible to put certain windows behind other windows, you have to scroll around their new interface which was a fucking pain as there were no bloody scroll bars, so if you wanted to move sideways, you had to zoom out and zoom back in on the spot you wanted.
It was a fucking mess, and from what I read on their wiki, YoYo wants to force this shit on people and aren't planning to fix it, or even give people the option of using the old layout.
So I bit the bullet and moved to Love2d. It was overwhelming at first, but after days of jewgling really hard, I got basic functionality, and started porting over features. I got sprite animations, movement and collisions working, as well as ways to store in-game rooms in separate Lua files for better organization, and so on. The absence of a Room editor is strange after coming from GMS, certainly, but I'm getting used to it. There are libraries that offer room editors but I don't really need one. I use GMS' room editor to complete a basic layout for things, and then just punch the coordinates into Love2d.
The two are very different. GMS is simple, easy to get into, bloody well documented (though inconsistent if you're coming to it from an actual programming background, according to some anons), and it's OOP is easy to understand.
Coming from GMS, Love2d was overwhelming, and you have to do a lot of things on your own. Functions like rounding up numbers, checking whether two objects are colliding, or comparing the distance between two objects are functions you have to write yourself, whereas in GMS they are already there from the getgo. But, as you might have guessed, the controller issue with GMS1.4 and the disgustingly unusable workspace of GMS2 makes Love2d a better choice in my eyes.
And really, Lua is bloody well documented too, it just takes more work to get things done. There's just enough of engine-development in Love2d to be fun, but enough is done for you to where you won't waste ten years and have no game at the end of it.
I wanted to make that my next task, but I want to implement a few more features, mainly in-game time, and then develop a save system before I make the menu.