Is game maker a realistic engine for my game project?

S

SuperSaabrio

Guest
I’m currently making/prototyping an action rpg style game like kingdom hearts in game maker studio 2. I’ve made the battle systems prototype along with moves similar to stinger from devil may cry and combos, but I’ve been hearing that game maker studio 2 isn’t good for game with this sort of complexity.

The game is primarily gonna be a top down style snes jrpg a long with some sections that are like a 2d sideview platformer, but the skills and stats are carried over between both modes. Think of the gameplay style switching like legend of the mystical ninja on snes, where the mechanics carry over both in the top down parts and side view parts.

I’m also planning to add in little mini games like a snow boarding one which is meant to imitate the snes style mode 7 in visual style.

I know I’m capable of developing these parts separately on game maker with my current skill set, but I’ve been hearing that game maker will start having issues with games as they have more complexity and that it isn’t good for these sort of games.

Is it a good idea to start learning another engine like unity (I have very limited knowledge is c++ and java) or should I just stick with game maker 2?

This was copied from a reddit thread I made on r/gamedev.

The people there were very helpful, but a lot of them didn’t know much about game makers capabilities, so I thought I’d ask here as wel directly on the forums.

Also I’ve already decided to start learning unreal engine 4 on the side, but just want to know if sticking to game maker for this certain project is realistic.
 

Pfap

Member
I’m currently making/prototyping an action rpg style game like kingdom hearts in game maker studio 2. I’ve made the battle systems prototype along with moves similar to stinger from devil may cry and combos, but I’ve been hearing that game maker studio 2 isn’t good for game with this sort of complexity.

The game is primarily gonna be a top down style snes jrpg a long with some sections that are like a 2d sideview platformer, but the skills and stats are carried over between both modes. Think of the gameplay style switching like legend of the mystical ninja on snes, where the mechanics carry over both in the top down parts and side view parts.

I’m also planning to add in little mini games like a snow boarding one which is meant to imitate the snes style mode 7 in visual style.

I know I’m capable of developing these parts separately on game maker with my current skill set, but I’ve been hearing that game maker will start having issues with games as they have more complexity and that it isn’t good for these sort of games.

Is it a good idea to start learning another engine like unity (I have very limited knowledge is c++ and java) or should I just stick with game maker 2?

This was copied from a reddit thread I made on r/gamedev.

The people there were very helpful, but a lot of them didn’t know much about game makers capabilities, so I thought I’d ask here as wel directly on the forums.

Also I’ve already decided to start learning unreal engine 4 on the side, but just want to know if sticking to game maker for this certain project is realistic.

Keeping projects clean in GameMaker is a challenge of mine, but the engine itself is fine for what you have described. It really comes down to how disciplined you are with keeping your code readable. Gml has its quirks and as others around here have pointed out the community seems heavily dependent on how do I do X tutorials as opposed to using repeatable design standards.

So, to answer your question it may be easier to keep your large project cleaner in another language, but if you are confident in your ability to write clean and readable code I wouldn't worry too much.
 

Jabbers

