How familiar are you with GML?

L

Lemmon

Guest
So being a noob to GMS, getting a grip on GML so far has been really hard. I'm not going to give up learning it, but it's hard to really retain all of the information that I'm getting from the manual and I honestly don't see myself just coding off the top when I get to making more advanced games.

So my questions are how familiar do you consider yourself with GML? How long did it take you to get where you are, or did you have prior experience with coding? Do you ever find yourself going back to the manual to refresh yourself on certain things? What was the hardest part of learning it for you?

Any help is appreciated.
 
  • Like
Reactions: 607

Bingdom

Googledom
I find myself quite familiar with GML but I'm still learning.
I've been doing GML since roughly q1 last year but I've had experience with construct 2, windows cmd, modding Minecraft (java), scratch and did 2 tutorials on Unity before I got into GML.
I always go back to the manual if I've forgotten something or new to it.
I can't remember what was the hardest part on programming. I think trying to be efficient or trying new things was the hardest.
 
Last edited:
A

Ampersand

Guest
I consider myself quite fluent, and could probably have a good go at any challenge thrown my way these days. However, I still frequent the manual.
 

Nocturne

Friendly Tyrant
Forum Staff
Admin
I wrote the manual and yet I still don't "know" GML...

What I mean is that no matter how much you understand you'll still come across things that you need to look up or ask about, and even though I wrote the manual, I still find myself referencing it all the time to remind me about what something does. I sometimes even find functions that I've obviously written up myself (nobody else at YYG works on the docs), but even then I go "WOW! Never knew we had a function that does that...". :p
 

Posh Indie

Member
I wrote the manual and yet I still don't "know" GML...

What I mean is that no matter how much you understand you'll still come across things that you need to look up or ask about, and even though I wrote the manual, I still find myself referencing it all the time to remind me about what something does. I sometimes even find functions that I've obviously written up myself (nobody else at YYG works on the docs), but even then I go "WOW! Never knew we had a function that does that...". :p
He means he converted from Java Doc Comments using Eclipse, and just touched up the style sheets (But really, you did great with the documentation, Nocturne. Even if your style is strange, haha).

I've been with Game Maker for a long time (GM5) and I still reference the documentation from time to time. There is just too much to flat out memorize every little detail (Although you will find yourself using some things more than others. Those will be the ones you remember the most!), and there will be small subtleties that catch you off guard.

In short; you will be fine! The more you actually use it, the less you will reference the documentation. Chances are you will always be using the documentation in varying degrees (So do not let that discourage you).
 
