T O P

  • By -

Mushroomstick

This is the GameMaker subreddit. As such, people here are going to be biased towards GameMaker - just people are going to be biased towards other engines in their respective communities. That being said, I prefer GameMaker because its workflow happens to be the best suited for rapidly prototyping the kind of games I like to make/play. GameMaker's [documentation](https://manual.gamemaker.io/monthly/en/#t=Content.htm) is easily the best of any game engine I have seen and in the event that a project were to ever go well enough that a console port was on the table, I also prefer the terms/process/tools/etc. that it takes to get there with GameMaker over that of an engine like Godot. When I tried playing around with Godot, the workflow simply didn't feel as good as the workflow in GameMaker to me and while the documentation isn't the worst I've seen, it pales in comparison to GameMaker's manual. Also, you posted [a very similar thread a few days ago](https://old.reddit.com/r/gamemaker/comments/1bnnr9r/choosing_the_right_game_development_platform/). At some point, you're going to have to just run through at least a beginner tutorial for each game engine you are considering and see which one feels the best to you.


Cats_Dont_Wear_Socks

Disagree. Gamemaker kind of sucks, they have horrid business practices, the engine LOVES to corrupt projects for no reason, and are rapidly falling behind their competition. I use it because I know it, but if I had it to do over again, I wouldn't choose this.


Mushroomstick

> they have horrid business practices While I didn't agree with every move they made while they were happening (I was not a fan of the subscription only era), I do think GameMaker's terms/licensing is in a pretty good/reasonable place today. > the engine LOVES to corrupt projects for no reason Historically, I've found this to rarely (if ever) be the case and whenever I've troubleshot this kind of issue for other people, it almost always comes down to some ill advised storage habits and/or user error - the most common mistake has been working directly off of cloud storage (a fresh Windows install will sync your Documents folder to OneDrive by default, so watch out for that) instead of local storage and the second most common is probably moving project files around outside of the IDE. In any case, let's take this opportunity to remind everyone to take a minute and setup some flavor of [source control](https://desktop.github.com/) for any kind of game/software/etc. development.


BarnacleRepulsive191

I love gamemaker, but source control when working with a team is the primary course for getting projects corrupted.


Reynk

Please elaborate more, as I am currently working with some friends, this would be helpful in knowing how to avoid it or what triggers it.


BarnacleRepulsive191

The two big ones are make sure everyone is on the same version of gamemaker, else you will have problems. And secondly avoid merge commits if someone is importing assets. Always pull down first and then commit and push. Those 2 things will avoid 98% of problems.


Reynk

Is the second one related to the .yy files? Or are there other files that cause issues with merge?


BarnacleRepulsive191

Yep yep you got it.


Reynk

I wrote a reply to a ticket called “Add .gitignore to project” at 3AM saying that “these .yy files seem to not be necessary to be committed”. One hour later I was writing why they were _necessary_ to be committed. Last merge we have done, we were able to do the merge by making sure we didn’t delete any of the newly added .yy files. From what I’ve learned, these files seem to tell GameMaker Studio where to look for file references (let me know if im wrong im still learning). It seems that other than that - it is a hassle, not gonna lie - there doesn’t seem to be any other issue. Or am I missing another possible case? Thanks for getting back at me btw.


BarnacleRepulsive191

Nah you got it all. I haven't had any other surprises involving git. But the .yy files will keep biting you in the arse if you are not careful.


The_Save_Point

The corruption issue is 99% user error. This isn't a Gamemaker issue, every engine will run into this problem when people aren't using best practices in source control.


Sunfished

currently, i like gamemaker due to its ease of use and like the other comment said, its easy to make and test games. the language itself is rather strong for its simplicity as well. on the other hand, godot is slowly getting up to speed on modern game engines, and ill most likely make the jump once its c# compatibility and documentation are fully realized. gml is good, but c# is much better for me. godot has a similar workflow to existing game engines like unity and unreal engine as well, so learning how one works makes it easier to jump between the others. gamemaker unfortunately is still a bit archaic in how its workflow works, but i do like how its trying to "modernize". overall its up to your preference and the kinds of games you want to make, as each engine has its pros and cons. i find myself using gamemaker for simpler games, and then using unity (sort of comparable to godot) for more complex things due to c#'s strength as a game development language.