Member
Almost any game project can be realistically produced in GameMaker Studio, perhaps with the exception of the server component for an MMO (it'll just end up slow, but the client itself will be fine) and 3D game development (doable but not a realistic choice by any stretch).
 

Joe Ellis

Member
Gamemaker is a development environment in disguise as a simple 2d game engine, once you tap into all the stuff gml can do, you realize it's not that much different to c++, all the code compiles into the same thing, and it's already built a simple dynamic vertex buffer creation and rendering system, but that's only the surface of what it can actually do and anything that it doesn't have built into it can be made with dll's, so I don't think it's a case of whether it's realistic, just if you want to develop stuff in gm or not
 

Joe Ellis

Member
Your version was better actually before I added to it, I was pointing out the obvious, some things are better left unsaid
 

Joe Ellis

Member
Welp, hopefully the original will live on:

It's not a question of can GameMaker do this?

Its is more of a question of can you do this?

-Lonewolff 2019
 

Jabbers

Member
It depends what you mean by "realistic." Arguably, it wouldn't be realistic to develop DLLs and find workarounds with GameMaker if another engine already has the functionality you need. You will have to weigh the costs and benefits of using GameMaker, but it's often the case that the simplicity of GML and the rapid development time far outweighs the quirks of the engine (for indie developers at least).
 
L

Lonewolff

Guest
Arguably, it wouldn't be realistic to develop DLLs and find workarounds with GameMaker if another engine already has the functionality you need.
Dunno man, I often work with both VS and GM open side by side. I have it set up so when I compile in VS it auto-updates the GMS project. Some things I find quicker and easier in GMS, others I find quicker to do in C++. Best of both worlds co-operating nicely.

I do push GMS to do out of the ordinary things though. That's my way of having fun. I'm not up against any timeline. But everyone has different reasons for doing things and have their own preferred methods.
 
D

Deleted member 16767

Guest
Devil may cry combos is doable. Just think of a fighting game, this is doable too in game maker. You just need to do lots of counter variables.
 

Joe Ellis

Member
"it wouldn't be realistic to develop DLLs and find workarounds with GameMaker if another engine already has the functionality you need"
But every other engine I've seen with the functionality I need I hate, they're just wrong in alot of ways, and made by someone who isn't planning my idea the same as I am, which is why I use gamemaker cus it's pretty impartial, that's why I compare it to c++ and visual basic, java cus you can build everything from code upwards, the thing I hate about most other engines is the pre-built-ness, and its way harder and seems insane to code things from the ground up with them, which is partly why I think of gm as a development environment instead
 
Last edited:
S

SuperSaabrio

Guest
Devil may cry combos is doable. Just think of a fighting game, this is doable too in game maker. You just need to do lots of counter variables.
I know that parts doable easily, I’ve already made it in fact. But my combo system is similar to kh2 where the main combo is pre set based on your abilities equipped, which I store in an array.

Yeah there was one guy on reddit who said code management was gonna be the biggest hurdle, but I’ve also been worried about the amount of enemies/instances I have on screen effecting was performance of the game
 
D

Deleted member 16767

Guest
I know that parts doable easily, I’ve already made it in fact. But my combo system is similar to kh2 where the main combo is pre set based on your abilities equipped, which I store in an array.

Yeah there was one guy on reddit who said code management was gonna be the biggest hurdle, but I’ve also been worried about the amount of enemies/instances I have on screen effecting was performance of the game
Have it pause the whole screen except for you and the enemy you target maybe?

Edit: The performance is good with many enemies. Just not if you make the collision be pixel perfect with the animations.
 
L

Lonewolff

Guest
"it wouldn't be realistic to develop DLLs and find workarounds with GameMaker if another engine already has the functionality you need"
But every other engine I've seen with the functionality I need I hate, they're just wrong in alot of ways, and made by someone who isn't planning my idea the same as I am, which is why I use gamemaker cus it's pretty impartial, that's why I compare it to c++ and visual basic, java cus you can build everything from code upwards, the thing I hate about most other engines is the pre-built-ness, and its way harder and seems insane to code things from the ground up in any other Game engine, which is partly why I think of gm as a development environment instead
Still, if I'd been using GM for some years and found one thing it doesn't do. It would be much faster for me to plug that hole with a DLL, than it would for me to go and learn an completely different engine from scratch because of it.

(Actually, I am plugging a hole as I type this)
 

Joe Ellis

Member
^Yealp, sure would be, who needs other languages? just c++ and gml, ha! I would actually love if they were the only 2 languages to exists in 10 years time
 

Joe Ellis

Member
Have it pause the whole screen except for you and the enemy you target maybe?

Edit: The performance is good with many enemies. Just not if you make the collision be pixel perfect with the animations.
Well, if there's many enemies, try to disable collision checks as much as possible cus they're one of the slowest of all ifs, and the slowness increases the more instances there are in the level, cus each instance is cycling through every other instance and checking collision
So say you've got 20 instances, each one is checking collision with the other 19, plus itself technically but it ignores it if "notme" is true,
so thats: 20x20, x20, that's 8000 collision checks, with only 20, (wait, I think it's 400 actually, was getting carried away)
Soo, the idea is to not make them not do this by default, and only make them do it when active or on screen, afterall, a simple if x > global.view_x1 && x < global.view_x2 && y > global.view_y1 && y < global.view_y2 per instance is roughly 400 times faster than checking collisions with every instance in the level
I know some instances will need to still check collision when they're off screen, but why do think old games had a thing where things disappear after you go so far away and then spawn back again when you get close?
 
