Hey everyone! š
I'm a Unity engineer and an active member of a team developing games played by 100 million people. I have a deep understanding of the game development and how Unity works, but Iāve never worked with the Game Maker. I got curious about what this engine could offer, so I decided to test its capabilities.
My goal is to create a small Vampire Survivors-style prototype, to explore GMās potential and share the results with the club. And to make things even more fun, Iām writing about it gonzo journalism-style.
This isn't a guide to development. No one paid me for this post. I'm not here to criticize the GM or putting it on a pedestal. I don't like NFT. š
Letās see how this goes!
Key Takeaways in One Minute
- GM is a great tool for creativity - You can quickly create interactive worlds, and it comes with built-in multiplayer that doesnāt require programming. Itās an excellent tool for hobby projects and simple games.
- GM has limitations - You can't write code, you can only do what GM allows, and its capabilities are quite limited. However, you can still achieve a lot with it, and itās easy to learn.
- Unity is more flexible but more complex than GM - If you have no experience, it will take you a lot of time to learn even the basics. To create multiplayer games, you'll need some preparation.
- GM is not an engine - It's a "maker". It has potential, but donāt expect it to do everything that engines can.
First Impressions
Look, you won't believe it, the first thing I said when I saw GM was kind of "Nice! Looks fresh and interesting!". I really liked the graphics, the water shaders are beautiful. And itās nice that you can just launch GM, do something, and it actually works!
The first impression was good, but I had to take a closer look. I played around with GM, and yeah, thereās definitely something there. š
Quick World-Building
One thing I really liked - GM gives you a set of Ready-to-use assets for different biomes and a big library of models with built-in animations. It instantly makes you want to experiment and try things out. For a beginner, thatās super helpful because you can jump right in without hassle. Thatās awesome!
All the assets feel like they come from the same universe, from the same visual style, I like it! If I were prototyping in Unity, I'd have to download a bunch of stuff, and it would be from different styles and varying quality.
Easy Development
I was honestly surprised to see built-in logic modules and assets, everything just works out of the box. I grabbed a pre-made skeleton from the asset library, set its behavior to "Melee Enemy," hit play and the skeleton came running to attack me. It just worked! Thatās crazy! If only making games was always this fast, itād be amazing!
In Unity, making a skeleton that follows me within a certain range and actually bites couldāve taken me a day. Not just programming it, Iād also have to hunt down a good-looking and rigged skeleton model with animations, then import and set it all up.
And thatās just the skeleton! Iād still need to set up the player character, make them run, jump, swing a sword with animations, add an HP bar etc.
Just getting the core gameplay up and running would take days, not even touching multiplayer yet. So much time just for the basics.
Itās incredible that thereās multiplayer ready to go without needing extra programming. So many things just work, itās smartly designed and probably saves a lot of time, effort, and money for producers.
Unity development feels like climbing Everest, while Game Maker is like a walk in the park with butterflies and unicorns.
GM leaves a good first impression! š¦
Of course, I get it, this magic lasts only until I try to add my own animations to existing assets. Oh, those āusefulā NFT technologies⦠can you believe NFT objects canāt be modified or updated, why the hell not? In Unity, I can update the animation ANYTIME! Devs, do something with your NFTs so they can be updated, it feels like the Stone Age. šæ
Awesome Level Design
The block-based landscape editor is pretty cool. I didnāt dive too deep into the details, but it looks user-friendly. Iām not sure if you can select blocks and move them around, or how the layers work, do block layers even exist? But itās awesome that blocks are easy to add and remove, and the voxel modeling makes iterations quick, so you can bring your ideas to life faster.
It seems like level design is one of the engineās strongest points, and itās already pretty easy to work with!
Later I found out thereās also Magic Palette, which could speed up level design. It looks awesome, but I havenāt tried it yet. šŖ
Hard Limits
Sometimes, the strongest features come with the toughest limitations, reducing control over development. In GM, deep-level control is impossible, and as a programmer, it creates some serious restrictions. These limits are unforgiving!
After a few tests, I realized that Game Maker isnāt really an engine. Itās more like a builder. As soon as I want to go beyond whatās already prepared in GM, itās a miracle if I can pull it off. Essentially, you canāt really code in GM: thereās no access to fine-tune your character or enemies. You canāt make a custom HP bar or any kind of HUD. I canāt do anything Iād be able to do in Unity. š
Maybe, itās unfair to compare GM to Unity. Theyāre totally different products, and to be fair, the GM team has done a pretty good job creating a solid tool for making simple games.
Make Vampire Survivors!
With an optimistic mindset, I set out to create gameplay similar to Vampire Survivors. Youāve played Vampire Survivors, right?
The core of the game is enemies, lots of enemies that spawn off-screen and try to kill you. To create this kind of functionality, I need enemies to appear from a distance off-screen, run toward me, and attack on contact.
Iām gonna try to make this simple and fun logic in GM. Hopefully, I can pull it off. For the enemy, Iāll be using the pre-made adorable Skeleton!
Well then, let's make our vampire game!
Diving Into Game Maker
I was sure my first impression of the engine would hold up, and Iād quickly make the logic for my masterpiece clone of Vampire Survivors, but in reality, it was a bit more complicated. š¤æ
Spawn š
I couldnāt figure out where to start and spent a lot of time in the Game Rules window, trying to find how to make the enemies spawn. Later, I realized I was looking in the wrong place, the Spawn function wasnāt even in Game Rules. I eventually found it in the Behavior settings.
At first, Game Rules felt like a pretty basic system, just number comparisons, simple math, timers, basic HUD, and triggers. There was some work with variables, nothing special. The Gameplay tab felt empty and pretty awkward. I was honestly kind of disappointed at first.
Then, I dug into the tags and found "hostile," which turned out to be pretty important. At the last minute, I noticed I could assign an Asset Spawner Behavior to objects, where I could create events using Messages and even use Presets.
It started to look interesting, and it wasnāt so bad after all.
I got pretty confused with all the SP and MP stuff in Behavior. You know how it is, itās hard to understand all the little details the first time around, and Iām no exception. GM was a new tool for me. š¤
Spawn Timer ā±ļø
One of the main tasks I needed to solve was creating a point where enemies would constantly spawn on a timer. At first, I had no clue what I was doing. I struggled for a long time just trying to set up the most basic timer, and to make things worse, the timer couldnāt be set to run forever. Plus, there was no decent debugging.
Nothing was working, so I turned to The Sandboxās official documentation.
The emotions hit me hard. I spent hours trying to figure out what was going on, and it was a painful process to understand. Sorry, Game Maker devs, Iām sure you tried your best, but it still hurt.
For my Vampire Survivors clone, I had to make enemy spawners work on a timer, and ideally, the spawn frequency needed to increase over time. All enemies had to chase me down. It turned out to be possible, though not exactly how I envisioned it at first.
Eventually, I found "Delay between spawn," and that solved my timer issue. I managed to spawn the skeleton, but the process wasnāt flexible at all.
The Delay between spawn worked, but again, what if I wanted the timer frequency to change between spawns? Somehow, I found solutions to my problems, but I couldnāt see the system behind it all. So many limitations. š§
I Made a Prototype
Despite the limitations and my complete lack of knowledge about GM, I managed to create a simple prototype. Yeah, it wasnāt easy, and at times it didnāt make sense, but I still made something work. Iām definitely more inclined toward Unity because Iām used to building more complicated things, and I need full control over the scene.
But GM does have its merits, and it can definitely be used as a tool for creating simple multiplayer and single-player games.
My experiment was a success, hooray! š
My Verdict on Game Maker
In Game Maker, you can build platformers and make super basic things, but doing something custom in terms of logic and interface is very, very hard. Iāve come away with a strong feeling that Game Maker is not really an ENGINE, but more of a MAKER. You can do a lot of things very quickly, but you definitely wonāt be making anything super complex or unique.
Thatās the price you pay for Game Maker staying a no-code tool. š
Beautiful Interface š
The interface looks pretty good, sleek and intuitive at first glance. But the functionality is very limited. Some aspects are strange, like how they brought some things to the front (like the 5 attributes at the start), while others are buried deeper (like the attack range for Melee enemies). Overall, theyāve put in effort, and when using their predefined behaviors, the information is presented quite neatly. š¤
No Custom HUD š
GM has very limited HUD settings. I wanted my character to gain XP and, upon leveling up, let the player choose one of three abilities to upgrade, ideally with a unique pop-up and some cool icons. But achieving that is either impossible or extremely difficult.
I skimmed through Game Rules and saw that I could tweak the HUD a little or create a pop-up window. But I had no idea how to make an upgrade system where the pop-up not only appeared but also let the player choose an ability. I also couldnāt add icons to the upgrade choices. Maybe itās possible, but I couldnāt figure out how.
That said, Iām sure some workarounds exist, the builder does help me wiggle out of tricky situations, like using Presets.
I can make things work, but itās gonna hurt my soul. Right now, Game Rules feels way too limited, and honestly, I feel like GM just beat me. š¤
Not Enough Logic Modules ā¹ļø
If you try to step even a little outside the intended design, you hit a wall fast. There just arenāt enough Behavior types and Components.
There are only 18 multiplayer modules (Spawner, timer, door, etc.) and 17 single-player ones (melee enemy, soldier, bird, etc.). And you canāt mix multiplayer and single-player modules, so if your game is multiplayer, youāre stuck with only the multiplayer blocks.
Components help a bit with customizing logic, but there are only 20 of them, tiny helpers that make small tweaks. Trying to build anything complex with them? Yeah⦠good luck with that. š
Limited Settings š
Letās start with the basics, every numerical parameter has a min and max value. That means whether itās health, movement speed, or anything else, thereās a hard limit baked in. For example, HP is capped at 200.
Maybe people work around this by stacking attributes on a character, but even that has a cap, as far as I know.
Guys, why canāt I set my characterās or enemyās HP to 500? No, only 200! At this point, I just start laughing hysterically. Sorry, but Iāve never seen anything like this before.
Though, vectors donāt have limits, thanks for that, at least.
Not all parameters can even be adjusted, and some options feel incomplete. For example, I can make a soldier patrol, but I canāt make him pause at waypoints. Maybe thereās a workaround using other components⦠but thereās no direct way to do it.
Simplicity and limitations go hand in hand here. Iām sure much more could be added without ruining the ease of use, and I hope the developers keep improving this tool. Maybe in the future, weāll get more Behaviors and Components, each with a gear icon for extra settings. Maybe weāll be able to combine multiple Behaviors and Components to create unique custom mechanics. Thatās when some freedom will begin.
Gameplay Tab š“
I have a programming background, and I thought I could really dive into this section. But no. There are VERY few possibilities here.
You can create a variable, do some basic math with it, compare numbers, start a timer, display a message, window, or progress bar in the HUD. You always need to connect to some kind of signal and send signals to others. Signals can be sent when pressing keys, clicking, when the character steps into a zone on the level, and in a couple of other cases.
There are some pre-made templates showcasing the available features: a score counter for the HUD, a timer for racing, etc. But honestly, I find it hard to think of anything more complex than whatās in these examples.
Turing Completeness š
Yes, technically the system is Turing complete, you can work with variables and create custom sequences.
But in practice, itās very limited. Implementing anything beyond simple game rules is difficult due to a lack of essential tools, behaviors, and components. There are no loops, minimal HUD interaction, and even the timer lacks a repeat option. Spawning enemies at variable distances, for example, seems impossible.
While new Behaviors and Components could help, the real problem is deeper: the logic and signal flow are hard to understand. Even for programmers, the text-based approach is clunky and unintuitive. A proper visual scripting interface, like Unrealās Blueprint system, is badly needed.
Performance š¤Ø
The performance indicator is useful, but also puzzling, how can something as simple as Game Maker have performance issues?
I also donāt fully trust their performance metrics. They claim lighting has no impact, which contradicts my experience in other games where lighting is a major performance cost. Meanwhile, they say the health component is heavy, how did they manage that?
Another odd claim: melee enemies supposedly donāt affect performance. Maybe the AI is light, but animated 3D models always have a cost.
The system feels inconsistent. The devs clearly went with their own approach, I donāt quite get it, but something definitely feels off.
Annoying Little Things š
And hereās a short list of things that seemed odd to me. Iām sure the developers will fix a lot of this in future versions, but Iāll mention these strange bits anyway.
- Y-axis offset - The zero point is placed oddly far away, making the coordinate system feel unprofessional and arbitrary.
- Tags for linking - Functional, but risky. Since tags are plain text, a typo can break everything. A dropdown menu would be safer.
- Math & comparison blocks - Overcomplicated and visually unclear. Simple, separate blocks with icons would work much better.
Conclusions
The platform has numerous limitations; its overall capabilities don't even reach 5% of what Unity can achieve. Perhaps GameMaker is closer to products like Construct; however, even in Construct, the possibilities are significantly greater than in GM. Is this a bad thing? I don't know.
I've tried to be objective and don't want to discourage those who are passionate about GM. Don't think that I consider it bad. It's just different. GM is a tool for accessible creativity, and it definitely has its advantages, such as built-in multiplayer support, which is usually absent in traditional engines, probably only available in Roblox. If you enjoy experimenting with virtual worlds for fun, then GM is a good tool for such experiments. And there's definitely something to it, I think.
Sure, with enough determination and clever workarounds, a lot can be achieved. But in the end, a great game-making tool should adapt to the creator, not force the creator to adapt to the tool.
I wish the project continued development and will gladly try it when it exits alpha. For now, I'll return to Unity. āŗļø
The End
And so, my epic dive into the world of Game Maker comes to an end. What can I say? It wasnāt as bad as it could have been. If you stop thinking of GM as a game engine and see it as a hobbyist game builder, itās actually a fun and interesting tool.
Overall, itās stylish and easy to pick up, especially if you have prior gamedev experience. But at the same time, if you do have prior experience, youāll quickly realize just how limited GM is. š
Hi, Vladimir!
Those are great imputs, indeed. I hope this reach the devs and contribute for future developments in GM.
I'm a modeler, and also think there should be better tools to build the levels. The absence of select and move blocks tool is the harder part for me. It's very hard to put blocks on the top level and start modeling from top to bottom. The only way to do this is build a huge column of blocks from the bottom, and them start adding a plane at the top. Weird!
If I want to use a template, for instance, I can't move the blocks to a higher level. For now, using Magic Palette is a workaround for some needs but it'd be cool if we have better constructing tools inside GM.
@Kinein Such a fantastic view onto Game Maker with all its flaws and also some benefits as simplified game design tool. It's especially interesting to read this from someone who has a lot of Unity experience.
We fully agree that there are too many limitations when it comes to game mechanics and while their "No Code" approach is great to get unexperienced people and even kids starting it is very hard to make truly unique and enaging game loops possible for more advanced users.
I feel there would be huge potential to allow scripting and finally allowing some sort of plugins or APIs working with GM. Even if it would be hidden at first glance and you need to switch to some sort of "Dev Mode". We are trying to get this happen for years now but sadly no luck so far even as Trusted Partners that build tools like Magic Palette to improve the creators journey...
Thanks a lot for the great read, this was highly refreshing. Keep building!