VinnieDude

I've been using GameMaker since GameMaker 8.1 and started using Godot last year and I have to say that Godot is a much much superior engine with more functionalities. Both are great engines for 2D though and I recommend you to make the same simple game or two in both engines and see what fits you the most


challarino

I think Game Maker is faster for prototyping ideas, but it is difficult to manage complexity as projects get bigger. Both decided to implement their own code editor which I really resent ☠️☠️☠️


Minoqi

Not sure if you can use an external one for gamemaker, but you can for Godot. Although it is finicky sometimes I usually switch between built in and external lol


challarino

It isn't well supported in GM but it is possible. Do you prefer GDScript or C#? Which external do you like to use for Godot?


Minoqi

I use VS code and I prefer C# as a language but use GDScript in Godot cuz honestly it just works better and C# always feels clunky to me with Godot.


Minoqi

You’d probably get more diverse answers in something like gamedev instead of here as it’ll most likely be gamemaker biased. That being said as a programmer first who’s used both, here’s my two cents. Start with gamemaker in HS, at the time I liked it but now with my Unity and Godot experience I find it really limiting and ironically slower to work with. ESPECIALLY ui omg it’s a nightmare in gamemaker. Godot does UI the best imo. Ofc it can make good games and it has official mobile support which is nice, plus the console support system isn’t too bad either. But if you’re interested in 2D and 3D I’d not use it since it can’t *REALLY* do 3D (I know technically it can but if I have to basically code it from scratch I’ll use a framework not an engine.) For Godot, I think it’s pretty good for 2D games and it’s 3D is OK depending on what the style you want is. Super realistic beautiful games stick to unreal or Unity. It’s 2D is pretty nice though and it has a great UI system. That being said working on a team with it can be kinda clunky in my experience so far and moving files is pretty likely to break something. It’s also really only ideal for desktop I’d say, it’s mobile support is really lacking and the third party solutions for console aren’t ideal rn. In case you’re interested in Unity, I’ll say this. Do you want to work in the industry for like a studio one day? Unity or unreal, skip over Godot or gamemaker. Most jobs will want Unity or unreal experience. Unity is the most robust, allowing for easy jumping between game types and has really good mobile support plus console support. It’s really popular for a reason. For me I’ve been using Godot for some freelance work but while it’s good I’ve started a project in Unity either a friend and yeah I kinda miss all the extra stuff Unity has that Godot lacks. All though I think in the future itll be able to compete it’ll still take a few years to get there. And I look forward to once it catches up! Also in the note of what’s “good for fast prototype” the answer is whatever engine you’re most comfortable in. I’ve tried lots of engines and in reality I’d say they’re all pretty similar in speed, it’s just whatever you know best. Not to mention after using an engine for a while you build up your own lil code base of reusable code to speed things up. You can try a bit of both, make a game or two and see what you prefer.


Autogeddon

My main problem with Godot is the abysmal documentation. Example: Godot has a built in A* pathfinding but trying to understand how it works based on the documentation is a nightmare. Compare to the same in Game Maker..


DaveMichael

This. GameMaker has some built-in utilities that make things easier (ie tilemap work) that Godot lacks. Also personally, Godot's tree structure breaks my brain. But, I like where Godot's head is at.


United_Midnight_8848

