Game Maker
From Wikibooks, the open-content textbooks collection
[edit] Some simple concepts
X and Y
As in graphs that you do in school. In Game Maker it is done in pixels and it is quite easy to lose track. In most places (sprite room editor etc.) you will get the chance to find and move x,y coordinates. If you're new you won't know what these are yet but it will make sense when you become more accustomed to Game Maker.
Note- Game Maker uses Cartesian system of graphing, so only x and y values are supported. What about z? z is going on to 3d, so we won't talk about that here.
Step
Every game runs in steps. Each step is 1/30th of a second. 0.06 reoccurring. Unless you have changed the room speed, then it will be different; or if there are too many object/particles and other things that eat up your Frames Per Second. Lets get to the point, a lot of step events happen every single second.
Basically everything is mathematical in here. There's not much math for you to do, if any at all. However if you try to relate everything back to a math lesson you had at some point in your life, things begin to make sense a lot faster.
[edit] The GMC Forum
Game maker has probably the most useful forum I have ever come across. Provided that you should post in the right place (for now novice Q&A).
I'm not sure of the official definition. But I define the border between novice and advanced as the border between no code and code. For instance- any question that involves basic or simple things, it should go into novice Q&A.
I'm unsure how to define expert Q&A.... It seems like an illogical forum to me. Experts usually don't have questions, but this particular board has all of the questions regarding more complex problems. They just talk about questions, but they never ask them. Don't go to that forum until you're ready. But to other news.
you can acess the forum from here
[edit] The Main Functions
Unregistered Game Maker
You will notice a bar near the top of the Game Maker window (underneath file, edit, add etc...)
Okay, from left to right
new game, open, save,
run game, run game in debug mode,
add sprite, add sound, add background, add path, add script, add a font, add a timeline, add an object, add a room,
change game description, change global options
show the help file
Okay, now as someone who is new to Game Maker that probably sounds rather scary. Well most of them aren't necessary for a long time. And once you understand how game maker ticks, it becomes easier and easier to learn it. Their saving saves the game as .GMD which only game maker can read, don't expect to just run it.
run game Possibly the biggest advantage game maker has over program based games, is that from almost any stage of completion, the game can be run to see what its like. I suppose you are wondering what debug mode is. Well, it is unnecessary until you can program in GML (game maker language) so don't worry about it.
add a sprite Well a sprite (who picked the name sprite) is a picture. The majority of things in any 2d game have a sprite. A sprite is basically an image, or a collection of images making a short animation. Collectively your list of sprites ingame are just all the images your game puts on top of each other to create a game.
add a sound As the name says, this adds a sound. Although, sounds are not really worth adding unless you are slightly more advanced. Also in the unregistered version I don't think you can get a sound from a file. Meaning that it has to be stored in the .exe file (in the game).
If you don't know the mechanics of an exe file, think of an exe file as a machine. Normally in games the exe file knows where to find all the resources (i.e. pictures, sounds, menu's etc) and combines them all into a game, which it then spits out onto your screen (look in you program files, for most programs there is an exe file and a dozen or so folders containing files that the program reads, uses, ect..). Storing everything inside the .exe file slows down the running speed of the .exe itself, also longer load times and etc, so eventually (when you get better with game maker) it is better to have the files external (not inside the .exe file).
add a background This is very similar to sprites. Backgrounds are used like the background of your computer's desktop. Everything goes on top of the background.
add an object Now if you remember before, I told you that a sprite is just a large set of images. An object is what you see ingame, or may not see as the case may be. It defines the rules which the sprites follow. Say a sprite were to go left when the left arrow was pressed. The object tells the sprite to go left, if the left key is pressed. You can do a lot of functions, under a lot of events (when something happens, i.e. keypress). events include-
on left mouse click when keyboard button is press on collision with another object every step (every 0.06 seconds)
and the functions include things like move left change the sprite play a sound create another object
Each event can govern many functions. Also, rather helpfully they are well worded- on collision with bullet create instance of object_explosion & play the sound explosion.midi
an instance Is what the player sees ingame, the actual thing. So say you have a robot in your game, who would twist at the torso, and run with his legs. one object would govern the torso and one object would govern the legs. kind of like a tree. Sprites make objects, which in turn make instances.
So in whatever game you are playing take age of empires (which is a 2d real time strategy game, if you were wondering, and is capable of being made in Game Maker) the catapult or battering ram you see ingame is an instance of the object battering ram.
3d When you learn how to program in game maker, you "can" create 3d things. 3d in game maker, goes slower than 2d, so you have to be careful. But assuming that you are new, we will not go into depth about game maker's 3d functions. 3d functions are available only to registered game maker users. To prepare a 3d game, all you have to type is d3d_start() . Then after that... Have fun with lots of head aches!
to be continued later... creators note: [i apologise for the slow progress also i need to streamline it quite a bit to make it more clear, but for now the pub is more important]
Proffessor_gad's note- Ok, I stumbled across this site in search for some knowledge of gml functions. I saw the low-grammatical quality of this page, and I couldn't stop myself from editing it!