What is the best game engine: is GameMaker right for you?
Our updated in-depth guide to YoYo Games' GameMaker, one of the best game engines for aspiring developers without technical skills
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 from this page.
If you have a day job but are 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.
Vadym Diachenko 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, Shovel Knight Pocket Dungeon, 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 [we] have seen an increase of higher-fidelity games like Swords of Ditto, Levelhead, Synthetik, or Nidhogg 2."
GameMaker was created by YoYo Games 23 years ago, with an underlying goal to "streamline the development process" using GML Visual, a drag-and-drop visual scripting tool.
The engine is currently available under its latest iteration, GameMaker – formerly GameMaker Studio 2 (GMS2) – which was released in March 2017. The tech has been downloaded more than 12 million times to date and more than 2,500 users register to use the engine every single day. Since GameMaker was acquired by web browser firm Opera in 2021, the engine has apparently seen a three-fold increase in the number of active users.
GameMaker supports a dozen platforms: PlayStation, Xbox, Switch, Windows, Mac OS, Ubuntu, Android, iOS, tvOS, Amazon Fire, and HTML5. That’s on top of Opera’s GX.Games web platform for mobile titles.
In November 2023, GameMaker simplified the pricing structure for its engine, making the engine free for non-commercial uses, while hobbyist and indie developers can pay a one-time fee of $99.99 to access the Professional tier of service, which includes a licence to use GameMaker for commercial purposes.
Creators targeting a console release can subscribe to GameMaker’s Enterprise tier at $79.99 per month or $799.99 annually.
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. This previously cost $10 per month for every seat, but is now free of charge as long as it is not used for commercial purposes. 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 fast
GameMaker is the go-to engine for beginners for myriad reasons, but its speed is 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" Benjamin Rivers
"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.
"It really is just choose the platform and press the 'export' button once you're ready to go," Rivers explains. "We shipped 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 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 is not made for 3D
While some developers praise GameMaker's versatility, others point out that the 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 [GameMaker’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 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" Julian Adams
A lot of developers tend to abandon GameMaker after a time to work with other engines, which makes finding experienced recruits relatively difficult.
Dief says: "If you're planning to run a large team and hire a bunch of developers experienced in your engine, GameMaker is harder than the megalopolis engines Unity and Unreal these days."
- GameMaker's ecosystem is small
Another issue stemming from GameMaker's status as an engine for beginners is its limited asset store – especially when compared to Unity or Unreal Engine.
"GameMaker's asset ecosystem is smaller than that of Unity," Diachenko 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. It simply doesn't have the resources of Epic Games or Unity Technologies, and that shows in the engine's capabilities.
"Advanced users generally want more features from GameMaker's scripting language"Vadym Diachenko
"Advanced and intermediate users generally want more features from the scripting language," Diachenko 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."
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 GameMaker "was localised to Japanese so [he] could recommend it more to the developers here." Since, GameMaker has added support for Japanese integrated development environment (IDE) translation.
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," Diachenko 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 [GameMaker] is the right engine for you. Not everyone will click with [GameMaker’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."
"A game engine is certainly a tool, but it's also a culture, and I stay for that cultureJulian Adams
"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."
Diachenko 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 – head to this page to see all the engines we already covered, which we strive to keep updated. If you're eyeing the most popular game engines, you can jump to our Unreal guide right away, or read more about Unity here.
Additional reporting by Alex Calvin.