• 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!

I'm a very beginner and need an advice of how to start

S

Sushapel

Guest
So, for years I was dreaming about developing my own game dreams into real life.
Recently I got more motivation and became more serious about it.
I'm good at graphics, music and storyline, so I really feel like developing the game itself is the only thing which makes me still far away from actually making it.
I really want to start learning GameMaker, but I don't really know how. I start to watch Shaun's tutorial on youtube, done 3 episodes and everything worked perfectly... But I didn't really understand what am I doing at 80% of it. Also, it's not really the kind of games I want to make. I'm really not sure where should I learn it.
I would be glad to hear professionals' advice, or at least those who experinced learning GameDeveloping from 0. Telling me how sould I work to start getting serious on game developing, can be very very helpful for me.
Huge thanks for helpers
 

Niels

Member
Keep doing tutorials, after setting up movement and collisions a few times you start to understand the "why". Also don't be afraid to break/experiment with the code you have.

And lastly, read the manual, it's a excelent learning source!
 
T

Triangle

Guest
Well, I'm no professional, but I just started programming about three - four months ago, so maybe I can help a little just based off of what I've been doing. First of all - do exactly what Niels said - it's fantastic advice and it certainly worked for me. There's also a bunch of small things that make using Gamemaker less scary, and maybe that's where I can help by telling you what ended up helping me. I found out this stuff over an embarrassingly long period of time, so it might be nice to have some of it in one place.

  • I don't know if you know this, some tutorials mention it and others don't, but middle-clicking on chunks of code will automatically open the manual entry for it, which saves a huge amount of time and means I actually bother to check the manual for even the small things. This works also if you write a script, clicking on the function calling it will actually open your script in a window.
  • Also, you should know some other basic stuff to save time. CNTRL - SHIFT - F searches for keywords in all of your code, and lets you automatically replace the keyword with something else - a lifesaver if you rename an object after already writing code referring to it. Seriously, I don't know why tutorials don't mention this sooner, it's a real actual lifesaver.
  • CNTRL - F works as it usually does elsewhere and searches for keywords just in the code you have open at the time.
  • Holding middle mouse and dragging moves your view around the workspace (This is most useful in the room editor). I actually spent the first three months of my time with GMS 2 moving around rooms and workspaces by zooming in and out at what I wanted to pan to. It was painful, I was an idiot, and I don't want you or anyone else to repeat my mistake.
  • You've probably already heard a bit about the different styles of code, maybe something about tabs and spaces and whatnot. In case you don't know already, this is just for readability, its easier to see what code runs after an if statement if the whole chunk is shifted to the side. That's about it really, everyone just does what works for them and it's not the end of the world. I recommend just copying whatever style the tutorial you're following uses - do keep in mind that it can vary significantly between different tutorials, so don't get too comfortable.
  • Also, always keep a consistent naming scheme. Use prefixes in your asset names - obj_Something or oSomething are the most common ways to refer to an object called Something, but it can devolve pretty quickly if you aren't paying attention and have a lot of assets. The prefix won't get you, but anything after that will - suppose you have obj_enemy_arm_left. Would it be better as obj_arm_enemy_left? It depends on how you organize things.
  • Sooner or later, you're going to want to rotate something in the room editor. This haunted me for a while but it's actually really easy. Double click on the object in question and it will open it's instance menu thing, with a field for 'rotation'. Just set that to some degree number and you are set. You can do this with code using image_angle too, by going to the instance creation code from that same menu. Instance creation code is pretty neat, I use it if I want an object with a normally randomized texture to have a set sprite for some reason (if you want to make randomized textures, do this: make a sprite, copy it's frame, recolour it or do whatever with it, and repeat this until you have a sprite with a frame for each variant you want, then in an object with that sprite make a creation event with simply image_index = choose(0, #) with # being the number of frames, and then image_speed = 0 right after that; this will set the sprite to one of the frames and prevent it from animating). Tangent aside, you can also rotate objects by hovering over the corner of them and dragging when you see a rotate symbol appear.
  • The room editor grid! In the upper right of the room editor, there is a little grid thing. You can click that to change the grid size or disable the grid. This dictates the 'snapping' of assets to the room, which is very useful. It's also specific to layer, so if you love suffering as much as I do, you can have multiple tilesets WITH DIFFERENT TILE SIZES :D
  • Learn to use layers in the room, they are fantastic and I can't decide whether they or autotile is the best part about GMS 2. I have a layer for lighting, a layer for bullets, a layer for my wall tileset (which goes over a generic wall object so I don't have to have different wall objects for different materials), a layer for carpets, a layer for bullet casings and detritus, a layer for floors, and that's just a few of them. I used to use depth for everything but it is abstract and breaks whenever you add new layers, so I'm currently planning to switch my projects over to instance_create_layer() from instance_create_depth() because it is so much more foolproof.
  • Lighting isn't really important for learning how to program, but it's fun and super easy so I might as well mention the way I do it. So if I want a darkened room, I make a new sprite that is the size of my basic tile (20x20, 32x32, 64x64, 75x75, whatever you use) and go into the sprite editor. Then I select pure black with the colour picker and click on it to open the colour editor and just drag the 'alpha' (read: alpha is transparency) to whatever I like - the lighter the darkness, the more transparency, the darker the darkness, the less transparency - and bucket fill the sprite. I like to make several sprites like this for different levels of darkness, but alternatively you could have one very light sprite and just drag more on top of each other to make things darker. Either way, you then make an 'asset' layer in the room that should be above anything you want to be dark, then you drag your sprite into it and drag and expand it until it covers the whole area.
