Jump to content
A 2021 backup has been restored. Forums are closed and work in progress. Join our Discord server for more updates! ×
SoaH City Message Board

Construct 2 Vs. Game Maker Vs. MMF2


Recommended Posts

So, Overbound basically asked me to make this thread, and I decided, eh, sure, why not. I suppose a comparison thread between 2D game maker programs would be good.

 

I haven't used Game Maker or MMF2 in ages, so I think this'll first post will mostly be me talking about how awesome Construct 2 is (it does need the attention, since it's somewhat more obscure than the other two due to not being around nearly as long), but I'll try and give my thoughts on GM and MMF2 from what I remember.

 

Construct 2

 

The original Construct was created by a very small team of people (under the name 'Scirra') who used to work on MMF2 addons, who became dissatisfied with MMF2's limitations and decided to make their own program. Incidentally, I hear this was more or less treated as a 'betrayal' by Clickteam, who apparently still hate Scirra's guts. Anyhow, the original Construct was an awesome and promising program, but its foundations were rather unstable.

 

So, Scirra started over with a much more solid foundation, and took something of a gamble - the original Construct used DirectX, but Construct 2's initial export option was HTML5. Yeah, that got a lot of WTF reactions back then. But Construct 2 has greatly matured as a program, much like HTML5 itself (especially with the adoption of WebGL), which is rapidly catching up to Flash (and Javascript interpreters today are much, much faster than Actionscript), and C2 is capable of exporting to a whole bunch of platforms with no additional cost. And C2 is rapidly updating, usually at on a weekly schedule.

 

  • Let's get this out of the way, first - there is a desktop executable export option. It's multiplatform, in fact, using Node-Webkit, and it supports all the latest features of Google Chrome (in other words, usually pretty much ahead of everything else or equal with Firefox), and usually faster than a browser.
  • The layout editor is very much MMF2 in style, but easier to understand and more flexible, with an in-built parallax system. And it has long aped GM's sole advantage over other game makers by implementing a tilemap feature that's compatible with Tiled. Oh, and C2 can import layouts from GM, too. You can zoom in and out, show parallax settings in the editor, use a custom-sized grid (which can snap objects to it), change the Z-order of various objects, and so on.
  • You can basically have any number of layers, each with their own settings, including parallax, opacity, effects, scale, background colour, and so on.
  • C2 has dozens of 'objects', from regular sprites, to tiled backgrounds (an extremely efficiently-rendered object that tiles a single texture along its size), tilemaps (they act like any other object), particles, 9-patch, sprite-font, etc. There's also more global objects, such as input objects (mouse, keyboard, touch, gamepad, etc), AJAX, audio, arrays, XML, and so on.
  • Like MMF2, C2 has in-built behaviors, ranging from movement types (platform, 8-direction, car, custom movement, rotate, sine, etc), physics, turret behavior, pathfinding, line-of-sight, wrap, fade, flashing, solids, jump-thru, and other cool stuff.
  • With WebGL, you can apply any number of different types of effects to an object, and there's a lot of built-in effects.
  • And, in javascript, people can make their own plugins - objects, behaviors and effects, such as the Spriter and Magicam plugins.
  • The event-based system is inspired by MMF2, but it's built more like the logic of actual code. C2's event system has sub-events, loops, FOR loops, ELSE, OR, functions, object picking, groups and comments, among other things, while staying fairly readable, and individual events, conditions, actions and groups can be disabled.
  • Construct 2 uses event sheets independent of layouts - layouts can have their own event sheets, but any event sheet can be used with any number of layouts, using an 'include' system, like actual coding. Basically, with your core gameplay events, for example, you can modify some events, and the changes will affect all the layouts that the event sheet is included in.
  • Objects can have any number of variables. Seriously, no variable limits. They can be numbers, text, or boolean.
  • Construct 2 uses 'families', which are basically the equivalent of object-oriented programming. Families share stuff like variables, behaviors and effects, and families can be referenced as a whole in events (for example, shooting an object in the 'enemy' family merely requires an event for just enemies, not individual events for every enemy). Objects can also have 'containers', which can be used to spawn multiple objects simultaneously - when an object with a container is spawned, everything in that container is spawned along with it, and the same goes for when that object is destroyed. Containers also can enable picking instances in an instance of a container group.
  • Performance-wise, javascript does have its limits, but it's a rather optimized engine. I've heard GM and MMF2 aren't terribly optimized either, so, yeah. Not everyone will get great performance due to certain GPU drivers being a bitch, but as long as you have the latest graphics card drivers, it's fine, more often than not.
  • Positional audio is supported. Yeah, that's a thing, not all browsers support it, but it's there. Unfortunately, as for audio formats, if you want to support Internet Explorer and Safari, you'll need to also have sound files in AAC format as well as OGG, which is rather dumb.
  • Collisions are polygon-based, which is something of a necessary limit, but per-pixel collisions aren't exactly that much better anyway. On the bright side, you can display collision polygons in the layout editor, which is cool. There are also 'collision cells', which massively optimize collision checks (so only objects within an object's collision cell are checked), though you have to have collision events as top-level events in order to use collision cells.
  • There is a full set of debugging features, including a debugger, break-points, and so on.
  • The price for the standard edition is about the same as MMF2. But unlike GM or MMF2, you don't need to pay anything for additional export options - you can export everywhere right out of the box.
  • Did I mention online multiplayer is going to be implemented over the next set of updates? Yeah. that's gonna be a thing.

 

