transitioning from game maker -> java was kinda tricky for me. i didnt understand a lot of the OOP concepts because gm basically has none of those. if you look at the 2 code there are a lot of missed opportunities where i could have made things more concise/cleaner but just didnt know how. also i didnt really understand the use of static typing.
my saving grace was that oddwarg was around to mentor me and had made the basis of the game engine we use today.
i think you can make the transition by failing a bunch. still making unnecessary programming sacrifices because you dont know the shorthand ways for things. then you can more intelligently/eloquently ask others for simpler/cleaner ways to accomplish things.
nowadays it seems that unity is a popular game engine. unlike game maker, it is backed by a legitimate programming language. i think it has some pretty major flaws, of which my biggest issue is:
- inability to arbitrarily draw to the screen
in gm, this is a no-brainer. you can override the draw event with whatever stupid shit you want. in shitty unity, you have to do some horrible nust with parenting in the editor.
if you do switch to unity, just disregard the Update() function and use FixedUpdate().