Hope at least one of those things were helpful, and good luck learning game development! It's hard but twice as rewarding as it is painful. Some final advice would be to keep mixing it up with what you do in Gamemaker. Developing a game is perhaps the most multidisciplinary task on Earth, and you'll definitely feel pulled one way or another by some part of it that suits your skills, but you do have to dabble in everything a bit. So experiment, mess around with it all. Make lots of small games - don't abandon whatever games you have in your head right now, but take this time to try everything and get comfortable. I can't help you much personally with programming and such, I'm still basically in the same boat as you, but this forum is absolutely full of people who are both extremely competent and patient, and you should absolutely talk to them and learn as much as you can from them. For my part, I don't know how much help it'd be, but feel free to contact me through my profile, I can at least help you learn pixel art if you are interested.
 

Toque

Member
No matter what you do its going to seem overwhelming at first. In my opinion people always say how easy it is but I think its hard at first.

Some might pick up D and D faster but I found it confusing and GML was basically the same for learning for me.

But if you will get better and comfortable with it. Just keep going. So only the determined will survive.

You can't do complex until you know how to do basic things. So don't panic if you run into things you don't understand. Ive only been learning for a few months so Im still running into new things every day.
Some things you probably will never use so no point worrying about them. When you need them you will learn them.

I started with tutorials from you tube. I was lost quite quickly. But kept watching them.

Then I did Craig's udemy course that was on sale. That was pretty good. Again just covered a lot of the basic processes and concepts. Didnt understand everything the first time but thats fine.

I hired a couple kind individuals from the community for some individual help.

I made a cheat sheet. I would add things to it for quick reference. I still use it everyday. Im old and have a poor memory.

I guess it depends on the kind of learner you are.

Best of luck and have fun. Remember GML is like learning any new language. Learning something like Russian would only get easier with time and practice and repetition.

Have fun
 
S

Sinaz20

Guest
Hi.

I am a professional... and I owe a lot to Game Maker-- as it helped me transition from a digital artist into a designer. The attitudes and skills I developed using GM since around 2005 propelled my career to where it is today.

Here are the activities, goals, and philosophies that I, in retrospect, found to be the most valuable:

  • Read the GM:S2 manual from top to bottom. On every page, be thinking about how you might apply this to development. Ask yourself why a particular engine feature is there. You'll find yourself jumping into GM:S2 and writing little programs to output function returns to dialog messages and such just to see for yourself what the practical response is. Especially in the GML Reference section, you'll begin to understand the possibilities available to you and you won't be able to help yourself but to try out alarms, and write custom draw code, and try manipulating sprites in surfaces, etc.
  • Also, as a note about reading the manual, GM:S2 has a very easy to read and grok manual. Going through it will get you a good understanding of C-like languages that you will take with you into other endeavors and engines.
  • Scour the Programming and Advanced Programming subforums for problems that seem like interesting challenges for yourself. Treat them as a sort of homework. You don't have to post your results back onto the forum, but solving real practical problems will develop skillsets for your games.
  • As much as you want to make your opus on day one, start small. I make an artistic Pong clone with each new major revision of GM that I use. Make some arcade clones, or even just try and replicate a single feature from a prominent game... like Mario running and jumping. Replicating a card game like War or Solitaire will teach you a lot about datastructures and managing game and object states. The first real AI I ever wrote was for a card game.
  • This is a personal philosophy for me, but I believe that good game making discipline starts with creating a complete front-end and developing in sprints. So the first thing your game should have is a start menu that allows you to enter the game room, escape back to start menu, and escape/quit the game without pressing ALT-F4. At that point, you have a viable release candidate game. Then develop the meat of the game one feature at a time so that at no point do you have a broken or unplayable game... even if it is feature incomplete or buggy, at least you can start it and quit it without the Task Manager ;)
  • I would also recommend you not focus on art at first, as that is the great time-sink of game making. If you plan on making side scrollers and such with animation-- do yourself a favor and grab placeholder sprites from opengameart.org or spriters-resource.com just to get you moving forward with mechanics. Just make sure you actually replace that art in the end.
Good luck- have fun- never ever accept the answer "it can't be done"-- I've proven otherwise in Game Maker over and over again.
 
So the first thing your game should have is a start menu that allows you to enter the game room, escape back to start menu, and escape/quit the game without pressing ALT-F4
Then develop the meat of the game one feature at a time so that at no point do you have a broken or unplayable game...
This is a great philosophy...it helps keep motivation up when you always have a working game with working features that can be played and demoed at any time. Which reminds me I need to go make the main menu for my current game. :)
 
Top