Construct 2 isn't perfect, but aside from some minor plugins and maybe performance, it's pretty much better than its predecessor in every way, and much, much more stable. I loved Construct Classic, but holy shit it could be a buggy piece of shit. Construct 2 is well worth the asking price, not bad for a program whose development team basically consists of one dude and his brother from Britain.

 

Construct 2 doesn't have a Sonic engine yet, though (not for a lack of trying, it's just that the main attempt at doing so turned out to be incredibly inefficient, event-wise, and the way it's built makes it unable to take advantage of features such as collision cells), but hopefully that will change in the future, I've pretty much given up on trying, hence why I'm focusing on non-Sonic stuff for now, myself.

 

Game Maker

 

Okay, my thoughts on game maker (don't really need to elaborate on features, since it and MMF2 have been around for ages and widely-used) - it's not very good. The various design decisions are frankly, incredibly strange, the level editor is rather limited in what it can do last I checked, the built-in event system is garbage, and you need scripting to get anything done, which is not necessarily a bad thing for people who actually want to learn to code, but for people who don't want to deal with programming, that's kinda bullshit.

 

Multimedia Fusion 2

 

I consider MMF2 to be Construct 2's older cousin for multiple reasons, but what turned me off from MMF2 was its event system. Holy shit, compared to Construct's, it's almost incomprehensible for anyone who hasn't looked at it before. Granted, that might be slight hyperbole, but trying to study Sonic Worlds' events and figure out what exactly everything did and how the logic worked was just painful. Oh, and there's no 'include' feature for large groups of events, as far as I know, which a huge deal.

 

 

 

I imagine other people will have different tastes, however, so, yeah. What do you guys think?

  • Like 2
Link to comment
Share on other sites

Eh, having tested out several versions of GM and having had a pirate copy of MMF2, I decided GM is, to be quite frank, a coding cesspit of vacuous crap and so I developed a preference for MMF2, making the Humble Bundle sale actually kinda perfect for me. I'm still trying to wrap my head around Worlds but I'm getting there and I'm starting to figure out what stuff is doing now; messing around with values tends to help.

 

I agree with everything you said about GM, but your final point on MMF2's lack of "include" feature has yet to affect me, I think.

 

On the subject of Construct, it must be rather good as Mr Lange (Sonic ATS, Overture musician and badass animator of badass animations) has told me in the past that he plans to port Worlds to Construct 2 someday. Don't get your hopes up, though.

Link to comment
Share on other sites

My opinion in a nutshell:

Game maker: hard to get into, but once you learn gml you have a goldmine to explore.

MMf2: why is this still being used, construct does everything this does but infinitely better.

Construct classic: mmf2 but better in every way. Plus, its free.

Construct 2: great program but still in its early phases.

Edited by ZigZaX
  • Like 1
Link to comment
Share on other sites

MMF2 was the first game making program I used (I had it as The Games Factory 2), but I'd only go back to it if I was going to use Sonic Worlds.  I think I looked at GM a long time ago and never really got it down.  And this is the first time I'm hearing about Construct.

Link to comment
Share on other sites

Game Maker: Great programming language, terrible tools. GM Studio probably has the best options of any of these programs if you want to work collaboratively on a project.

 

MMF2/CF2.5: Terrible programming language, great tools. Has the simplest options for making a traditional style Sonic game right now. CF2.5 has a lot of untapped potential for performance improvements in the engines people use as well.

 

Construct Classic: Decent tools and a better programming language than MMF2/CF2.5, but it's bogged down by a lack of interest/existing resources as well as some questionable decisions regarding the organization of objects which can have a severe negative impact on performance when lots of objects are in play.

 

Construct 2: I question whether this tool will ever have the features necessary for making a collision heavy platformer like Sonic possible without providing a lot of extra stuff yourself. I'm still wary of HTML5. Might be a good tool if you want to do a collaborative project.

  • Like 2
Link to comment
Share on other sites

The level editor in Game Maker Studio is slightly better than it has been in previous releases. It's still not as good as the level designer in MMF but at least now in GM you can scale objects in room. Programming wise GM is probably slightly more powerful that MMF or Construct 2 the trick is you really have to be knowledgeable programmer to use Game Maker successfully, if you plan on making very complex games. The real advantage of Game Maker Studio though is AeroGP's Sonic Studio engine, if you are one of those people who only wants to work with accurate Sonic physics.

Link to comment
Share on other sites

Construct 2: great program but still in its early phases.

Not really. Construct 2 passed the 'early phases' quite a while ago, and is overall better than its predecessor, missing a couple of minor features but more than making up for it in others.

 

The only reason Classic could be considered a viable option is its status as being free, but support for it has been dead for ages, now. It was a neat program, but I'll be the first to admit that it could be a buggy mess, and its successor is a much better program overall.

 

Construct 2: I question whether this tool will ever have the features necessary for making a collision heavy platformer like Sonic possible without providing a lot of extra stuff yourself. I'm still wary of HTML5. Might be a good tool if you want to do a collaborative project.

I'm not quite sure what you're getting at with the first part (you could be more specific), but making a collision-heavy platformer like Sonic is certainly possible with events alone - the foremost problem is mainly making it work efficiently, the trick being making it work so it utilizes collision cells as much as possible - in other words, using collision/overlapping conditions as top-level picking conditions. Collision cells are a fairly recent addition to Construct 2, but the performance gains are titantic. I'd rather leave the engine-making to someone who actually knows their shit rather than doing it myself, though, personally.

 

HTML5 has matured quite considerably, there's still ways to go, but the stuff you can achieve with WebGL is bloody impressive. Even Microsoft has capitulated and added WebGL to IE, which is kind of a surprise, considering they've been trying to bury OpenGL for decades. Node-Webkit also works brilliantly as a desktop executable export. Google and other browser vendors have been working like mad to make javascript as efficient as damn well possible for an interpreted language, you could certainly do worse (I've heard GM isn't very efficient).

 

As for collaborative stuff... Actually, speaking of which, I forgot to add this to the features list, but C2 projects are pretty much built for enabling collaborative projects - the standalone .capx files are basically zip files, and the project folder alternative basically enables stuff like version control.

Link to comment
Share on other sites

Hmmm, that might do the trick if it isn't a pain in the ass to actually use in practice. Still, we are kinda stuck at a position where the lack of people working in C2 makes it impossible to recommend it to anyone starting a major project. Someone's gotta actually take that first step to get the ball rolling you know?

Link to comment
Share on other sites

Well, the engine I'm working with for Heroic Battle Spirit is sorta based on Worlds except with the regular platformer behavior instead of all the Sonic stuff, with all the variables centralized into one object. I think what would simply be needed would be to put in the needed sensors into a container with that one platformer object, and and make sure their collision routines have the collisions used first before any other picking takes place and only called when required (so you're not calling them for every single fucking thing, which is just overkill), and make sure the movement routines don't run so many times that it goes overboard and eats into the CPU. Because that's pretty much what happened with Streak's engine.