The hardest thing I ever overcame is always whatever it is that I'm programming right now. Currently I'm trying to optimize hundreds of objects in a room, manage collisions that need to behave in 3 or 4 different ways, create auto-tiling walls, and create a spawning algorithm that actually works right. (That's just a general summary).

You'll always think that you're doing something the best way possible. And then you'll look back after a few failed projects and think you know the new "best" way. And it's better yes, but you'll never really know how to do it 100%. Just don't give up and keep on programming!
 

kburkhart84

Firehammer Games
A thing about any program is that typically you will learn the syntax and rules, etc... pretty quick. It is all the API calls that are easily forgotten by most. GML doesn't have "API" in the same fashion as other languages do, so in GML's case the API would kind of be all those functions that you can call. They are not exactly part of GML as a language, which is why things can get added and removed but the language itself is the same. Things like the way 'if' and 'switch' and other core grammar are what I consider the actual GML language, while any script you can call would be kind of like an API.

Now, I feel I'm quite comfortable with the language itself. I had messed with QBasic, and then Visual Basic when I was quite young, and grew into C/C++ later, so I already had an understanding of programming in a general sense. GML was just another language at that point, with an accompanying API. I've learned by memory the majority of the "commonly" used functions like instance_create() and instance_destroy(), but there are plenty that aren't used near as often, and for that the manual exists. I often have it open for that reason. It was the same way in the other languages I've used, where I'm fluent in the language itself, but the specific functions can vary widely.

I think you will find that once you learn programming concepts, other languages will be pretty easy to pick up. But the APIs are likely going to be something that unless you really do a lot of repetition on you are never going to learn very extensively. This is just fine though. I find it more important to know not the mass information itself(encyclopedia) rather where to find the information(bookshelf). Which is easier to remember, a bunch of functions names or how to open the manual?
 
A

abd_sab

Guest
All i can say is GML is like all other languages C,Java, Javascript + a library for games, so all you have to do is open the manual, if you want some specific function go and search for it in the manual or in google, the manual explain all and easy to understand.
 
D

DrewSparks

Guest
I'd honestly say that I'm familiar enough with GML that I could build most any game I can think of (in 2D), with exceptions I suppose. But I've been using GML for about a decade now so it took me awhile to even get to this point, and (like pretty much everyone else doing anything they work at for a long time) I'm still learning. Also constantly remembering, bettering my knowledge. But I've also got experience enough in XML and HTML to know the difference between familiarity and being fluent. I'm fluent in GML. I'm familiar with HTML.
 
S

SyntheticStorm9

Guest
The hardest part was testing, testing, testing and more testing.
 
C

Christoffer Karlsson

Guest
So being a noob to GMS, getting a grip on GML so far has been really hard. I'm not going to give up learning it, but it's hard to really retain all of the information that I'm getting from the manual and I honestly don't see myself just coding off the top when I get to making more advanced games.

So my questions are how familiar do you consider yourself with GML? How long did it take you to get where you are, or did you have prior experience with coding? Do you ever find yourself going back to the manual to refresh yourself on certain things? What was the hardest part of learning it for you?

Any help is appreciated.
Just follow along with video tutorials, write the code as they write it, try to change values in the code.
The secret are trial and error, you do not learn from making no mistakes :)
 

GMWolf

aka fel666
Much like other people here, I know GML, very well indeed.
What I don't know, are the functions it offers. I know many of them by heart, understanding them very well, but I do always have the manual open to look up the slightly more obscure ones, or to check if a certain feature exists.
All in all I can most certainly make a relatively simple game without ever opening the manual. But that's just not the kind of stuff I work on.

This really is a testament to how amazing the manual is. Thank you @Nocturne
 

JackTurbo

Member
I'm much the same. I've found myself half way through coding a really complicated solution to a problem that is dealt with much more easily with a built in function on more occasions than I care to count.

So now the manual is open on my 2nd monitor when ever I code.
 
F

frumple

Guest
I've had no programming knowledge prior to GML. I started by following a simple game tutorial using D&D actions, then expanded on that and generally fooled around and played with it. It was surprisingly effective as a teaching tool because all i did was play but at the same time things were falling into place and i gained a better understanding of how a complex program comes together.

Pretty quickly i became annoyed at the D&D actions and wished there was a better way to combine multiple ones, or edit them more easily or ... oh hello, an Execute code action. I fell in love with that one, and with a very helpful manual began using nothing but GML.

Years later, i would say i have a good grasp on a lot of GML though there are some things/functions i have never touched. When i bother to design, i mostly use paper and pencil then with the aid of the manual, convert that into code or at least pseudo code. Sometimes GML and what i have on paper disagree, other times it works like a charm. I also tend to write pages of comments for each line of code, because i'm the poor soul that will have to revisit that code and most of the time i have no clue what the hell any of it does. Or that i'm the person who wrote it...

Not an expert by any means, but good enough to try and tackle problems using it. And it makes me happy. AND it makes other languages more accessible! It may take a long time, but it's not about time or retention. In my opinion it's about experience. Everything done with GML or D&D or other languages, stays with you and leads to better understanding, even if most of the time this isn't immediately obvious. It helps a lot if you love it.

The manual is allways open. Most of the time it's indispensable and some times it outright gives ideas on how to do something. It isn't analy specific or detailed enough, but the function descriptions are excellent for beginners. The code examples, not so much. And there's been a few times i despaired at not havining enough information but the gripes are few and far between, and not enough to knock what has been arguably GameMaker's greatest asset.
 
Do you ever find yourself going back to the manual to refresh yourself on certain things?
I often find after a few hours working on a project, I have multiple windows open with the manual. Even on my phone right now, I have the manual open on a tab.
 
