I don't think there's anything wrong with MMF as it is.. it's just missing a lot of things. And every version of MMF has just been adding more and more things. So, why not we try to list down everything MMF should have? Clickteam are doing OK, they're just lacking some creativity. I remember the last time I did this, someone said Hardware Acceleration, and poof, we got HWA in MMF2
Oh, BTW, I took some of them from Construct. Since it's not illegal for Construct to copy MMF, it's perfectly legal and probably good for MMF to copy Construct as well
Here's a list of things I want to see in MMF2.5
1. Unlimited alterable values
2. Unlimited action points
3. Auto-hide property bars & better GUI. The properties bar can get a little annoying sometimes since it takes up so much space. Also, we all know that while MMF has the most effective interface of all the klik products, it's the ugliest. That's putting off a lot of people who want to make games for fun
4. Storing everything in non-integers. I don't want to keep doing a X + 0.0 every time I want to use a non-integer. It's horribly annoying and unprofessional. It's better to have it save as a float/double then teach the player to convert it to a round number.
5. Have a quick conversion of string to numbers and vice versa, like construct does. Instead of having to do Str$(Text) + Counter, it should be a simple Text & Counter
6. Construct's TimeDelta - automatically calculate seconds from last tick. No more tossing counters everywhere
7. Unlimited flags
8. Changing the 'create' event to X and Y. Right now you have to choose a location instead of the X and Y positions. C'mon. Nobody really does that anymore. I tried to set their positions from my KNP days.
9. Proper default movement engines. So we don't have to make a custom one every time. It's sad that the default engines are so bad that we shun upon them.
10. Allowing events to be disabled, so we don't have to delete them when debugging.
11. An event "bookmark", so we can jump back to it without having to scan through the lines every time. Even a "Find and replace" button will do.
12. Proper scripting support. So we don't really have to 'klik', we could type.
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.
"Oh, BTW, I took some of them from Construct. Since it's not illegal for Construct to copy MMF, it's perfectly legal and probably good for MMF to copy Construct as well"
Yeah, like that's not gonna start another MMF VS Construct war ¬_¬
Originally Posted by -Adam- "Oh, BTW, I took some of them from Construct. Since it's not illegal for Construct to copy MMF, it's perfectly legal and probably good for MMF to copy Construct as well"
Yeah, like that's not gonna start another MMF VS Construct war ¬_¬
The other guy coincidentally resurrected a Construct post. So, you guys go ahead and fight on that one if you really want to battle. But try to be mature here, or I'll liberally edit offensive posts
I think we have to admit that Construct's good in order to improve. It's like Coca Cola suddenly realising that Pepsi now tastes better than them. So, let's just try and use the competition for the best. I think in the long run, if Clickteam and Scirra continue to learn from each other, it'll be best for everyone. Right now, I'm sure Clickteam are just lacking ideas on what to improve.
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.
"4. Storing everything in non-integers. I don't want to keep doing a X + 0.0 every time I want to use a non-integer. It's horribly annoying and unprofessional. It's better to have it save as a float/double then teach the player to convert it to a round number. "
Could work I guess, but floats and doubles use more memory. I think there should either be a global option for it or a float() expression to force MMF to work in floats there.
"5. Have a quick conversion of string to numbers and vice versa, like construct does. Instead of having to do Str$(Text) + Counter, it should be a simple Text & Counter "
I dunno I like it the way it is really... I'd have to try it in action I guess.
"8. Changing the 'create' event to X and Y. Right now you have to choose a location instead of the X and Y positions. C'mon. Nobody really does that anymore. I tried to set their positions from my KNP days. "
Take this further, we need to be able to create objects via expressions, where we can set the object made via expression, its X and Y and maybe alterable values etc too.
"12. Proper scripting support. So we don't really have to 'klik', we could type. "
I like this idea, C++ style syntax or somesuch so we could end up with:
Active.x += 5;
Instead of Set Active X position to X("Active")+5.
13. I'd really like a way to place tiles like Gamemaker (evil I know ) but it's much faster than ctrl+drag all day long.
I haven't read Muz's points yet but lets see if we get some that match up.
1. Global Qualifiers
2. Unlimited number of qualifiers, with customisable naming and icon.
3. Realtime adding/removing of qualifiers from objects
4. Working parallax layers
5. Fully working HWA
6. Mirror options just like Scale and Rotate (like with HWA but better)
7. Option to keep an actives events "alive" when fading in or out.
8. Event searching. For duplicate lines, blank lines etc.
I'd like an in game video capture and editor for game trailers. It would also be cool if you could just enter your server (lacewing) and have built in online settings for 2 or more players including text or voice chat.
- globalize all resources: if it's one thing game maker does right, it's this. having all of your objects/frames/sounds/music/graphics/events/etc available anywhere would be AMAZING. yes, you can make objects global but the way it is currently implemented isn't intuitive, and is easy to mess up. also note that the global events editor isn't what i'm talking about
- clean up the extension sdk/api: though i don't code c/c++ and have no experience in this area, i hear it's not fun. i remember rii mentioning some the hoops he had to jump through to get xlua working well. also the double <-> float <-> double mess which is basically an expensive way to lose precision for no reason
- more object selection-related tools: while object selection itself isn't inherently bad, you get practically nothing to work with it. mmf should probably also indicate object selection scope within conditions, so you know when it's going to work with all objects, some number of them, or just one
- the foreach object should be core functionality, same with the select object and any others which provide selection ACEs for the reason above
- fixed values shouldn't be artificial numbers but instead memory addresses so they can be used more efficiently
- "self" and "other" pseudo-objects for use in behaviors; draw your own conclusions here
- consistent variable naming. capitalization, spacing (which shouldn't be allowed imo), and abbreviation inconsistencies are all around
- create object needs to be able to take an object by name. in fact you should be allowed and able to evaluate object names period
- error/exception-handling. mmf needs to raise errors, and you need to be able to catch them. they shouldn't stop execution, obviously, but right now mmf just silently ignores errors (unless it crashes instead) so debugging can get difficult
- a "no value" type: using empty strings and 0's (or -1 or whatever) for failures is asking for ambiguities down the line
- FUNCTIONS. i can see these set up sort of like groups (possibly even an option for them). normally they'd be deactivated until they're called. like immediate conditions they'd have a red name, because, well, they're functions
- functions (whether the above type or api/extension functions) should support vararg and multiple returns. once you use and lose those you miss them a lot
- arrays should be built in, and have special syntax rather than being manipulated the way they are currently
- please just choose 0 or 1 based indexing and not both
- expand collisions: you should be able to use/manipulate simple rectangular collision masks for objects, and be able to load in b/w images for objects and the background without requiring more objects. said images should have a range of options: to clear out the current mask and replace with the loaded image, to be "pasted" into the current mask with add/sub/multply/xor/whatever. there should be more conditions for arbitrarily testing points/lines/rectangles/collmaskimages on the frame or in other objects against another point/line/rectangle/collmaskimage. i don't know if mmf uses quadtrees or some other spatial indexing method but if it doesn't then it really needs to. this is another area where mmf severely lacks
-Built in SWF exporter
-Iphone Exporter
-more easy and better 3D
-type codes (like game maker) I would like mmf to have his own code so we can be a special programmer, not like anybody out there
-The built in platform movement should be better with no bugs and with double jump, and walljump...
-grid movement for rpg and bomberman games
plenty of other things I thought before....