Skip to main content

Why I prefer GameMaker over Multimedia Fusion

Update (5/1/12): I wrote a new article about Construct2 and why I think is now a better solution than both MMF and GameMaker for making games. Please check that new article.

MMF doesn't have enough power for me. Yes, it has all those hundreds of extensions, but you can't just re-use your code in a practical way. Let's face it, GameMaker is ages more object-oriented than MMF and it has as well many extensions (such as physics and 3d) anyways. Also, the GM graphic editor has advance features such as colorize (useful in RTSs), outline, multiple crop, scaling sequence (for your mod 7 games), blur and more. Another advantage is price, GM is free and it's more powerful registered version is only around 20 bucks. Now, GM can be daunting to learn and use, but once you master it you will love it. Furthermore, I am working on a GM big template that will allow the user to have handy pre-made code just like in MMF making the use of GM much simpler. The screen shot is another example of the power of GM, my MMF can't get Isometric games right.

Comments

Jinks said…
Nobody cares what you like. You fail at life.
Juan Pablo said…
:) that comment reminds me of my days at the Clickteam forum where I use to frequent a lot. I would like to add that MMF now does have 2D physics support and they are planning on a Java converter so that the games created using MMF can be played on multiple platforms supporting Java, which is good.
Anonymous said…
Which one of the two - MMF2 vs GM - is better for kids in age group 9 to 13 years? Thank you.
Juan Pablo said…
MMF2 is definitely easier for ages 9-13. If the person you are buying it for has no programming experience, then you should go for MMF2. On the other hand, if he/she already took a class on programming, then you should go for GM.
Thanks, Juan

Popular posts from this blog

Mail labels and letter templates for jasperreports

The following are free (MIT license) mailing labels and letter templates for jasperreports that you can download and use in jasperserver and/or ireport: Update 3/15/2011 : I moved the Mail templates zip file here . Please consider making a small donation if the templates are of help to you, Thank you! If you need more information on how to use those templates please leave a comment in the blog.

How to create online multiplayer HTML5 games in Contruct2

  Construct2 can use websockets to send and receive messages between games. By using socket-io , we can use a Node.js script as the server and my modification to the socket-io plugin for Construct2 to allow the games to synchronize data between them in real-time. There are two parts to this design: the Node.js server and the Construct2 clients (the games playing). The main part of building an online multiplayer HTML5 game is to plan: how the clients will communicate how often and what to communicate how much of the logic will go into the server and how much to the client. In my sample game, I chose to have each client own a player and have the server just relay messages: Use string messages in the form TypeOfMessage, Parameter1, Paremeter2, Parater3, etc to communicate. Have the clients send their player position about 16 times a second. Whenever their player shoots, the client needs to send a message immediately. Almost all of the game logic will...

How to get the raw data posted to a Java Servlet

While working in porting GeneCMS to Google App Engine and Silverlight , I stumble at one annoying problem: how to get the raw data that was sent by the browser via a POST. In this GeneCMS port, the silverlight client actually generates all the HTML that the server used to generate. The raw generated HTML is then sent to the GAE application, with some metadata about the generated pages. The GAE servlet then reads the posted data as a string and extract the individual generated pages. Each generated page is then saved into the GAE database to allow the CMS to server the pages. After tweking around in the wrong places, I finally found out that HttpServletRequest’s getInputStream method is an input stream to the raw data posted. So I modified my servlet to get the POST data into a string like this: String posted_data = ""; BufferedReader in = new BufferedReader(new InputStreamReader( request.getInputStream())); String line = in.readLine(); while (line != null) { posted...