F

frumple

Guest
I can be familiar with GML and GM and the manual, but never immune to stupid mistakes. Helps illustrate why the manual is so handy to have nearby. There are some things the it's very clear about, but i keep forgetting anyway.
Here's one of my repeating mistakes, probably the favorite one. Partly because i think it's cute how i can never learn this, but mainly because i did it again today.

1.
Code:
with ( create some instance)
    {
    set variable to be used as an identifier or condition;
    }
2. In that instance's Create Event, use the variable to conditionally execute code.
3. Wonder why the heck this thing isn't working!?
4. Flip table!

The problem is that the Create Event is executed first, THEN the variable is assigned. But i already tried to use it during the Create Event execution. It wasn't assigned anything useful so my code failed.
Lovely.
 
C

Chris S.

Guest
I'm fairly new to GML, but I know a lot already; YouTube tutorials from people like Shaun Spalding, HeartBeast and Making Games 101 have really helped.
Of course I refer back to the manual just like anybody else, but I retain this sort of code easier than most.
 
B

Brennan

Guest
I'd say I'm pretty fluent in GML in every way with the crippling exception of Networking, BUT i'm working on it!

That's not to say that I could do anything everyone else can do (save Networking). I can guarantee you that there are PLENTY little "tid-bytes" (ok it was funnier in my head) that would send me for a "loop" (darn! Still not funny)!

I was well accustomed to C++, C#, and Javascript before that. Even though they're object oriented languages (unlike GML), they share a number of properties. Maybe that gave me a boost, BUT to finish my answer to your question; It took me about 3 years to get to where I am now.

Hope that suffices. :)
 

607

Member
I've never really 'read' the manual: I look things up as I encounter them, or start wondering. And if I don't know how to go about doing something as I've never fully read the manual, I ask here, and learn new things.
 

sp202

Member
GML is the first thing I see in the morning, her smile is all the caffeine I need. She tells me all her secrets, whispered into my ear on a quiet porch with a seaside view. I've even met GML's parents. Familiar is an understatement.

But then the daydreams fade and I realize GML could never feel that way about me.
 

Joe Ellis

Member
2 nuts in a ballsack yo!

I'm pretty familiar with it now, but I got there by writing stuff, pressing the run button and the game crashing within 2 seconds - about 100000 times

best way to learn something is by teaching yourself, then you actually understand why you have to do certain things rather than taking someones word for it, and you'll also learn your own tricks that arent very well known
 

zendraw

Member
the hardest part is not to look obstacles as a problem, but as an oppurtunity to grow.

also Greetings, fellow lemon.
 
  • Like
Reactions: 607

Rivo

7014
I made a similar topic on the old forums: http://gmc.yoyogames.com/index.php?showtopic=678888 Back when I was more of a noob. Since then i've had over 1000+ more hours put into Game Maker, and It does get a lot easier. I'd say don't try to make your first games too big. (Pretty common advice tbh) I had an idea for a big game and noted down what I needed to learn. I then made small games utilizing one or more aspect of what I wanted to see in my 'big' game. And now that I'm making my 'big' game I know how to make what I want since I had already made it previously. But even still, there's a lot that I don't know and I get stuck here and there, due to new ideas. But every now and again some really helpful angel floats down from heaven onto these forums and helps me out a great deal :)

