• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

What do you think is essential learning for beginners in GMS 2?

C

Crysillion

Guest
I've been poking around with various tutorials and gotten a very basic gist of what I can do with Game Maker Studio 2. However, I know that there is so much more, but I've kind of hit a wall where there's an absolute ton of stuff to learn, but I still feel like I haven't quite learned the "essentials" just yet. The stuff you're most likely going to use in your project.

What kind of code do you feel would be essential learning, and where, in your opinion, is the best place/method to try and learn how it works?

I'm talking about stuff like arrays, lengthdir, etc.

What code do you think would be a very good thing for a beginner such as myself to learn?

In example, I actually don't have a solid grasp on arrays or lengthdir yet. What would be some recommending watching/reading to really try to nail something like that down?

Thanks. Sorry if it's a bit long-winded, I had a bit of difficulty trying to explain this properly in a way that made sense. Basically I'm just trying to learn the "essentials of Game Maker", for lack of better words.
 
S

Silver_Mantis

Guest
I don't really know if there is an essentials list. I mean I always refer to the manual when I forget even small stuff.
The more you code, the more you'll understand and remember it. It all depends on what you want to do and how you yourself approach code.
For instance, if you and I made an inventory system for a game, it could be completely different, but we both used what we understood the most.

What I suggest is starting small. Try something simple, like a 2D Platformer or a Point and Click Adventure. Maybe even a puzzle game.
I see a lot of newer people try to dive into RPGs or fighting games and it never works out for them and they get frustrated.
That's great to have that ambition, but you can't make what you can't understand at least a little.

If you need to learn arrays and lengthdir for a certain project, look up what they do in the manual and try to apply them.
If you get stuck, look up the use of this code in other examples, Ask here in the forums, or ask other programmers how they did it.
I wish it was a cut and dry as you put it, but coding is a very situational type of ordeal.
Each problem probably has 10 ways of solving it and it isn't always the method you'd think! ;)
 
C

Crysillion

Guest
Thanks for the input, but this is much less of a "I want to do X but don't know how" and more of a "Oh, now I know how to do Y, this gives me an idea for Z".
 
B

Bayesian

Guest
Thanks for the input, but this is much less of a "I want to do X but don't know how" and more of a "Oh, now I know how to do Y, this gives me an idea for Z".
You could also approach learning the other way around. Say you have an idea for Z, try to program it and see what problems you run into, try to solve them and learn from the experience. That's how I've done most of my learning.
 

Binsk

Member
Honestly, I think just knowing how to use the manual, GML syntax, and the concepts behind GM objects is the most GM specific stuff you need.

The biggest thing I always found useful when coming up with or making projects is knowing various mathematical concepts. The more math you know the more ideas you have (at least for me).

Take your lengthdir as an example. If you know trig then you should know how to convert between Cartesian and Polar coordinates (which is what lengthdir does). This makes circular motion easy; things like orbiting. This can give a plethora of gameplay ideas but, you may notice, isn't actually a GM specific thing.

I often research mathematical ideas and then use the manual to see how i could accomplish these things. My two cents.
 

HayManMarc

Member
  • with() statements
  • switch() statements
  • State machines
  • Collision checking
  • Collision checking, returning ID
  • Data Structures and arrays
  • View manipulation
  • Drawing text
  • Variable comparison vs. assignment
  • Global variables vs. local variables
That's what I can think of off the top of my head. Maybe some other folks can add to the list.
 
M

maru_th_undrtkr

Guest
IMO and this is just an opinion, work on something like a block breaker clone and if u get to something u cant do, then u have something to learn, I mean dont get me wrong there are always optimal ways of doing things but ur talking about learning and well the manual has all the answers and also well people here on the boards are pretty smart and as far as i can tell pretty nice people all around, I love game maker, I used to use it with drag and drop XD to make games in the past, i learned gml over time slowly, u dont need to jam stuff in especially if ur not using it yet, i always forget stuff i never use. again not saying this is the best way, but its what works for me
 
I think the really, really fundamental thing is the ability to research. You can find answers to any of your questions if you can navigate the manual and the forums effectively. That's how I learn everything. Next is math, like @Binsk said, don't ignore your algebra and trig. (Trig especially I've found).

On a less "overarching" side of things, here are a few things that I've found extremely valuable (especially when I was beginning). These things are practically required:
- hspeed, vspeed, speed, and direction; and how they're all related.
- image_angle, image_speed, image_number, sprite_index
- sprite origins, masks and animations
- if else
- for (or while)
- with
- local, global, and temporary variables

More complicated:
- arrays, and then ds_grids, ds_lists
- ds_maps
- collision checking
- state machines
- enumerators
 
W

Woochi

Guest
If your goal is to learn gamemaker: start with an RPG, preferably with networking. There is no essential difference between learning for beginners and learning for advanced users: all learn through solving problems.

By starting with a very complex large game, you will learn at the least the relevant things and at most all about gamemaker as you build: first a character with movement and sprites, then a minimal environment, then add an enemy, then views, surfaces etc. By trying to make those, you will find yourself learning a lot about statements and variable in a way that feels relevant for you. As you try to work toward your goal, you will face a plethora of problems every step, which will at the same time serve as your learning directions. You dont have to go searching for problems to solve, as they-- statements, functions, arrays, surfaces, views, networking, movement, inventories, skill system, enemy AI, animation-- will come to you instead. The downside of it, is that things can get extremely frustrating at times, and you have to be patient and very good at searching the manual, the forum (and reddit subforum etc) and google in general, as has been mentioned already.

Then again, this will only work if you like the programming/learning process in itself as well, and if you dont have the need to just "have a project finished" or so. Really, i dont see any other reason than "motivation" purposes, for the recurring notion of starting with a smaller game and finishing it, thus learning in batches of games, rather than one continuous game.
 
Last edited by a moderator:
Top