For developers just starting in the industry, the task of choosing the best game engine can be daunting. Here, we'll try to address many of the issues concerning one of the most popular game engines, GameMaker, so you can see if it's the right game engine for your project.
You can read our other in-depth guides on all the major game engines on this page.
If you're a games journalist secretly dreaming of being a developer, chances are you've given GameMaker a try.
Above all, GameMaker is an engine for novices -- the artists, the writers, the non-programmers, the people with ideas who have never written a single line of code and wouldn't know where to start. But GameMaker is also much more than that. It's the high-end 2D engine, the top-down action games engine, the puzzle-platformers engine, the pixel art engine.
Vadim Dyachenko has built a career from working with GameMaker. After gaining renown for online multiplayer mods, he was recruited to work on Nuclear Throne, Forager, Nidhogg 1 and 2, Rival of Aether and Caveblazers, among others -- all of which were created with GameMaker.
"The engine is perhaps the most known for a wide variety of pixel art games made with it," he says. "But the past years have seen an increase of higher-fidelity games like Swords of Ditto, Levelhead, Synthetik, or Nidhogg 2."
GameMaker was created by YoYo Games 20 years ago, with an underlying goal to "streamline the development process" using a drag-and-drop visual scripting tool. The engine is currently available under its latest iteration, GameMaker Studio 2 (GMS2), which was released in March 2017. More than 1,000 users register to use the engine every single day.
GameMaker supports a dozen platforms: PlayStation 4, Xbox One, Switch, Windows, Mac OS, Ubuntu, Android, iOS, tvOS, Fire, Microsoft UWP, and HTML5. The engine has various licences available to buy and it's worth noting that -- unlike Unity or Unreal Engine 4 -- there is no free version of GameMaker. There is only a 30-day trial licence, so you can try it out before buying it.
Pricing starts at $39 for a Creator Licence, which you can buy for Windows or MacOS, allowing you to create and publish for that platform and giving you access to the GameMaker Marketplace. Up next are the Console Licences -- three distinct licenses that allow you to test, debug, build and publish your game on PlayStation 4, Xbox One or Switch, for $799 each. There's a fourth version of this licence, the Ultimate Console Licence, that gives you access to all three platforms for $1,500. Both the Console and Creator licences are 12-month, non-renewing licences.
Lastly, the Developer Licence is permanent, so you only have to buy it once. It is also divided into subcategories: the Desktop licence for $99 (Windows, macOS, Ubuntu), the Web licence for $149 (HTML5), the Mobile licence for $199 (Android, Amazon, iOS) and the Universal Windows Platform licence for $199. You can learn more about the different options on this page.
It's worth noting that there's also an Education version of GameMaker, aimed at teachers who want to introduce their students to the engine, with various platform options. Prices start at $10 a month, per seat, with a minimum purchase of five seats. You can find more details about GameMaker for Education on this page.
- What are the advantages of GameMaker?
- What are the disadvantages of GameMaker?
- Advice for new GameMaker users
What are the advantages of GameMaker?
- GameMaker is the best engine for 2D games
GameMaker's primary strength lies in making 2D games, as highlighted by Butterscotch Shenanigans CEO and co-founder Seth Coster. The co-creator of Crashlands and Levelhead, Coster went from no programming knowledge to full-time developer within two years, all using GameMaker.
"GameMaker is the best tool around for making 2D games of any kind"
Seth Coster, Butterscotch Shenanigans
"GameMaker is the best tool around for making 2D games of any kind -- that's what it was built for," he says.
Teddy Diefenbach, aka Teddy Dief, co-designer and developer of Heart Machine's Hyper Light Drifter, agrees that GameMaker shines in "straightforward 2D game making," while also praising its "direct control of how sprites are rendered."
- GameMaker can handle all genres and styles
GameMaker is at its best when building sprite-based 2D games, but according to Benjamin Rivers, the creator of Home, Alone with You and Worse than Death, it can be applied to a variety of genres.
"In our experience, its toolset allows you to make just about any game you can imagine, whether large or small," he says. "Tutorials and videos often focus on games that use pixel art, but GMS2 can handle high-res, varied art styles as well. In two dimensions, I can't think of a single genre it couldn't handle."
Julian 'Juju' Adams, programmer on Hyper Light Drifter and Swords Of Ditto, cut his teeth on various genres in GameMaker and confirms its versatility.
"GameMaker as a tool has few hard limits: I've made 3D games, I've made roguelikes, I've made metroidvanias, I've made competitive multiplayer brawlers," he says. "I make the kind of games that'd make 14-year-old me proud. GameMaker makes the worlds I dreamt of exploring as a kid."
- GameMaker is (very) fast
GameMaker is the go-to engine for beginners for myriad reasons, but its speed at the top of the list. You can have a simple game running in record time, while also iterating and prototyping with ease.
"The workflow of GameMaker is incredibly fast," Coster says. "If you want to render a sprite to the screen, it's a single line of code. If you want to add a font, it's a two-step process. If you want to play a sound, it's a single line of code. When you switch to other engines, you will generally find that everything you do takes some series of steps to get that idea going, while GameMaker does most things you want it to do with hardly any effort."
- GameMaker is simple
GameMaker is also a simple engine to learn, using a plug-and-play system for making games with almost no programming.
"GameMaker removes a lot of the overhead from setting up a project"
"GameMaker removes a lot of the overhead from setting up a project," Rivers says. "With more general-purpose 3D engines, you have to shoehorn a lot of front-end work to set up the in-engine tools you need to start creating the type of game you want, sometimes choosing entire tool-set modes.
"GMS2's 2D toolset, however, handily takes care of the most common aspects you'll have to deal with -- objects, sprites, sounds, and so on -- which means that in most cases, you're not building tools to build more tools. You'll probably have the majority of what you need right in front of you, and because it's not juggling both 2D and 3D tasks, it's lighter-weight with less bloat and a more focused interface."
- GameMaker has its own, easy to learn language
Even if you want to go beyond the drag-and-drop tool, GameMaker uses its own language, so you still don't need programming knowledge to jump in.
"GameMaker Language (GML) is the code language used by the engine," Dief explains. "It's not as robust or object-oriented as common languages like C# or C++, so you will sometimes hit ceilings as your project gets more complex. But spend enough time with GML and you'll also love it. It has weird quirks and shortcuts you won't get elsewhere.
"C# is more robust, but also 'heavier'. GML is Wild West code. It's fast results code. It's beautiful and wild and sometimes frightening."
GML is simple to learn, for both beginners and programmers. Jon Peterson has been using GameMaker for over a decade, making his name by creating tools and guides for the engine -- including Retro Palette Swapper, a system for drawing sprites, surfaces and backgrounds.
"GML is a very forgiving language with few types and fewer syntax requirements," he says. "No need for ; at the end of each line, you can write an 'if' check without parentheses, and new variables can be defined at pretty much any time."
- GameMaker makes exporting to multiple platforms simple
Another way GameMaker simplifies developers' lives is by making it easy to port your game from one platform to another -- provided you have the right publishing licence, of course.
"GML is Wild West code. It's fast results code. It's beautiful and wild and sometimes frightening"
"It really is just choose the platform and press the 'export' button once you're ready to go," Rivers explains. "We shipped our most recent game, Worse Than Death, on five different platforms from one project file. That's a huge win for a small studio, especially, that wants to launch and manage its titles for multiple audiences."
- GameMaker's file sizes are well optimised
GameMaker's simplicity and flexibility is evident in the size of its files, which remain lightweight even when there's a lot going on.
"Games made in GameMaker tend to be pretty well optimised in terms of file sizes, RAM usage, and general overhead, so you can make some pretty elaborate stuff," Coster says. "Forager and Levelhead, for example, often have thousands of instances running at once, and GameMaker handles it just fine.
"Levelhead has dozens of songs in its soundtrack, hundreds of sounds, thousands of sprites, and around 90,000 lines of code. All that comes out to a file size around 250mb, and the game uses around 350 mb of RAM. For how much content that is, that's tiny."
- GameMaker is good at debugging
Debugging is a crucial part of development for any creator, and it is an overlooked strength of the GameMaker engine.
"The debugger is excellent and doesn't get praised enough," Adams says. "It stands head and shoulders above any other engine that I've used."
- GameMaker makes it easy to build in-game tools
According to Teddy Dief, Heart Machine didn't use GameMaker's drag-and-drop system for Hyper Light Drifter, writing custom mechanics for the hit game instead. Dief says that GameMaker allowed the studio to create the tools to do this very easily.
"The simplicity of its rendering systems let us build our own tools inside our game more easily than I've found with any other engine," he adds.
What are the disadvantages of GameMaker?
- GameMaker isn't free
One of GameMaker's greatest paradoxes is that, while it's meant to help beginners get something off the ground quickly, there is no free version. Unity, for instance, allows individuals to create commercial games for free, with a cap on revenue. That's not the case with GameMaker.
"Hobbyist and educational sector users will point out that GameMaker costs money"
"Perceived disadvantages of GameMaker depend on who you ask, but hobbyist and educational sector users will point out that it costs money," Dyachenko says. "The cost of game development tools has decreased a lot over the years, but it's no help if you don't have much spare funds to begin with.
"GameMaker tries to accommodate this by offering a month-long trial version -- which is enough to make a small/average-sized game and decide if you like it or not. But not everyone has enough time to dedicate [a month to it] either."
- GameMaker is not made for 3D
While some developers praise GameMaker's versatility, others point out that YoYo Games' engine lags behind when it comes to 3D. Dief confirms GameMaker is "much stronger in 2D than 3D," while Peterson adds that it "lacks good support" for 3D projects.
Peterson continues: "3D is possible, but the tools to make working with 3D assets (models, textures, animations, and so on) are non-existent, and because GMS2's UI isn't mod-able, nobody can build tools to plug in to make 3D projects more manageable."
- GameMaker's language can lead to bad habits
GML is a double-edged sword: its simplicity is why developers are drawn to GameMaker, but that same simplicity can lead to many challenges down the line. According to Teddy Dief, GML is "both an advantage and disadvantage," especially when dealing with larger projects.
Peterson points out that "because GML is so forgiving, it can lead to some bad habits that could hamper the developer if/when they move to a different language."
Adams adds: "It is hard to maintain a clean namespace in GameMaker. This acts as a hard limit to the complexity and scale of games, and it makes implementing libraries and extensions clumsy. It's hard to write reusable code."
- GameMaker makes recruitment more challenging
While it has advantages, GameMaker's language can cause recruitment issues. According to Rivers, it can be "harder to convince seasoned developers who prefer C# or similar languages to jump on board. If they know C#, they want to work in it."
"It is hard to maintain a clean namespace in GameMaker"
A lot of developers tend to abandon GameMaker after a time to work with other engines, which makes finding experienced recruits relatively difficult.
- GameMaker's ecosystem is small
"GameMaker's asset ecosystem is smaller than that of Unity," Dyachenko says. "Websites and services don't offer ready-to-use extensions for GM as often. Most C++ SDKs can be wrapped for use with GM easily enough, but that's still extra work."
- GameMaker doesn't support automatic deployments
While GameMaker makes exporting a game to different platforms simple, it doesn't automatically package and deploy patches to all platforms at once. According to Butterscotch Shennanigans' Coster, this is "GameMaker's biggest problem right now."
"The games market is incredibly fragmented nowadays, and if you are an independent studio without an exclusive locked down, your best avenue for making a living is to put your game on as many platforms as possible," he says. "To do that, you need to be able to automate your deployments, so you can create builds and send patches to all of your supported platforms at once.
"We've built our own automatic deployment pipeline for GameMaker, but it took a lot of hacky workarounds to get it going, and most teams aren't going to have the time or resources to make that happen."
- GameMaker needs more features
Overall, most of GameMaker's weaknesses steam from its smaller ecosystem. YoYo Games simply doesn't have the resources of Epic Games or Unity Technologies, and that shows in the engine's capabilities.
"Advanced and intermediate users generally want more features from the scripting language," Dyachenko says. "People with complex asset pipelines want tools for extending the built-in editors, which is a very valid point, but also a huge time investment to implement correctly."
"Advanced users generally want more features from GameMaker's scripting language"
Adams has concerns about GameMaker's visual scripting system: "It's a shadow of the powerful tools available in Unreal, and a comparison between the two is not favourable to GameMaker... I don't have any bright ideas here, but GameMaker is lagging behind."
GameMaker also lacks support in some key languages. Downwell developer Ojiro Fumoto says he wishes GMS2 "was localised to Japanese so [he] could recommend it more to the developers here."
Advice for new GameMaker users
- Give it a try, and test its capabilities in key areas
The best way to understand any engine is to start using it, but with GameMaker it is particularly important to test it against the needs of the project you want to build.
"GameMaker has an official 'Learn' page with a number of tutorial series," Dyachenko says. "Participate in a couple of game jams -- one- to two-day jams are the best, as these offer an opportunity to test a tool in 'real conditions', and not risk much if you make mistakes."
Rivers adds: "Get your hands on it and test it for your key pillars -- performance, networking, co-op, 2D workflow, whatever they are -- but don't assume it can't do something. The sheer variety of amazing and creative projects released with it have disproved that time and time again.
"Know what kind of game you want to make, and where you want to release it, before determining if GMS2 is the right engine for you. Not everyone will click with GMS2's programming language or its general flow, especially if they're coming from another engine."
- Skip drag-and-drop and start learning GML
GameMaker's drag-and-drop feature is a strength when it comes to novice users, but if your intention is to become a professional game developer, you'll have to go further.
"Drag-and-drop is a cool feature, but really only recommended for those with literally zero programming experience," Peterson says. "I recommend jumping into GML as soon as possible.
"Also, don't copy and paste the code from tutorials. Write the code out yourself and rename all the functions and variables. It's a much better way to learn and make the code your own."
- Lean on GameMaker's community -- they're happy to help
GameMaker has a very strong community of hobbyists and professionals who will willingly help you. According to Adams, the engine's community is "unlike any other."
"The distance between experienced professional developers and newbies is small," he says. "Good technique doesn't have far to travel, and when a new technique is invented it quickly gets into the hands of the next generation. We're all constantly improving our understanding of game development, and that self-improvement is embedded deep in GameMaker's DNA."
Dyachenko lists a few community-driven places you should have a look at in case of any problems: "There are official forums that are well moderated and serve for mid/long-term discussion. There's a big, 7,000 members Discord server and the associated GitHub organisation, which is perhaps the best place to go if you have small but numerous questions."
According to Adams, that sense of community is particularly strong with GameMaker, which has "been the underdog for its entire history." While being small has some disadvantages, it has a singular advantage that its competitors cannot emulate.
"We push boundaries and discover things for ourselves, making honest and beautiful things as we go," he explains. "A game engine is certainly a tool, but it's also a culture, and I stay for that culture. In a world where technology is accelerating and products are converging and intertwining, it is the community spirit that makes GameMaker different. It's why I've stuck around."
Our in-depth guides on all the major game engines can help you find the best technology for your game -- this page will be regularly updated to add new engines to the list. If you're eyeing the most popular game engines, you can jump to our Unity guide right away, or read more about Unreal Engine here.