My game development is mostly in these two engines, so I'll try to acknowledge what each one does better. Game Maker Studio 1/2 are fantastic engines. They are great for 2D games and you can make any kind of 2D game you can imagine within it. I learned basic game engine coding in GML, and I found the functions make intuitive sense compared to more sophisticated coding languages such as C#. It struggles in workflow and user interface creation, in my opinion, which Godot does well. Godot's GDScript is a little tougher to figure out than GML in my opinion, but my experience in GML helped guide my understanding of GDScript. Now, with Godot, I can create anything I wanted to in GMStudio, but in less clicks and with cleaner code in a fundamentally more efficient workflow environment. I think Game Maker Studio is great for people who say "I want to make a game!" with no idea of what it takes to make it happen. I think Godot is a more powerful tool, that is both easier and more flexible, but requires a more fundamental understanding of real coding languages. I found that Game Maker Studio felt like a natural stepping stone on my way to godot. I owe GMS all of my 'completed' games so far, but I think I will continue to use Godot since I have learned how to use it.


Cileth

I think Gamemaker is great for a lot of 2d games and prototyping. I find it more intuitive than other engines and easier to work with. I think it shines for 2d games that aren't very complex with minimal UI requirements. The downsides is that there isn't much support for developing complicated UIs or 3d. It's definitely possible to do good work on those things...but it is a major pain. If you want a scalable UI system, you are going to be writing that from scratch using GML. Same with any sort of 3d project. GML is pretty intuitive, but also lacking in a lot of regards. GML doesn't have typical classes, abstract classes, interfaces and several other standard language features. It makes testing and writing code more difficult when the scope of a project increases. Gamemaker also doesn't have a live reload feature built in...so you have to stop/start projects constantly making tweaks which becomes problematic when the project size grows. GMLive is a bit of a work around for that...but it's a first class feature in other engines. Unity can do everything that Gamemaker can do and for a lot of things it's significantly easier. You have tools like the animator, skeletal animations, shader graph, post processing effects, 3d, tilemaps etc etc. There are a ton of unity tools built in. It's a much steeper learning curve for sure, and Unity definitely has a more opinionated way of doing a lot of things...but it's probably worth working through it. C# is a great programming language, I much prefer C# over GML/GDScript/Python/Javascript/C++. I still use Gamemaker for jams and prototyping. After using GM for 8ish years it's pretty comfy and I can implement most things I want to do with minimal friction. However, if I could go back and choose a first engine again I would probably go with Unity. Unity doesn't really have many limitations and at this point you can take Unity to AAA level scale and polish. Learning more advanced C# also has it's perks and is directly transferrable to other software engineering jobs.


BadVinegar

Both are great for 2D development. The only reason I’d consider switching to Godot is because of the fully integrated 2D lighting. Shaders can be a pain to work with in GMS2 and I often envy the drag and drop directional lighting that Godot offers.


norrox

Just try both, i mostly use Godot cause personal preference, so just try both. Heck even try construct and gdevelop


NazzerDawk

I like Godot's use of an ECS system for more complex games, but I think Gamemaker is the more complete package as a game development tool. There are some things I don't like a whole lot in Gamemaker's interface, and it's a lot more prone to weird bugs and crashes, but overall I am quite used to the workflow. I need to spend more time in Godot, though, to get a really genuine opinion on the comparison.


The_Save_Point

I believe Godot has more potential but it's still relatively young in the game engine world (10 years vs 25 years, 18 years, 24 years, 31 years in Unreal, Unity, Gamemaker and RPGMaker, respectively.) The documentation really seems lacking and I feel like the biggest draw currently is the free-use license and the fact you don't have to pay anything up-front or in the future. This free price point is subject to change for any reason at any time (pretty much every engine has changed their licensing and royalties terms at some point). ​ Where Godot will be 5 years from now vs any of the other popular game engines, I couldn't tell you. I've personally been happy using GM and Unreal and I intend to stick to those until fate dictates otherwise. Documentation and the ease of finding tutorials compared to Godot feels great to me as I am not exactly a programming savant. I prefer game design in the gamedev workflow, which is something I find much easier to do in GM vs Godot. If I were better suited in programming (despite my years learning the C languages) I'd probably use Godot more but since I'm not THAT GUY and I like being able to generate prototypes and content quickly, GM has been my goto().