Disclaimer, this is not a program where you can draw some pictures and pop out an AAA game in a weekend. In fact, there is no such thing, as with anything else you get what you put into it. Now for the real review.
I've been using Game Maker for a few years now, since 8.0 was new, spent way more hours on it than I'd care to admit, and now that it's on Steam I like it quite a lot. I'll make a list because I'm lazy and lists are easy to write:
- It's easy to get started with, and the interface is pretty straightforward. It's especially a good way to get beginners' hands wet with game development, since you have pretty much everything you need in a nice, neat GUI you don't need to be intimidated by having thirteen command prompts open at the same time. You make some sprites, you write something out, you hit the little green triangle. No cryptic gcc -o this_is_a_game.c
or anything like that.
- The code's simple. Create a room, create an object and start doing magic. There really are no arduous public static void main
s or #include<iostream>;
, just pure program logic.
- That being said, it's the best intro-to-programming tool I've ever seen, probably better than the Intro to CS class at your high school. Get used to Game Maker, and learning mostly any other language is a breeze. (Just don't slip up and write a line of GML on a school test, I've done that before and it was kind of akward.)
- It can be as simple or as complicated as you want. You can make a fun little puzzle game with exclusively drag-and-drop, so long as you put some time into it, or you can spend a half million lines of code using every tool in the box and make something you'll be proud of for the rest of your life.
- It can do . . . a lot
. Basic math, file I/0, controller support, physics, shaders, porting to multiple operating systems or even devices, a decent amount of 3D (that's where the real
fun begins, imo), multiplayer networking, IAP/microtransatctions, Steam achievements, you name it. Heck, you don't even have to make a game if you don't want to, you could use it to crunch statistics, manage a database of sorts, do your trigonometry homework, or something even weirder. (Just no malware, please, that ain't cool.)
- There are practically no predefined spaces you have to work in. You have the Rooms you start out in, which are completely empty and can look like anything you want them to. With no disrespect to RPG Maker or GBA ROM hacks, but the way your game looks and feels is completely
up to you. If you can imagine it, you can probably make it happen.
- It's fairly easily extendable. If GMS doesn't happen to have a particular networking function, sound engine, particle type or data structure you want, you can probably find an extension someone wrote for it on the Internet. And then there's always the Steam workshop, a lot of the things posted in there are pretty bizarre but there's also a ton of useful things in there you can use.
- It has the most extensive product manual I've ever seen. If you need information about string manipulation quickly, you can just hit F1 and look it up in about 30 seconds. In the rare case that you can't find what you're looking for there,
- Game Maker has a bloody huge community for it, so if you need help with something you usually don't have to look long on the Internet to find an answer. This isn't something directly related to the product but it's still a nice resource to have. Also I make YouTube videos on it periodically, but that's neither here nor there ^^
Couple negatives which I personally don't think are much of a problem but you might want to be aware of:
- Not truly object oriented. Pretty close, with the event types and such, but not quite. Bit irritating if you're like me and your native languages are named Java and Python.
- The error messages are not the easiest things to read in the world. They're not as bad as "Segmentation fault, core dumped, good luck finding the problem" but you may still get some gray hairs trying to figure out what they're telling you.
- It's not the fastest code out there. Games from Studio are a lot faster than games from past versions, but they still don't quite match up with a game made in C or C++. However, you should probably be fine so long as you don't have nine hundred thousand objects active at the same time.
- The code's loose, which is nice, but sometimes too loose for its own good. It doesn't check syntax on the fly to see if you've misspelled a variable name the way Eclipse does, and there are few things more annoying than having to rerun your game because you typed max_health_pionts
instead of max_health_points
. Ending statements with semicolons is not enforced, and you can get some pretty weird errors if you're not careful about them. It used to be worse, in past versions of GM you could literally have fifteen resources with the same name and you wouldn't even get an error when Game Maker tried to figure out whether you were trying to referring to a sprite, object, room or background, but it can still get pretty messy. In any case, it's always good to encourage organized programming habits.
- Program crashes, sometimes quite often. Sometimes it hangs when you try to open a resource, sometimes it stops responding during compile time even when there's no errors, sometimes you get random Windows memory error messages for no apparent reason. Hopefully they're planning to address some of these (obscure pun not intended) in future updates.4/9/2015 On version 1.4.x, I haven't seen the program crash for any of the reasons I mentioned just now in quite a while. Not going to assume it's perfect quite yet but it's a lot better than it was when I wrote this.
- You're going to have people thumbing their noses at you for using a product named "Game Maker." Unfortunate, but true. Solution: make something good, that ought to shut them up.
Lastly, this isn't a positive or a negative but it really doesn't make a difference whether you buy this through Steam or the Yoyo Games web site. I prefer Steam because of how connected it is with the workshop and everything (and the achievements look pretty), but to each their own.
Now, go make the next Smash Bros. Have fun!