Lesson 7: The Manual
In this video, Aaron highlights the importance of the GameMaker Studio manual, a resource that explains everything from functions to built-in variables. Unlike many technical documents, this manual is comprehensive and user-friendly.
Aaron demonstrates how to access relevant sections of the manual, discusses the manual’s structure, and encourages the use of its search function, autocomplete feature, and examples.
He emphasizes the importance of asking questions when encountering difficulties, as others likely face similar challenges.
Lesson 7 Transcript
So now I want to cover something that might seem really boring and not necessary, but believe me that it is.
The manual in GameMaker Studio explains how everything works, every function, every built-in variable, all of the stuff, and it does a very good job at it.
If you’ve ever done any programming and you’ve looked at manuals, then you probably know a lot of times they’re really bad. The technical documentation can just be awful and useless and lead you to look anywhere else. But fortunately, that’s not the case here.
So the way to access the manuals, but coming up and clicking on help and Open Manual, but I never use that because when you want help on something, you usually are looking at it and you’re trying to understand it.
So if you put your mouse over or next to whatever, you click on it and you put your mouse there and you press F one, it will open up exactly what you’re on and what it’s about.
Assuming it can find it, if it’s a variable that you’ve made that won’t be useful. But if it’s anything else, it will be able to find it.
So I’ll press F12 to maximize our screen real estate here. And you can see that this is telling us all about why, which is really cool and has a really good explanation for it. And down here on the left, you have going back. So this is like the hierarchy.
Where does this built-in property come from?
It comes from instance variables, and those are made up of instances. And then language reference, scripting, and contents. And then you’re at the very front here, over here on this side is all of the stuff that it has.
So looking through this can be a little daunting because there’s tons and tons of stuff in here. But I do encourage you to come in when you are confused about something or if you want to know if GameMaker can do this or that.
There is a search function up here so you can search for something. And there’s also an index if you want to just look that way if you know the actual name of what you’re looking for.
And then of course, whenever you’re typing anything out, you can let auto-complete come in. So if I typed in something like S P R, you can see it’s going to come up with a lot of options.
It has built-in variables, constants, and functions that you can access. And you can just click on one of ’em, have it auto-fill for you, and then press F1, open up the manual, and see exactly what that does. This is a great way to just learn.
So in the manual, it has a great description. It has the syntax of how you use it, and the arguments which we’ll get to later, but then it tells you what it returns and some examples. And usually, these examples are actually really useful. So check those out.
A lot of times what I will do is I will just open up the manual on something, scroll right down to the example, and look at it because my knowledge lends it to looking at the example
Code. But if you’re not quite there yet, read the description and you’ll probably understand what it does. If you don’t, after looking at the manual, then ask questions.
I am here for you. I will be available to answer questions. So just let me know and reach out, and I will do my best to help you.
And I’m sure the other students taking the course will also help you because let me tell you something if you are struggling at all, you are not the only one.
I guarantee there’s another student, probably another five to 20 to a hundred that are struggling with the exact same thing you are. And if you remain silent, you won’t be able to find the help, and then they won’t be able to get the help either.
So speak up, and ask questions. If I’m never clear enough if I don’t explain something in a way that resonates and connects with you, then ask and I will explain it and I will answer to the best of my ability.
And what I want to talk about next is actually when you ask for help, I’m going to give you some examples of the worst way to do it and the best way to do it. Because asking questions can actually be more difficult than you think. As a designer is one of your biggest skills that you have to work on.
Lesson 8: Asking For Help
In this video, Aaron explains the difference between bad and good questions, emphasizing the importance of providing enough information to get a helpful answer. He provides examples of poorly phrased questions and contrasts them with well-constructed ones that include specific details about the issue.
Aaron highlights the importance of including the full error message, screenshots of the code, and as much relevant detail as possible. He stresses that asking questions is a skill crucial for game designers, as it facilitates better communication and problem-solving.
Lesson 8 Transcript
When it comes to questions you’ve heard it said that there is no such thing as a stupid question, but there are definitely things such as bad and good questions.
So here are some examples of bad questions.
It is not working. That’s not actually a question, but you might be surprised how often I get that I did exactly what you did, but it doesn’t work.
Again, not a question, something I see all the time though, and it doesn’t tell me anything because if you actually did exactly as I did, then it would be working because when I did it, it worked. So that doesn’t give me any usable information.
I’m getting an error when I run my game, how can I fix it? So this is a little better. It’s actually a question they tell me they’re getting an error, but if I don’t have the air, there’s not a whole lot I can do because it could be one of a thousand different things.
So these are examples of bad questions because I am unable to answer the question or statement because you don’t give enough information or I don’t, I’m sometimes I’m really bad at asking questions too.
Here are some good questions.
I’m getting an error variable, not initialized on line 13 with variable my name. Why? Okay, so there’s something specific.
Tells me the line, you tell me it’s a variable, you tell me the actual error that’s happening and you want to know what’s going on. I can answer this question with pretty certain specifics and help you find a solution. That’s awesome.
The second one, when I collide with a solid, I move straight through it, but only while running on the left. What’s happening?
So we’re going to tackle collisions when we are moving characters, and this is going to be something that you might run into, and this is a pretty good question.
It does help me. It could do a little more information, but I can probably guide you to what you need to do based on this because there’s enough information on it and I want to give you some examples of what great questions include the full error message.
Now, when I say error message, what I mean is, that if you try to run this, we’re going to look at errors more specifically in a little bit. But if I try to run this right now because I misspelled the variable, I’m going to get an error.
This is an error message right here, and if you copy this whole thing and paste that in there, that is helpful. I’ll be able to tell you exactly what went wrong with your code or game. If you do that, screenshots of your code is also very helpful.
And then as much detail as you can. Really, you cannot include too much detail, assuming that it is relevant. The amount of detail you add will only help the person answering. So why am I going over all this?
Well, as a designer, your goal is to get people to work together. But to get people to work together, you have to understand why it’s not working. What each person wants. Maybe their goals are the same, but they can’t communicate that.
You have to be able to draw out of the people you work with exactly what’s going on so that you can fix it. And when you can ask good questions, you’ll get better answers.
So asking questions is a skill, and as a game designer, if that’s what you want to become or do, then you’ve got to ask great questions. Both when you’re looking for help yourself and when you’re trying to solve problems amongst people or groups or whatever the case is.
Asking questions is a skill. The more you do it, the more you practice, the better you’re going to get.
So I highly encourage you both for you and for me as we’re going through this course. Ask great questions, give me lots of details, include examples, and tell me what is going on and what’s not working exactly. It’ll be better for you and it’ll be better for me.
So what we covered in this module was what is a game designer. What is a game programmer? What’s the difference?
We looked at GameMaker Studio 2 and what it can do. I introduced you to what makes up a 2D game, how to make a Sprite, create an object.
And we started to code. We looked at all the events that you can put into your game and how it all fits together to start creating something.
In the next module, what we’re going to do is start working on a snake-like game. If you ever played Snake, the old-school game that used to be on every single phone ever, we’re going to make something similar to that.
It’s going to be really fun, and we’re going to have a lot of really good discussions on how to design a game what that means, and what that looks like. That’s going to be coming up in the next module.