Link to comment
Share on other sites

Guest Mr Lange

On the subject of Construct, it must be rather good as Mr Lange (Sonic ATS, Overture musician and badass animator of badass animations) has told me in the past that he plans to port Worlds to Construct 2 someday. Don't get your hopes up, though.

Construct 2? I never said that. I said I was trying to continue the Construct CLASSIC port that StreakThunderstorm started, and I couldn't. I only managed to add a few more features, but Worlds and MMF2 are so much of a mess together that I cannot figure out enough to finish it.

 

My opinion in a nutshell:

Game maker: hard to get into, but once you learn gml you have a goldmine to explore.

MMf2: why is this still being used, construct does everything this does but infinitely better.

Construct classic: mmf2 but better in every way. Plus, its free.

Construct 2: great program but still in its early phases.

This pretty much summarizes it, although that "goldmine" in Game Maker dries up pretty quick. It's still quite a limited program with a fair amount of problems because the language is so lax.

The main reason MMF2 is being used is because it has a lot more object types and less crash issues. However, Construct Classic's crash issues are consistent, so you can avoid them when you learn them.

 

The level editor in Game Maker Studio is slightly better than it has been in previous releases. It's still not as good as the level designer in MMF but at least now in GM you can scale objects in room.

The level editor has barely been touched since about version 6. They added object scaling? Their priorities are fucked, GM's level editor is still incapable of multi-select. It is impossible to select and edit or move a group of objects. So if, for example, you need to move a section of your map, it's impossible. You have to delete it and rebuild it.

 