(I put 'big' in quotes since the definition of a big indie game might vary. But it's big for me)
 
  • Like
Reactions: 607
A

Alyxx

Guest
I'm a total noob when it comes to GML. I primarily use DND with snippets of GML in there and a few scripts, that's how I prefer working for now.

But learning GML is thankfully a very smooth process in Game Maker since you can learn it gradually and at your own pace and mix it with the DND interface.
 
J

Jaymatham

Guest
Not 100 % sure how deep you've gotten into GML but learning the basics is what you should focus on early on. Learn the correct structure of the bread and butter stuff like statements (including if and for), creating and manipulating different types of variables, expressions and arrays. The overview section of the manual is a good read but the most important part is to code yourself.
 
  • Like
Reactions: 607
A

Alyxx

Guest
Not 100 % sure how deep you've gotten into GML but learning the basics is what you should focus on early on. Learn the correct structure of the bread and butter stuff like statements (including if and for), creating and manipulating different types of variables, expressions and arrays. The overview section of the manual is a good read but the most important part is to code yourself.
YES! This is the most important part! When you start coding and see what your code does, that's how you truly learn...
 

FrostyCat

Member
I'm a bit concerned about why you are more interested in how others are familiar with GML, as opposed as how familiar YOU are with GML.

Just last year I read Gail Vaz-Oxlade's article on the concept of "personal economy". It is about how people should tune out those familiar recession sob stories and just get their crap in line regardless of where everyone else is heading. So what if more Millennials are carrying payday loans, credit card debt and living hand to mouth --- as long as I'm not personally reduced to that, it's business as usual. So what if Baby Boomers are retiring with record assets --- as long as I don't have the same hands they do, I still have work to do.

Same thing with any field of interest, including GML. If you have niche knowledge, it doesn't go away just because it isn't popular. And even if a piece of knowledge is common in the populace, it's good as dead as long as you don't have a personal grasp of it or you choose not to exercise it.

This is quite evident in the usage of the Manual and other official documentation. Virtually everyone worthwhile knows where and how to bring these up (docs.yoyogames.com, docs2.yoyogames.com, help.yoyogames.com), and those who don't can find these on Google. They also know that expert users memorize topics in the basic parts of the Manual (e.g. basic control structures) and make good use of the Index/Search tabs to reference the rest on-demand. A lot of novices don't have the discipline to turn down the TLDR card --- experts can't do anything about that, and novices can choose not to join them.

If you're actively listening for what people who have become experts are doing and adopting those that you find critically interesting, all the power to you. But the day it becomes a mere show-and-tell is the day this topic loses its worth.
 

Tsa05

Member
I think listening to the news about other people's economies is much more important and valuable than finding out what other people's GML familiarity level is. But there's a relation.

It's a fun and happy thought that we can plug along doing our work, happily getting paid, and not care a fig about how other people's money works, but that's going to lead to problems. Other people's financial situations determine the cost of your food, your taxes, your healthcare...everything.

Other people's GML knowledge is far less personally impactful over a long run, but I suppose that the OP is interested to have a sense of how familiar one must be in order to get on reasonably well, and how much one can head back to the manual. It's a fair question (though I'd say the better answer is "go start coding things and don't worry about it)
 

chance

predictably random
Forum Staff
Moderator
I'm a bit concerned about why you are more interested in how others are familiar with GML, as opposed as how familiar YOU are with GML.

(snip)

If you're actively listening for what people who have become experts are doing and adopting those that you find critically interesting, all the power to you.
I think your second point more accurately describes this topic's purpose. Despite the awkward title, I think the OP is interested in how other members learned. Implicit in his questions, is asking about the learning process. Hearing other members' stories can sometimes offer help and encouragement to beginners.
 

gmx0

Member
I've been using Game Maker since 2004 and been coding GML from 2005, and the manual is still my favorite place to reference. There's no shame in referencing the manual.

I've learned a lot from seeing other people's code. There are many clever things you would not think to do from the manual until you get in someone else's code.
 
A

Alyxx

Guest
I've been using Game Maker since 2004 and been coding GML from 2005, and the manual is still my favorite place to reference. There's no shame in referencing the manual.

I've learned a lot from seeing other people's code. There are many clever things you would not think to do from the manual until you get in someone else's code.
My way of learning has been to find tutorials online (Shaun Spaulding and Pixelated Pope have been my biggest sources so far) and just altering their tutorial code to fit my project. That way I could limit myself to achieving what I wanted to do without having to write everything from scratch.
 
S

Seamless Music

Guest
gml is very easy. been playing with it for a long time now.
 

Yal

šŸ§ *penguin noises*
GMC Elder
Familiar enough that I can think up script structures in my head while doing chores and stuff. You get better at coding just by *coding*, so don't worry too much about it - keep working and you'll get good eventually.

I also used to read the manual as leisure reading, that helps a bit as well. Learning about what you can do means you have ideas next time you plan something out.
 
Y

Yilly

Guest
I started with RPG Maker, went on to GM drag and drop, and then finally switched over to GML!

I'm actually more of an artist, but I think I'm decent with GML. Took me a year or two to really grasp it and feel comfortable with it. I always considered programming as the ability to solve problems rather than knowing the solution to everything off the top of your head. I reference the manual a LOT, and I don't think there's shame in that as long as you end up with the results that you were looking for!

Now this might be radical, but I often use pen and paper to help me figure out exactly what I need to do to make something work. It's especially useful when you're in school, since coding is obviously much more fun than schoolwork! :p
 
Last edited by a moderator:

Bingdom

Googledom
Now this might be radical, but I often use pen and paper to help me figure out exactly what I need to do to make something work.
Definitely not radical at all. It's useful when you got some ideas to create a concept.
I used to do this a lot when I first came across primitive functions. It definitely helps when trying to make something like a 9-patch.
 
B

BlaXun

Guest
Familiar with basic GML ...never messed much with the advanced stuff such as surfaces... but I know the networking... been using GM since 3.1... I know most of it I guess
 
I'm exactly familiar enough to make a rad RPG, and no more. I'm a very lazy programmer...I only look into things when I come to a wall. That's not very often, since my game doesn't need too much advanced code, but I do Google things or check the manual once in awhile still. :)
 
