I kind of wanted to write a more detailed post about my background, how I got into game making, and what my early experiences were like, but I decided that a post like that would end up being way too long. Instead, I decided to split it all up by talking about the different tools, programs, and resources I’ve used since I began my game-making hobby. When it comes to game creation, we all can assume that you don’t just turn on your computer and begin immediately pressing keys until a game manifests itself in front of you (though I suppose if you were REALLY talented, you probably could probably manage this somehow; I, however, am not that talented). Generally, you find some kind of engine that fits your needs and you start teaching yourself to use that engine. All sorts of engines exist that appeal to a wide range of experience levels, and the one I chose ended up working very well for me. So let’s talk about Game Maker Studio.
I’ll admit that my decision to use Game Maker was not the result of any reasonable investigation or diligent evaluative process. I ended up with Game Maker for two reasons: I saw it on Steam, and it was free. I had no major interest in game creation when I downloaded it; I got it out of a “Why not?” sentiment, and it sat unused on my computer for a couple of months afterwards. It was only after I began playing more independent games that I became interested in creating games of my own. I had prior experience with programming; my first year of college was as a computer science major before–like most college freshmen who didn’t really think all that much when initially choosing a major–I switched to something that wasn’t completely confusing. I’ll readily argue that learning to code is like learning a language, and in my foreign language experiences, I latched onto grammar and sentence structure fairly easily. Remembering all that vocabulary, however, was something I just couldn’t do. And so in Computer Science, while I never had a problem understanding the logic and processes of what I needed to do, remembering specific functions and terminology was beyond my ability at the time.
Game Maker Studio had a lot going for it that eased my previous issues. The drag-and-drop system was a godsend when I first started out. Rather than forcing you to code straight away, the program presents commonly used functions as tiles that you can drag into your object menu. Upon doing so, a window pops up that asks you to fill in all necessary info for the function to work. Additionally, object creation (as well as sprite, room, sound, script creation) is extremely simple as well. Every object has its own window and all actions are divided by the different triggers. So if you want an object to do something as soon as it’s created, you place those tiles in the Create Event, and if you only want an action to occur when the object makes contact with another object, you can create a collision event exclusive to that other object.
To give an example, let’s say you’re creating a player character object and you want it to move a certain distance to the right when you press the right arrow key. There are a number of keyboard events you can use and dedicate to a specific key (for example, use Key: Right Arrow Event). In the event, you have a number of movement tiles you can place, the simplest probably being “Move Fixed.” Drag this tile into the Actions panel, and it will ask you to specify a direction and movement speed. That’s all you really need to do. Creating and applying a sprite to the object are fairly straightforward, and now you have an object that moves to the right when you press the right arrow key.
The drag-and-drop system was exactly what I needed to ease myself back into programming. What was even better was how quickly I abandoned it. After spending a couple months following tutorials and teaching myself by making smaller, throwaway projects, I became familiar enough with the system that I was able to translate each of the tile functions to an actual identical function within the GML coded language. Once you figure out how to accomplish an action in code, you realize how much faster everything is. The more you use the program, and the more you use the language, the better you get at finding the most efficient way of accomplishing a task. And I think that Game Maker’s drag-and-drop system really helped me attain this proficiency. I found the D&D system itself is pretty limited early on (some actions cannot be done at all with D&D), and any substantial project should be written mostly in code. But from an educational standpoint, drag-and-drop was fantastic.
All in all, I would recommend Game Maker to anyone interested in making games, especially if they don’t have much experience. The program is pretty expansive and gives you a lot of freedom to make almost any game you want (2D games at least; GM has 3D functionality, but there are other engines better suited to this). The program also doubles as a fantastic educational tool. Also, it doesn’t hurt that some fantastic games were created using Game Maker, like this, or this, or this, or this. A free version is available on the official web site as well as Steam. Try it out, and consider investing in at least the Standard edition if it looks like something you want to continue working on.