GameMaker Learning GML or using DnD?

Greetings comrade. It is I, the famous FlatulenzaFiammeggiante (don't translate my name).

Let's get to the point this time.
I've recently started using GMS2 (after buying it) after some practice and games made on GM8.
Since I'm just an artist (with an enormous brain) I always used DnD (drag and drop) in order to make the programming abit more
intuitive for me. I always felt like it was really confusing the normal code writing.

After getting the new program, however, I felt like it was time to learn the effective GML language, in order to make "better" games.
The problem is: is it really worth?

I managed to make pretty decent games using DnD, and changing to GML feels abit complicated in a way that is not even needed.
Remembering all the codes that you need, being precise with were you put this and that, and those stupid weird brackets that I don't even have on my keyboard.

So to wrap things up:
Do you think it's important or effectively worth learning GML over DnD?
 

FoxyOfJungle

Kazan Games
If you start learning GML now, you'll get a lot more benefits in the future. If you find it a little difficult, you can simply start with DnD and when you have a sense that you can take the next step, move on to GML. But I recommend starting with GML, It is not so difficult to learn.

The problem is: is it really worth?
Definitely.

I managed to make pretty decent games using DnD, and changing to GML feels abit complicated in a way that is not even needed.
Any DnD code can be converted to GML, so you need to figure out what changes from one to the other. What's more, with GML there are numerous new possibilities.
 

Ommn

Member
Yes, I advise you to learn and use GML.
There is absolutely no need to memorize the codes or write them on a piece of paper.(You are not in an exam)
The codes will be saved due to frequent use.
The program's documentation will help you greatly.
welcome in GML.
 
D

Deleted member 13992

Guest
DnD : Easier to learn right now, but harder to find help later as there's less support for advanced concepts for it. Eventually you'll hit a brick wall of what it's capable of doing if your games start getting serious.

GML : Harder to learn right now, but has more support down the line. Much more flexible and capable at doing advanced things. Your acquired knowledge can allow you to transition to other languages easier than if you had only learned DnD, since GML is very similar to java, C, and shares most programming fundamentals.
 
Do you think it's important or effectively worth learning GML over DnD?
Yes.

1. GML is faster to implement than DnD. What would take me 1 minute in GML takes 5 minutes in DnD, extend that over the course of a full project and I may as well add a year to the length of the thing.

2. GML teaches you to read code. Learning to write code isn't the only benefit to learning GML, becoming familiar with coding patterns and understanding what is happening is another. The reason this is beneficial is quite simple. Once you understand how core coding patterns are written and what they are doing, you can learn how to do stuff in GML from other languages. There are many more tutorials written about games in all languages, as compared to just GMS. If you know how to read code, you can translate these other languages into GML and suddenly you have access to a million more resources to learn and copy from. This might not seem important when you're making very simple games, but once you expand to things that require pathfinding, or advanced proc gen stuff, or dungeon generation or anything like that, you'll find there's a lot more tutorials written in Python, let's say, than in GML. Being able to simply copy these concepts across is a godsend you won't be able to do unless you learn to write GML.

3. DnD is the most proprietary part of GMS. As above, learning to code in GML starts to teach you core coding concepts. You can use these coding concepts, and very often the same patterns of writing code, in many other languages with only a little bit of learning. If you're stuck with DnD, then you are 100% stuck with GMS. Again, might not seem like a problem now, but as you flex your wings as a game developer, it's a good idea to be able to branch out to other engines, as they all offer different benefits and drawbacks.

4. Most help on the forums is targeted towards GML. Posting DnD problems often ends with someone posting bits of code back at you, so becoming familiar with GML helps you help yourself, by giving you greater access to the existing (and future) topics posted on the GMC.

There's probably more, but that's what I got off the top of my head. In other words, learn GML, it'll be difficult to begin with, but it'll make you a better developer on so many levels.
 

Mr Magnus

Viking King
Here's the dirty little secret: DND is gml, but with pictures. It's not that much more complicated and it's generally very easy to find a 1:1 relationship between your favorite block with a picture on it and a GML command. You don't need to remember all the functions, you can always look them up in the manual (and that's what everyone does). You don't need to be any more precise than with DND because it's executed in more or less the exact same manner in the exact same order. I can promise you your keyboard has curly brackets (and other symbols) *somewhere*. For instance my Icelandic keyboard has them at alt+7 and alt+8. It's more menacing because you're not used to it, but it really isn't that hard to get the hang of if you're already competent with DND. If anything I've found DND to just be harder to use because it's more limiting and fiddly to work with.

Once you do have the hang of GML you'll wonder how you ever managed without it. Sure, it can be a bit more complicated, but with that complication comes power, flexibility, and a greater ability to solve problems in ways simply not offered by DND in any usable measure.

Just start off small: make a small project that doesn't require any complicated concepts to complete. Once you've gotten that done try a bit harder project, and a bit harder still, and so on and so forth until you're fairly confident in yourself. GMS2 offers the ability to freely translate between DND and GML, and while the code it produces is almost always pretty ugly it's useful to see the relationship between the two.
 
Mmmmh, I guess you guys are right.
I had my experience with DnD, but it looks like I need to think in a different way.

Thank you all for the suggestions, I'll try to learn the language then.
I just need to get abit more patience with it.
 

woods

Member
DnD = flashcard +madlibs (select a function and fill in the blanks)
GML = empty canvas you can paint your world on

GML can be a bit intimidating, it allows you tons of freedom and flexibility.. you simpoly need to know where to look for the right help
vs
drag and drop can give you the BASIC fundamental tools to learn the concepts of how code works.


we've made it this far... is time to take that next step and do a bit more advanced things with it ;o)
 
Just one thing.
Is there a way to reduce the heating up of my PC while using GMS2?

I have an above average laptop, that can easily run some games without overheating.
While I might understand that opening certain powerful madafaka games can be a bit stressful for me old Kleiner,
I don't understand how GMS makes it overheat.

I mean, GM8 didn't have such problem.
Yes I know GM8 is a burp compared to this new thingie, but it feels weird and kind of tedious to work hours to my stupid
games with this freaking heat on my left hand.

Is there a way to not REMOVE completely, but at least reduce as much as possible this overheat?
Thanks comrades.
 

Slyddar

Member
Do you think it's important or effectively worth learning GML over DnD?
When you are comfortable enough in DnD to start reaching the limitations of what you are wanting to do, and the limitation is not a lack of knowledge, but rather the opposite, an understanding of what you want to do and how difficult it is to achieve it when using DnD, then it's probably time to at least think about using GML. Of course, many people just prefer the interface in DnD, and they are happy there, so as long as others respect that, we can all program in the environment in which we achieve the best.
 
Last edited:

Foldup

Member
I started by slowly replacing bits of my DnD with code. I had to have the manual or Google open the entire time!

Now, the code help offers a lot of suggestions and fixes, so it's easier than ever. GML is very forgiving. Way easier than C#

But yes. Code is the way. When you get better at it, you will flow like water.
 
Play with File->Preferences->General Settings->Power Savings, and to a less extent perhaps, General Settings->File Watcher, until you find an acceptable compromise of responsiveness and heating.
Ay thanks comrade. I'll try that out.

When you are comfortable enough in DnD to start reaching the limitations of what you are wanting to do, and the limitation is not a lack of knowledge, but rather the opposite, an understanding of what you want to do and how difficult it is to achieve it when using DnD, then it's probably time to at least think about using GML. Of course, many people just prefer the interface in DnD, and they are happy there, so as long as others respect that, we can all program in the environment in which we achieve the best.
Ayyy you are that fabulous dude who taught me how to do vertical collisions! Thanks comrade!
 
Last edited:

GMWolf

aka fel666
It's probably been mentioned before, but DnD is essentially the same a GML, but you drag boxes around instead of typing.

The logic, and flow is all the same.

What makes DnD "easier" is that you don't have to memorize the exact syntax for every construct. Which may make it easier to get started. However you lose a lot of time from having something that is harder to navigate, edit, and write.

Not to mention with GML you can ask for help here. While with DnD there will he very few people Willing to help. (Because DnD is harder to read, navigate, etc, making giving help a take a lot more effort)
 

Foldup

Member
Well, maybe it's just Unity. The code wasn't THAT hard, it's just in Unity every blooming tutorial is outdated and their approach to the code was deprecated.

GML, for better or worse, is more forgiving. Perhaps to a fault. Like letting you declare ints and floats and strings and swap them all willy-nilly.
 

Foldup

Member
It's probably been mentioned before, but DnD is essentially the same a GML, but you drag boxes around instead of typing.

The logic, and flow is all the same.

What makes DnD "easier" is that you don't have to memorize the exact syntax for every construct. Which may make it easier to get started. However you lose a lot of time from having something that is harder to navigate, edit, and write.

Not to mention with GML you can ask for help here. While with DnD there will he very few people Willing to help. (Because DnD is harder to read, navigate, etc, making giving help a take a lot more effort)
That's a really good point. The logic of it is what takes time to learn. After you figure out the syntax, there's a world of new possibilities for you that opens up.

It's also WAY easier to just type what you want instead of rummaging around to find a picture to drop into place. Then you end up limited by the DnD and maybe add in snippets of code to it anyway. After you learn to write GML code, DnD is more like handcuffs than training wheels.
 
Top