Y

Yilly

Guest
I started with RPG maker as well (in the game engine department anyway, that is).
I lasted literally five minutes with it.
Hey, I actually enjoyed RPG Maker at the time, it was a good introduction to programming concepts for someone who's never done it before! Too bad I'm too professional to use it anymore. :p
 

Yal

šŸ§ *penguin noises*
GMC Elder
Seconding pen and paper.... it's so much harder to get distracted when you work offline with a physical object that can't open alternate tabs :p It's also much faster to doodle something up with a pen than it is to doodle in a digital program from my experiences, no matter which one you use, especially if you're good at drawing. A picture says more than a thousand words and all that. I'd estimate less than half of my game design/todo list documents are text :p
 
I'm one of those people who keeps picking up GML from YouTube tutorials and then moving onto other projects, so that when I remember to come back, I have forgotten almost everything. Yay! That's what I get for having too many interests.
 
Try sticking to a project to a while, it will help you learn quickly.
Hence why I'm focusing on art (and maybe my music). I'm trying to network to USE these talents on other people's projects, so it actually only focuses on one or two major aspects of my interests. That way I learn for myself, as well as from others.

I can never make anything simple for myself. I'm going to be dead one day, and I strive to squeeze the orange of life to make as much pulpy creative juice as possible. Drink up, purveyors and consumers of entertainment and art!
 
Hence why I'm focusing on art (and maybe my music). I'm trying to network to USE these talents on other people's projects, so it actually only focuses on one or two major aspects of my interests. That way I learn for myself, as well as from others.

I can never make anything simple for myself. I'm going to be dead one day, and I strive to squeeze the orange of life to make as much pulpy creative juice as possible. Drink up, purveyors and consumers of entertainment and art!
What type of art do you do? (Out of curiosity because you could get someone to work with by posting here)
 
What type of art do you do? (Out of curiosity because you could get someone to work with by posting here)
I do 2d animation (like fully animated cutscenes with character movement with two-tone shading) and various portrait artworks. Basically what you see as my avatar! I will probably post a thread offering my services soon (but alas, this is only my fourth post, so I cannot post links just yet!).

I am heavily influenced by anime. But I add my own spin on things. And I am big on shading detail and making sure the color grading is exemplary, to a fault.
 
I do 2d animation (like fully animated cutscenes with character movement with two-tone shading) and various portrait artworks. Basically what you see as my avatar! I will probably post a thread offering my services soon (but alas, this is only my fourth post, so I cannot post links just yet!).

I am heavily influenced by anime. But I add my own spin on things. And I am big on shading detail and making sure the color grading is exemplary, to a fault.
That sounds great, if I wasn't in the middle of my current project then I would definitely look into you.
 
Top