I'm sure you've seen it in every game and application forum, every scripting and graphics site, even Clickteam's own forums; Which is the way to go, MMF, or a scripting tool?


First off, the obvious advantage with scripting tools is the ability to develop 3D games, as they put you in control of Direct X-So in this article, I will only be focusing on arguments of 2D development. I'm using DarkBASIC as the scripting language because it's the only one I own

Ok. So you've just bought MMF 1.5 from Clickteam-you have a little play with it, make a simple platform game in a few days using the default movements and some ripped graphics (Don't tell me you've never done that before ) and overall found it a useful tool. You have also spent some time using another popular game development tool, DarkBASIC. Using a Basic like scripting language, DB is pretty easy to learn. In about 2 weeks, you've made a pretty buggy platform game with block graphics, as you wanted to spend more time coding than graphic-ing.

That's the first main advantage-Because of it's simple Point + Click interface, MMF lets you spend more time on the other aspects of development, such as layout, title screens, character graphics, e.t.c.
In a language like DarkBasic, you have to create a seperate Bitmap image in another drawing tool, load it in a command, turn it into a sprite with another command, position it on the screen with a few more commands, and thats just for a simple object-in MMF, you simply have to click the 'new object' button, draw in the built in editor (or if you wish, import from another tool in any format), save the changes and you're done-no time spent having to set it up.

Now then, In MMF you start developing your platform game. You draw your own graphics by simply editing the old sprites, which while not great suit the game. You learn from the helpful click community you found on google by accident about Custom Movement, and begin by editing someone elses open-source example to fit with your game. So far so good-there are a few bugs but nothing that can't be fixed. You don't think theres that many features in MMF, but don't mind much as you are good at maths and can use math equations.
After exporting the new graphics you made in MMF into your DB game folder, you start renaming the old image files. Seems easy so far-you open up your source code and run the game-what the hell? Everythings in the wrong position and the movement is even more buggy from before, because legs and arms aren't as easy to handle as a nice, angled square.


Another advantage-MMF dynamically changes positions of objects as soon as you edit them by just right clicking one. Using the hotspot and action point tool, you can also set where on the object you want to shoot bullets from and where the center of the object is-again, MMF adapts to this in your code, managing any set position actions by changing them so the object is still in the place you set.

You realise what your game is lacking-animation. Your objects just float along the platforms, hit the enemy with baseball bats that appear out of nowhere. You open your .cca file, right click the objects and click edit to open the animation editor-all you do is click a button to add a new frame of animation, and draw the changes. You easily do multiple animations, such as dying, being hit, crouching and jumping, and make changes in the code to simply change the direction to right when you press right, to jumping animation when you press shift and your character is in the air, and crouch when you press down. So far, so good looking! It works a dream and you hope recreating in DB will be just as easy.
Looking in the manual brings not much help-looks like you need to do some work here and here and..hmmmm! You open up the character bitmap, and extend it-you have to make 'zone based' bitmaps, having to copy and paste the character into the next frame, make changes, copy and paste into the next bit of space, make changes, save. You've got...well...a split up set of sprites that are supposed to walk-you open up the DB source and run-but all you get is a big set of sprites in a row instead of 1 walking sprite-you realise you have to change the code to load up a part of the image, turn it into a sprite, load another part of the image, change the sprite image, etc. Well, after a bit of work and carefully measuring the image, you manage to get it working-but can't seem to get a jumping crouching animation done-you have to make a new bitmap! This is hard work for a few changes in dots on a screen!!


Spot the advantage. MMF automatically does all the hard sorting work, so all you have to do is make frames and put in the code to set the speed or animation sequence.

You begin making special effects-sparks when bullets hit metal walls, blood when bullets hit an enemy e.t.c. You are a little restricted by MMF-someone informs you about things called 'extensions', which are files made by clicking C++ programmers which you simply place in a folder, and they act just like any other object in the event editor-you are amazed by how easily things you coded in math are now coded with the angle calculator, direction calculator and string parser objects-you experiment with the MOO objects and realise that you can easily make this game multiplayer over the internet-you find that the movement object makes better gravity in a few minutes than you made using trigonometry in a week! You now have a fully functioning, animated, realistic platform game, and release it into the many community sites found in the clickteam links-they really like the game, and are amazed that you only found MMF a week ago.
You begin to make the same changes in DB-you don't think it's worth the effort, but simply want to see if DB is up to MMF's high standards-You try to make sparks-you manage it in a couple of hours with many lines of function and goto-based code. You make blood effects in about 100 lines-taking more than a day, due to all the nesting errors and loops starting when you don't want them to start. You look for a few seconds at your DB disk momenterily, then throw it away! MMF forever!


That's absolutely the best advantage MMF has-with the many clickers who have learnt C++ but find it hard to code complete games in due to the many reasons above, it's features are always expanding with 3rd party extension objects-they are small in size and are built into the final EXE your game makes, but add many features and make things that were difficult very easy, even bring in the before impossible. DarkBASIC has only DirectX updates from Microsoft and patches from the DarkBASIC team to update it's features, and so are restricted.

In no way am I saying DarkBASIC is bad, in fact it is a very good beginners tool, especially for 3D, but with MMFs many advantages and it's constantly updating interface, theres no point with any other languages, stick with MMF, and be at ease with the power!