After all these years, all I can say is: as long as you're able to make what you want, and are having fun doing it, then you're using the right tools.

Problem is, people are repeatedly discouraged by the crippling disadvantages in every program, and further discouraged when a tool like Construct exists that pretty much solves every problem but the game engine they need doesn't exist for it.

Link to comment
Share on other sites

So if, for example, you need to move a section of your map, it's impossible. You have to delete it and rebuild it.

Yu4xQwP.png

Please note that this method's still a pain since you have to go into every layer when you want to move things. Also having to put in creation code's so annoying if you're doing more than one object. (and this is 8.1 not studio)

 

I have started using MMF2 for the sake of making a simple but unique sonic level but I haven't had enough experience with it to form a solid opinion of it. (I'm having so much trouble navigating as all the menus seem to be hidden in other menus. In this case I actually wish I could just code here. But that's about it as far as complaints.)

And I haven't even touched construct.

Link to comment
Share on other sites

I love construct classic. The only real hurdle it provides is that it's terrible in terms of stability. You just sort of have to create workarounds to get anything extensive done. 

 

If anything, it'll teach you how to correctly backup your files real fast.

Link to comment
Share on other sites

Guest Mr Lange

Yu4xQwP.png

Please note that this method's still a pain since you have to go into every layer when you want to move things. Also having to put in creation code's so annoying if you're doing more than one object. (and this is 8.1 not studio)

 

I have started using MMF2 for the sake of making a simple but unique sonic level but I haven't had enough experience with it to form a solid opinion of it. (I'm having so much trouble navigating as all the menus seem to be hidden in other menus. In this case I actually wish I could just code here. But that's about it as far as complaints.)

And I haven't even touched construct.

This feature is not a solution. In fact it's pretty damn far from one.

Link to comment
Share on other sites