Last edited:
S

SuperSaabrio

Guest
Have it pause the whole screen except for you and the enemy you target maybe?

Edit: The performance is good with many enemies. Just not if you make the collision be pixel perfect with the animations.
Making them pixel perfect actually makes the game feel worse. Right now I’ve been using an invisible object that detects collisions in front of the entity attack that destroys itself after the hurt frames of the attack animation. Everything has a rectangular mask/hit box.

But I’m also constantly using an If statement to check the locked on enemies distance from the player when and was think of incorporating a slight zoom out if the distance gets far enough. I’m worried that the constant if checks for stuff like that are gonna cause a performance issue.

Also does setting a instanced visibility to off free up the cpu strain or do I need to actually deactivate it?
 
D

Deleted member 16767

Guest
Making them pixel perfect actually makes the game feel worse. Right now I’ve been using an invisible object that detects collisions in front of the entity attack that destroys itself after the hurt frames of the attack animation. Everything has a rectangular mask/hit box.

But I’m also constantly using an If statement to check the locked on enemies distance from the player when and was think of incorporating a slight zoom out if the distance gets far enough. I’m worried that the constant if checks for stuff like that are gonna cause a performance issue.

Also does setting a instanced visibility to off free up the cpu strain or do I need to actually deactivate it?
I've had hundreds of frogs the size of about 300x300 or 400x400 in a room that is about 30 000x30 000 big with a 1920x1080 resolution. Every instance was the same instance and it checked if the player was in range and they spawned "bullets" too, that also checked range. So, yes, don't worry about the range. You can even put a boss the size of 2/3rd of the view that spawns a lot of "bullets" in the rooms view too.
 

Joe Ellis

Member
@SuperSaabrio Setting visibility to off will make a big boost, and the "offscreen check" would be worth it, especially if there's alot of instances.
Ideally making a grid system is more efficient, and is quite simple, you ask if floor(x / grid_size) * grid size is
Making them pixel perfect actually makes the game feel worse. Right now I’ve been using an invisible object that detects collisions in front of the entity attack that destroys itself after the hurt frames of the attack animation. Everything has a rectangular mask/hit box.

But I’m also constantly using an If statement to check the locked on enemies distance from the player when and was think of incorporating a slight zoom out if the distance gets far enough. I’m worried that the constant if checks for stuff like that are gonna cause a performance issue.

Also does setting a instanced visibility to off free up the cpu strain or do I need to actually deactivate it?
If you have a locked on enemy, that's only one at a time so that won't be a performance issue,
setting instances to be invisible off screen can be a good idea, it does help with performance,
BUT, if performance is an issue, it's normally not related to drawing, more the step event and checking collisions in particular,
What's the heaviest thing that the game is doing?
Also, the first thing you said about using an invisible object that detects collisions in front of the entity attack that destroys itself after the hurt frames of the attack animation is a good idea, generally, you've basically made a "hitbox", look that up, loads of other games use that
 
D

Deleted member 16767

Guest
I'd like to also mention that if you want to see if you can zoom out so there are more enemies on the screen and then zoom in. Try putting a lot of your enemies in a big room, make the fps to 60 and make the room speed 120,120. Let your character be at the center of the room. Look how much it lags, when the camera is going to the player.
 

Joe Ellis

Member
That sounds weird, it's hard to work out why it would do that, unless gm has a built in thing where it doesn't draw sprites that aren't on the screen, so then zooming in constantly means it has to constantly rebuild the render stack\vbuffer, hmm that could be it, I didn't think it did this though, I'd rather it didn't, I'd rather handle it myself.
Oh ps\info about sprites and sprite drawing, when you draw a sprite, gm adds it to a vertex buffer which is the vertex buffer of all sprites drawn in that frame, I think it has to split it per texture page, so each draw_sprite call is practically adding 6 vertices to the vbuffer, I'm not saying it's slow but it's just something to think about.
Also, I don't know if it actually does this, it might draw each sprite separately, which would explain why it works per shader_set(), but I'm hoping it detects a shader_set\surface_set and makes a new vbuffer for that
 
S

SuperSaabrio

Guest
@SuperSaabrio Setting visibility to off will make a big boost, and the "offscreen check" would be worth it, especially if there's alot of instances.
Ideally making a grid system is more efficient, and is quite simple, you ask if floor(x / grid_size) * grid size is


