1. Hey! Guest! The 36th GMC Jam will take place between February 27th, 12:00 UTC - March 2nd, 12:00 UTC. Why not join in! Click here to find out more!
    Dismiss Notice

How familiar are you with GML?

Discussion in 'Community Chat' started by Lemmon, Feb 3, 2017.

  1. Lemmon

    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.
     
    607 likes this.
  2. Bingdom

    Bingdom Googledom

    Joined:
    Jul 1, 2016
    Posts:
    1,680
    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: Feb 3, 2017
  3. Ampersand

    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.
     
    AhmedSh4hien likes this.
  4. Nocturne

    Nocturne Friendly Tyrant Forum Staff Admin

    Joined:
    Apr 13, 2016
    Posts:
    7,140
    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
     
  5. Coded Games

    Coded Games Member

    Joined:
    Jun 20, 2016
    Posts:
    442
    I feel I know the language well enough that I could make whatever I want with it. Although, I still keep the manual open constantly since I never remember if its color_make_rgb or make_color_rgb (since the auto complete never shows up if I spell it color instead of colour...) Ugh
     
  6. Posh Indie

    Posh Indie Member

    Joined:
    Dec 5, 2016
    Posts:
    206
    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).
     
  7. Cloaked Games

    Cloaked Games Member

    Joined:
    Jul 4, 2016
    Posts:
    835
    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!
     
  8. kburkhart84

    kburkhart84 Firehammer Games

    Joined:
    Jun 26, 2016
    Posts:
    470
    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?
     
    Tthecreator and Cloaked Games like this.
  9. abd_sab

    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.
     
  10. Jobo

    Jobo Member GMC Elder

    Joined:
    Apr 19, 2016
    Posts:
    312
    All the time!
     
  11. Ampersand

    Ampersand Guest

    Oh good, I thought I was just going insane being this many years in and still mixing that one up...
     
  12. DrewSparks

    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.
     
  13. The hardest part was testing, testing, testing and more testing.
     
  14. Ampersand

    Ampersand Guest

    Exactly. Figuring out my own lightweight pathfinding for my platform engine? Relatively easy. Near-infinite iterations of testing to get the behaviour on one type of particle to my liking? Surprisingly frustrating.
     
  15. 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 :)
     
  16. GMWolf

    GMWolf aka fel666

    Joined:
    Jun 21, 2016
    Posts:
    3,518
    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
     
    607 and Mike like this.
  17. JackTurbo

    JackTurbo Member

    Joined:
    Oct 19, 2016
    Posts:
    832
    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.
     
  18. frumple

    frumple Member

    Joined:
    Feb 4, 2017
    Posts:
    55
    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.
     
    Quailfail likes this.
  19. Strawbry_jam

    Strawbry_jam Member

    Joined:
    Jun 20, 2016
    Posts:
    217
    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.
     
  20. frumple

    frumple Member

    Joined:
    Feb 4, 2017
    Posts:
    55
    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.
     
  21. Chris S.

    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.
     
  22. Brennan

    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. :)
     
  23. 607

    607 Member

    Joined:
    Aug 10, 2016
    Posts:
    122
    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.
     
  24. sp202

    sp202 Member

    Joined:
    Sep 26, 2016
    Posts:
    970
    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.
     
  25. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    1,106
    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
     
  26. zendraw

    zendraw Member

    Joined:
    Jun 20, 2016
    Posts:
    1,386
    the hardest part is not to look obstacles as a problem, but as an oppurtunity to grow.

    also Greetings, fellow lemon.
     
    607 likes this.
  27. Rivo

    Rivo 7014

    Joined:
    Jun 22, 2016
    Posts:
    205
    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)
     
    607 likes this.
  28. Alyxx

    Alyxx Member

    Joined:
    Feb 21, 2017
    Posts:
    44
    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.
     
    607 and Chris S. like this.
  29. Jaymatham

    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.
     
    607 likes this.
  30. Alyxx

    Alyxx Member

    Joined:
    Feb 21, 2017
    Posts:
    44
    YES! This is the most important part! When you start coding and see what your code does, that's how you truly learn...
     
    Chris S. and 607 like this.
  31. FrostyCat

    FrostyCat Member

    Joined:
    Jun 26, 2016
    Posts:
    4,865
    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.
     
    GMWolf likes this.
  32. Tsa05

    Tsa05 Member

    Joined:
    Jun 21, 2016
    Posts:
    562
    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)
     
    Quailfail likes this.
  33. chance

    chance predictably random Forum Staff Moderator

    Joined:
    Apr 22, 2016
    Posts:
    809
    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.
     
  34. gmx0

    gmx0 Member

    Joined:
    Jul 10, 2016
    Posts:
    59
    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.
     
    Alyxx and Chris S. like this.
  35. Alyxx

    Alyxx Member

    Joined:
    Feb 21, 2017
    Posts:
    44
    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.
     
    Chris S. likes this.
  36. gml is very easy. been playing with it for a long time now.
     
  37. Zerb Games

    Zerb Games Member

    Joined:
    Jun 27, 2016
    Posts:
    259
    wat is gmI?
     
    Shadow Gamer likes this.
  38. Yal

    Yal GMC Memer GMC Elder

    Joined:
    Jun 20, 2016
    Posts:
    4,214
    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.
     
  39. Yilly

    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: Mar 26, 2017
    Quailfail and Yal like this.
  40. Bingdom

    Bingdom Googledom

    Joined:
    Jul 1, 2016
    Posts:
    1,680
    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.
     
    RichHopefulComposer likes this.
  41. BlaXun

    BlaXun Member

    Joined:
    Mar 21, 2017
    Posts:
    38
    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
     
  42. RichHopefulComposer

    RichHopefulComposer Member

    Joined:
    Jun 20, 2016
    Posts:
    1,416
    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. :)
     
    Zerb Games and (deleted member) like this.
  43. Yilly

    Yilly Guest

    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
     
    BlaXun, Yal and Lonewolff like this.
  44. Yal

    Yal GMC Memer GMC Elder

    Joined:
    Jun 20, 2016
    Posts:
    4,214
    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
     
    Bingdom likes this.
  45. OneDayDreamer

    OneDayDreamer Member

    Joined:
    Mar 14, 2017
    Posts:
    17
    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.
     
    Yal and PhenomenalDev like this.
  46. PhenomenalDev

    PhenomenalDev Member

    Joined:
    Jan 5, 2017
    Posts:
    121
    Try sticking to a project to a while, it will help you learn quickly.
     
    OneDayDreamer likes this.
  47. OneDayDreamer

    OneDayDreamer Member

    Joined:
    Mar 14, 2017
    Posts:
    17
    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!
     
  48. PhenomenalDev

    PhenomenalDev Member

    Joined:
    Jan 5, 2017
    Posts:
    121
    What type of art do you do? (Out of curiosity because you could get someone to work with by posting here)
     
  49. OneDayDreamer

    OneDayDreamer Member

    Joined:
    Mar 14, 2017
    Posts:
    17
    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.
     
  50. PhenomenalDev

    PhenomenalDev Member

    Joined:
    Jan 5, 2017
    Posts:
    121
    That sounds great, if I wasn't in the middle of my current project then I would definitely look into you.
     
    OneDayDreamer likes this.

Share This Page