I'd love to use Construct 2 if it wasn't the most expensive one of the 3 choices listed here. That and fact that I really do not care about HTMl5 web game development. Honestly though, the main thing I loved about Construct is the object handling system. 

Edited by Asuma
  • Like 1
Link to comment
Share on other sites

I'd love to use Construct 2 if it wasn't the most expensive one of the 3 choices listed here.

It's only 20 USD more than MMF2. which I swear had the exact same price not long ago.

 

That and fact that I really do not care about HTMl5 web game development.

So? C2 can just as easily be used for desktop 2D games, or iOS games, or whatever else. Hell, you can export to the Wii U now if you get your hands on a dev kit. I myself prefer to use the web-game thing for demos, since larger games would be excessive for the web..

Link to comment
Share on other sites

20$ bucks is actually quite the difference for me. I would have bought it back when it was half the price, but there wasn't a exe wrapper back then and I wasn't about to waste about 40 bucks on something I won't use.

Link to comment
Share on other sites

  • 3 months later...

MMF2 and Construct are, in my opinion, good tools for beginners, but if you want to make something more "complicated", these game engines won't work most of the time. Game Maker can make more complicated stuff because of its more powerful programming language, but it still has its limits. If you really want to make something complicated (or 3D, in which all 3 game engines I mentioned aren't good for), go for a professional programming language like C# or C++. Unity3D and Unity2D are good game engines for this, but you can also use something like Love2D which adds certain functions to the language Lua, to make creating games easier.

 

I'm still new to this community, but as far as I've seen, most people here tend to use MMF2 or Construct, which is the exactly opposite of the forum I'm used to, Mario Fan Games Galaxy, in which most people tend to use Game Maker. I think it has to do with the engines available. While there are a lot of good Sonic engines for MMF2 or Construct, including Sonic Worlds, there are barely any for Game Maker. For Mario fangamers, this isn't a problem, because most are making their own engines from scratch, probably because Mario games are generally easier to code than Sonic games. There are Mario "fangamers", however, which do use a pre-made engine. Most of the time this is the overused Hello Engine, which I shouldn't talk about here ._.

 