If you have a locked on enemy, that's only one at a time so that won't be a performance issue,
setting instances to be invisible off screen can be a good idea, it does help with performance,
BUT, if performance is an issue, it's normally not related to drawing, more the step event and checking collisions in particular,
What's the heaviest thing that the game is doing?
Also, the first thing you said about using an invisible object that detects collisions in front of the entity attack that destroys itself after the hurt frames of the attack animation is a good idea, generally, you've basically made a "hitbox", look that up, loads of other games use that
It is only one, but there’s also a soft lock that targets the closest enemy to you in the direction you are facing if you aren’t hard locked on to any enemy but but it only does so within a distance from the player that is determined by a circle that is always drawn in front of the main character.

Basically it checks every enemy that’s colliding with it and if that ones distance is lower then the target already soft locked then it will switch them.
Very similar to the one in kingdom hearts.
 

Joe Ellis

Member
Yeah I get what you mean, me and my friend were working on a very similar thing up until this week actually, we decided to switch to a platformer for headache reasons with special moves and the animations, fighting games are way harder than they first seem :D, we were working on it for about 8 months, and I coded the moves that you're talking about and did alot of similar things\techniques,

Well, yeah the soft lock has to check all enemies inside the circle which are facing the right way, so the broadest check is the circle collision, which is actually one of the fastest collision methods cus it only uses single position coordinates and a radius, unlike all the others which need several measurements.
Hm I just remembered the actual name and reason of this thread, I was gonna recommend another game engine, but I actually wouldn't want to inflict\put anyone through that whole ordeal. Stick with gamemaker, and over time you can learn to alter it's default things and do anything you want at all.
I'm completely not advertising but I'm just saying an example, look at what I've made: https://forum.yoyogames.com/index.php?threads/warp3d-game-engine-level-editor-model-editor.44159/
 
D

Deleted member 16767

Guest
It is only one, but there’s also a soft lock that targets the closest enemy to you in the direction you are facing if you aren’t hard locked on to any enemy but but it only does so within a distance from the player that is determined by a circle that is always drawn in front of the main character.

Basically it checks every enemy that’s colliding with it and if that ones distance is lower then the target already soft locked then it will switch them.
Very similar to the one in kingdom hearts.
I don't know why this would lag the game. The only things I know that do lag the game, is drawing way too many things you can handle or draw a 400+ animation frames image as big as your room or making all enemies collide with their pixels, instead of the rectangle mask.
 
S

SuperSaabrio

Guest
I don't know why this would lag the game. The only things I know that do lag the game, is drawing way too many things you can handle or draw a 400+ animation frames image as big as your room or making all enemies collide with their pixels, instead of the rectangle mask.
It’s not lagging the game, but I’m worried little things like that constantly checking for a condition to be met bunched up would cause the game to lag. Right now everything is running perfect and I’m getting really high FPS. The issue is I haven’t implemented the more complex ai or things like multiple layer collisions and projectile attacks from enemies.

Yeah I get what you mean, me and my friend were working on a very similar thing up until this week actually, we decided to switch to a platformer for headache reasons with special moves and the animations, fighting games are way harder than they first seem :D, we were working on it for about 8 months, and I coded the moves that you're talking about and did alot of similar things\techniques,

Well, yeah the soft lock has to check all enemies inside the circle which are facing the right way, so the broadest check is the circle collision, which is actually one of the fastest collision methods cus it only uses single position coordinates and a radius, unlike all the others which need several measurements.
Hm I just remembered the actual name and reason of this thread, I was gonna recommend another game engine, but I actually wouldn't want to inflict\put anyone through that whole ordeal. Stick with gamemaker, and over time you can learn to alter it's default things and do anything you want at all.
I'm completely not advertising but I'm just saying an example, look at what I've made: https://forum.yoyogames.com/index.php?threads/warp3d-game-engine-level-editor-model-editor.44159/

That looks crazy, but seems way outside my realm of knowledge to do anything remotely like that right now haha.
 
Last edited by a moderator:
S

SuperSaabrio

Guest
Just want to add, thanks for all the advice and info. The replies here have really allowed me to move forward with my project in confidence.
 
J

javarlucious

Guest
I’m currently making/prototyping an action rpg style game like kingdom hearts in game maker studio 2. I’ve made the battle systems prototype along with moves similar to stinger from devil may cry and combos, but I’ve been hearing that game maker studio 2 isn’t good for game with this sort of complexity.

The game is primarily gonna be a top down style snes jrpg a long with some sections that are like a 2d sideview platformer, but the skills and stats are carried over between both modes. Think of the gameplay style switching like legend of the mystical ninja on snes, where the mechanics carry over both in the top down parts and side view parts.

I’m also planning to add in little mini games like a snow boarding one which is meant to imitate the snes style mode 7 in visual style.

I know I’m capable of developing these parts separately on game maker with my current skill set, but I’ve been hearing that game maker will start having issues with games as they have more complexity and that it isn’t good for these sort of games.

Is it a good idea to start learning another engine like unity (I have very limited knowledge is c++ and java) or should I just stick with game maker 2?

This was copied from a reddit thread I made on r/gamedev.

The people there were very helpful, but a lot of them didn’t know much about game makers capabilities, so I thought I’d ask here as wel directly on the forums.

Also I’ve already decided to start learning unreal engine 4 on the side, but just want to know if sticking to game maker for this certain project is realistic.
that's only the surface of what it can actually do and anything that it doesn't have built into it can be made with dll's, so I don't think it's a case of whether it's realistic, just if you want to develop stuff in gm or not
 

Warspite2

Member
I’m currently making/prototyping an action rpg style game like kingdom hearts in game maker studio 2. I’ve made the battle systems prototype along with moves similar to stinger from devil may cry and combos, but I’ve been hearing that game maker studio 2 isn’t good for game with this sort of complexity.

The game is primarily gonna be a top down style snes jrpg a long with some sections that are like a 2d sideview platformer, but the skills and stats are carried over between both modes. Think of the gameplay style switching like legend of the mystical ninja on snes, where the mechanics carry over both in the top down parts and side view parts.

I’m also planning to add in little mini games like a snow boarding one which is meant to imitate the snes style mode 7 in visual style.

I know I’m capable of developing these parts separately on game maker with my current skill set, but I’ve been hearing that game maker will start having issues with games as they have more complexity and that it isn’t good for these sort of games.

Is it a good idea to start learning another engine like unity (I have very limited knowledge is c++ and java) or should I just stick with game maker 2?

This was copied from a reddit thread I made on r/gamedev.

The people there were very helpful, but a lot of them didn’t know much about game makers capabilities, so I thought I’d ask here as wel directly on the forums.

Also I’ve already decided to start learning unreal engine 4 on the side, but just want to know if sticking to game maker for this certain project is realistic.
I can say since it's a 2d game then gms2 can certainly handle it! I made a 2d game that is so freaking gigantic and complex with gms 1.4 and I can tell you gms2 can do even more. I released that game on Steam and it has 4 dlcs and another coming. It was in the making for nearly 4 years and it has been one hell of a ride.
 
S

SuperSaabrio

Guest
I can say since it's a 2d game then gms2 can certainly handle it! I made a 2d game that is so freaking gigantic and complex with gms 1.4 and I can tell you gms2 can do even more. I released that game on Steam and it has 4 dlcs and another coming. It was in the making for nearly 4 years and it has been one hell of a ride.
What game is it?
 

Warspite2

Member
What game is it?
I will send you a PM as I don't want to be thought of as advertising my game on this forum. Seems like everywhere an indie dev posts any kind of info about their game, lately it's darn near treated like a crime. Especially a lot of these Reddit subs (with all of their unecessary rules) and it's a shame really since exposure is a battle most indie devs deal with. Although here at yoyo at least they have a seperate forum for posting completed games.
 
S

SuperSaabrio

Guest
Who cares lol. I asked for it.

If you’ve spent years working on a game I think that gives you a right to advertise it a bit. As long as you aren’t shoving it down peoples faces, which you aren’t since I asked.
 
@Warspite2 if someone asks for more info on your game, it's perfectly ok to give them a link in public. The rules are more so the forums don't fill to the brim with a million different people constantly spamming their games. You should also add your game to your signature, that way every time you post it's a free advert with no need to worry about any rules (besides having too large a sig, I think, lol).
 
Top