Anyway, to get back on-topic: for most of the people here, MMF2 or Construct is probably your best bet, unless you want to make your own engine from scratch (which I'm doing), then Game Maker would fit just as well, if not better. I don't necessarily prefer one over another, but to me, Game Maker fits the best, but that's probably because I'm used to its editor (which is in no way hard to understand, you just need to get used to it, and maybe read some tutorials).

Link to comment
Share on other sites

Eh, we've got some GM Sonic engines as well. They just don't tend to be as heavily developed on as Sonic Worlds.

And I think your analysis is a little off.  Almost none of us actually use Construct. Candescence is about the only one I can think of. Meanwhile Overbound is a GM user and I personally bounce back and forth between tools depending on my mood... The mix around here is really about even between MMF and GM these days.  Sonic Worlds projects that get started and promptly scratched (nothing against Worlds, it just has that completeness to it which makes it an attractive option to people who aren't likely to be willing to put in the effort to create a lot of original content) tend to make it look more stilted than it actually is though.

Link to comment
Share on other sites

Eh, we've got some GM Sonic engines as well. They just don't tend to be as heavily developed on as Sonic Worlds.

And I think your analysis is a little off.  Almost none of us actually use Construct. Candescence is about the only one I can think of. Meanwhile Overbound is a GM user and I personally bounce back and forth between tools depending on my mood... The mix around here is really about even between MMF and GM these days.  Sonic Worlds projects that get started and promptly scratched (nothing against Worlds, it just has that completeness to it which makes it an attractive option to people who aren't likely to be willing to put in the effort to create a lot of original content) tend to make it look more stilted than it actually is though.

Thanks for the notice, I'm still new to this board, and looking at some projects, I assumed that most people here used MMF, my bad. It doesn't change my opinion though, since like you said, MMF engines are more developed, and I still think Game Maker can handle more complicated stuff.

Link to comment
Share on other sites

The main problem is that only MMF2 and Game Maker have proper working Sonic engines for them. Construct 2 would be much more used by fangamers if there was actually a working Sonic engine for it. Same with Unity, really. But few people actually have the knowledge and experience to do it, and Dami's dropped off the map while in the middle of working on the Egg Engine.

 

It's something of a chicken-and-egg problem, unfortunately. It's why I've avoided doing Sonic-related fangaming development lately, Sonic engines are great, but they are a massive headache to make, especially if you're using a framework that's incompatible with a good chunk of the physics guide. 

Edited by Candescence
  • Like 1
Link to comment
Share on other sites

Game Maker:

I can't vouch for Game Maker, i've never touched it before. Engines using it seemed to be getting progressively better, but there have always been little quirks about GM projects and demos that bothered me. It just feels like nobody who uses it really has an extensive grasp of it yet unless it's a Mario engine.  

 

MMF2: 

I actually own it now but have not yet upgraded to 2.5 yet, and I doubt I ever will. MMF2 on its own merits is a wonderful program, but after switching to Construct Classic i've ditched it entirely. The deeper features of MMF2 are just too lacking to me.

 

 

Construct Classic:

It has some annoying IDE bugs. Including a memory leak issue with the sprite editor that will crash the program and ruin your life if you don't know it exists. The event editor also has this issue where it occasionally gets confused with highlighting events and selects whole groups, and it's aggravating as fuck. I also hear warning of a larger memory leak issue that still hasn't been fixed, and apparently creeps up on larger .cap files.

 

All that aside? This program is wonderful. If it had just a single update more to fix the memory leaks i feel like it would be perfect for my 2D needs. Nearly everything i've tried to implement that I stumbled hard over in MMF2 gets done. It's waayyy faster than MMF2, comes with great shader and mesh effects, subevents, functions, multiple ways of grouping objects, FAR superior object selection control, and alot of other improvements. It also features Box2D physics and other built-in behaviors that can be stacked and toggled during runtime.

 

***regarding Worlds in Construct

 

So I started my current project using an unfinished port of Sonic Worlds for CC by Streak and Lark that i got from Candescence. While it worked just fine, at this point in development I have literally rewritten pretty much every line of code from that engine. While it worked, it was built in a way that was just really, really bad for performance. It was built around the function feature, which performed everything as intended but was just not something that was intended to be used for constant collision checks.

 

Speaking of collision checks, I've recently rewritten both the player and enemy base physics using Construct's built-in platform movement as a base, and i've achieved decently fast collision detection using no mask sensors at all. I'm not sure about GM, that would require sensors, manual collision checks out the ass and pushout events and in MMF2.  I've gone from 7-8 instanced masks onscreen at 45-60FPS to over well 20 while maintaining solid 60FPS, a result I simply couldn't dream to achieve in MMF2.

 

 

 

Construct 2

Basically CClassic, the non-buggy HTML5 version. And that's both a great and not so great thing. C2 is definitely the superior program out of the 3, but it has to be more or less half as powerful as CC is. On the flip side though, it offers all the same amazing features of CC with the added benefit of actually being in active development. I'll use it for smaller projects, but until that horsepower issue is fixed i'm reluctant to bother with it.

 

In regards to C2 Worlds, I believe someone tried to port the engine, but it just proved too intricate for C2 to handle, causing it to lag and not even work properly. 

 

 

 

 

 

Link to comment
Share on other sites

In regards to C2 Worlds, I believe someone tried to port the engine, but it just proved too intricate for C2 to handle, causing it to lag and not even work properly. 

Actually, that's because of the exact same issues you described in the Classic version. And even then, C2 has had some impressive optimization improvements, I actually tried the incomplete engine on a whim and it ran at 60 on my four-year-old laptop, which has been running somewhat sluggishly. Still needs a complete rewrite, though, the function system wasn't meant for constant collision detections and the physics are janky in certain circumstances, even if the relatively new collision cells feature might have a factor in the improvements, it's difficult to tell.

Edited by Candescence
Link to comment
Share on other sites

×
×
  • Create New...