Personally, I'd think it would be nice if you could add qualifiers to global events.
Oh, and you know how you can arrange objects in the frame editor like To Back, To Front, Forward One, etc? It would be handy if there was a "Move To..." option where we could manually type in a number. The overworld map in my FableQuest project has over 23,000 backdrop objects, and it's a pretty huge hassle to rearrange things with To Back and To Front as my only reasonable options.
On that note, some more control over how the backdrops are loaded/rendered would be nice. Only a teeny fraction of my overworld map is ever needed during gameplay, and yet the game seems to want to load all of it, resulting in a noticeably slower loading time than the other frames.
As far as object selection goes - yes, it takes a while to learn - but I have yet to hear anyone come up with a better idea of how it could work. If you think you know how it could be improved, I'm sure clickteam would love to here about it.
Just bitching about how you don't like it now isn't going to help anyone though
These are the two main ones though (seems to be some overlap with Varv's)
1.) An unlimited number of alterable/global "variables" (not separate values and strings), and the ability to define new ones at runtime. Also, "alterable arrays" (arrays which are local to each instance of an object).
2.) To be able to export the event list as a plain text file (and obviously import it again after editing) so I could write events in notepad (or even on my phone), or post the source online more easily when I need help from the community.
Originally Posted by Sketchy As far as object selection goes - yes, it takes a while to learn - but I have yet to hear anyone come up with a better idea of how it could work. If you think you know how it could be improved, I'm sure clickteam would love to here about it.
Just bitching about how you don't like it now isn't going to help anyone though
These are the two main ones though (seems to be some overlap with Varv's)
1.) An unlimited number of alterable/global "variables" (not separate values and strings), and the ability to define new ones at runtime. Also, "alterable arrays" (arrays which are local to each instance of an object).
2.) To be able to export the event list as a plain text file (and obviously import it again after editing) so I could write events in notepad (or even on my phone), or post the source online more easily when I need help from the community.
Oh yes, and I do NOT want it to be 3d
Hum..I know how it works, the problem is when things get slightly more complex the object selection system simply breaks.
Try playing my game Atrox Online with over 3 or 4 players at once to see what I'm talking about. You'll come across some odd bugs with clothes being exchanged randomly between characters and in addition you'll see some layering problems.
The problem is definitely caused by MMF2, if I were to show you the code, you'd understand what I'm talking about.
It should have more built-in tutorials other than Chocobreak. That way there would be way less problems coming from n00bcakes, and less of a hassle to go look all over the place just to figure out one silly thing.
i would go so far as suggesting breaking most or all backwards-compatibility in the interest of revamping the entire system to be more flexible, removing outdated legacy cruft/bugs/workarounds, and structuring the events system to resemble actual programming flow and with that, hopefully things like "on loop" and other immediate events would actually be efficient
I want it to not suck. Really. It's a great tool, but it's just horribly designed.
I want something that lets you make your own functions and variables. something that lets you code instinctively. The object system is not bad. But the expression editor is horrible. MMF2's obviously evolved right from K&P, which never really intended for you to use the expression editor. I want a proper debugger with breakpoints and stuff, although the one with MMF2 is a good start.
I don't want a MMF2 with new features. I want a new MMF, properly made, though it looks like their doing it.
I think the "Make amazing games in minutes" is just what's wrong with it. It's MMF's selling point.. you do make amazing games in a few minutes, but you can't make anything better than that even after hours. I'd compare it to MS Word. It's amazing and everyone can use it for instant benefit. But it's purpose is to sell, and to appear powerful. There's no features to cater to experts, because experts have already bought it and don't need further convincing. Experts have a tougher time squeezing extra power from it.
If they want to be more profitable, they can avoid the "professional MMF" path and go back to TGF. Make the interface nicer and cuter, put more power into the image editor, make built-in movements that work, and basically turn it into something that lets you instantly make a good platformer or top-down game.
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.
I would like to see more separation between MMF and TGF.
At the moment, the only difference between TGF2-users and MMF2-users, is the size of their wallets (TGF2 being just a stripped down version of MMF2).
I think the next incarnation of TGF should be similar to MMF2, including all the added functionality of the latter, but with more features aimed at beginners as well (eg. improved built-in movements, better documentation, more examples, etc).
The next version of MMF however, should be completely redesigned to offer greater power and flexibility for experienced users - even if it comes at the expense of user-friendliness. Perhaps the current events system could be replaced by a scripting language even?
Lol, no, I'd like it if the events were still there, but used to write the script. Like how K&P's step-through editor created events. So basically, you could do the whole thing through script, but also through events.
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.
Originally Posted by Muz Lol, no, I'd like it if the events were still there, but used to write the script. Like how K&P's step-through editor created events. So basically, you could do the whole thing through script, but also through events.
I want to see better support for behaviors, qualifiers, and object selection.
Originally Posted by Muz I want a proper debugger with breakpoints and stuff, although the one with MMF2 is a good start.
Have you tried the "Never" expression? It's not a breakpoint by any means, but you can stop any line of code from running by inserting Never at the top of the conditions. It's like deactivating code groups, but for a single line of code. It's one of those things that could help in figuring out what problems are.
You could also (painstakingly) have a line of text be spit out into a file after every event, describing what everything is doing, ie:
Player(0x10000):x+4
P1.Input:LEFT
Then when your game crashes or you come across a bug you'll have a log of what happened!
But yea, a proper way of debugging would be much better.
3D kicks the complexity up way too much and will turn MMF3 into more of a cookie cutter application just to keep the ease down to the level of MMF2, which I think defeats the whole purpose.
Plus, MMF2 is just now capable of competing with the standards of 2D games today. I think it would be completely pointless to release a 3D version that I can say with the up most certainty, wont even compete with Wii's visual capabilities.
Originally Posted by SiLVERFIRE 3D kicks the complexity up way too much and will turn MMF3 into more of a cookie cutter application just to keep the ease down to the level of MMF2, which I think defeats the whole purpose.
Plus, MMF2 is just now capable of competing with the standards of 2D games today. I think it would be completely pointless to release a 3D version that I can say with the up most certainty, wont even compete with Wii's visual capabilities.
pretty much
at times mmf's current click system is too clunky even for advanced 2D games; even if it were improved it'd be a difficult task to extend it to work well with 3D. not only that but the process of making even a single 3D character model (modeling, rigging, skinning, unwrapping, texturing, making a high poly version if you want normal maps, animating, etc) is likely to take more time and effort than many people are willing to invest, especially if they go it alone. i dunno what clickteam's vision of mmf3d would be but it would probably be quite different than what mmf is now
Originally Posted by Hayo Same for making 3D models.
Good 2D art is too though!
That's why good 3D art pays very, very well. If it's hard to do in 2D, it's 3-10 times harder for a newbie to do it in 3D. And it doesn't even look as good, you can see the ugly polygons and textures most of the time, or lock up the computer by using too much detail.
It's much harder to program in 3D too. Take any mathematical formula, apply it to 3D and you'll see what I mean. There's a good reason they don't teach you that in school. And that's on a klik level.. on Clicteam's lower-level side, there's all sorts of trouble.
I think Clickteam's said at one of the conferences that it's just not profitable for them to make MMF3D. They'd do it if people donated towards the project, but it's too much work for too little gain for them.
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.
Plan it out better, so that next time we dont have to have 3 versions of MMF2 Developer. The fact that there are different versions of MMF2 (TGF2, MMF2Standard, MMF2Developer) is enough, but add things like hardware accelerated version and it just gets confusing. Lower the price a bit and increase sales volume accompanied by a proper advertising campaign that reaches to new users. 3D would be nice, but i'd focus on just making a better-planned system that is relatively bug free.
My issue seems to be that these products are often unusable until a couple of months of updates.
I guess Unity and Torque's Indie versions are useless too, since the average amateur can't make good 3D art.
Sure, a lot of clickers might not be able to do it well, but who says MMF3D would be limited to current clickers? And think about how many 2D games you see have blocks as graphics. We'd see a lot of cube and sphere games, but that doesn't mean the tool wouldn't attract skilled developers!
I don't know that it ever will happen, because I could easily see the point of cost outweighing revenue, but I'm with Radon. I still want to see it happen.
Then again, I also want free cheeseburgers for life.
I think 2D also has a larger market with MMF simply because as you increase the capabilities of the software to do more complex and powerful functions, you're adding to the programs ability to not only create 2D games but high quality applications and presentations. However since Clickteam took on and successfully pushed out a very solid HWA build, I would like to see some more powerful functions such as skewing, distortion based on mapping out polys, and above all, what I would really love to see, is collision masks. Especially more than one per object. It would make custom movement so much easier. Either assign a string name or use the list variable like frames:
On Overlap (Active) CollisionMap$("LeftSensor")
or
On Overlap (Active) CollisionMap(1)
Oh another thing, maybe I'm just missing the way to do this in mmf2, but when using my ancient mmf express I can click on an object in the object toolbar, and then right click to paste it multiple times. I use this all the time, but I can't seem to do it in mmf2.
Originally Posted by JustinC Oh another thing, maybe I'm just missing the way to do this in mmf2, but when using my ancient mmf express I can click on an object in the object toolbar, and then right click to paste it multiple times. I use this all the time, but I can't seem to do it in mmf2.
I remember people asking this on the CT boards by the time MMF2 was released. The answer was something like "you can copy and paste, what's the point?". That's what makes this such a big community
I don't want it to have any real 3D but what I would definitely like to see are smaller 3D functions such as 3D box, 3D sprites, 3D zoomb et cetera, everything you can think of. Of course some of these MMF2 can already provide but there unerringly aren't any easy way for that. Especially the 3D zoom is simple so cool and perfect for fighting and beat em up games.
More and better effects, ink effects and all stuff players could find handy....
But mostly just a support in one way or another for all the goodies and features people come up with outside the Clickteam scene. Such as the ribbon interface example.
Sooo... for MMF3, nobody here wants 3D support, but everyone wants a re-hashed version of MMF2 with minor annoyances removed and a slightly improved picture editor?
What's the deal with the "Clickteam aren't capable of making anything good, so we aren't going to ask them for anything" attitude here?
Clickteam is underrated. They made Jamagic, so they must have some knowledge of working with 3D engines.
Discarded pizza boxes are an indispensable source of cheese.
If I want to reference all of "Active 1", or all of "Active 1" relevant to an event (like, Active 1 has collided with Active 2), I'll just do that.
If I want to, though, I want to be able to call "Active 1(2)" to call the second instance of Active 1. Also, a GetInstance(Active 1) would complement that too.
Originally Posted by marky_2 Sooo... for MMF3, nobody here wants 3D support, but everyone wants a re-hashed version of MMF2 with minor annoyances removed and a slightly improved picture editor?
What's the deal with the "Clickteam aren't capable of making anything good, so we aren't going to ask them for anything" attitude here?
Clickteam is underrated. They made Jamagic, so they must have some knowledge of working with 3D engines.
That's exactly the point. MMF3D would actually be Jamagic 2. It will be only slightly better than Jamagic, just like MMF2 is slightly better than MMF1.5. Clickteam have accepted the fact that nobody's going to buy that, which is why they're asking donations for it. If they knew they could make it great, they would Jamagic's actually not so bad.. it's much more user-friendly than any 3D game making tool, but still 5 times more difficult to make games.
Minor annoyances really stack up when you make a big project. Fastloop alone cut down a lot of workarounds. Lua cut down my coding time by over 80%. Right now, it's impossible to read your code when you have an average of 7 conditions per event and more actions per event.
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.
Originally Posted by Ricky Yeah but construct can't do flash
and as far as im concerned construct cant do java even though ive never tried it myself and ive been told MMF's java export is quite wonky so prolly a working java export.
also ive said everything GOOD construct has which means:
combine the best out of BOTH worlds. for example im sick of that active object / background object hierarchy MMF is forcing onto me.
also there used to be a ZOOM object for MMF 1.2 - I don't think it exists for MMF 2 but I wish they would have worked on it and made a better ZOOM object that actually works. Also I would love to be able to rotate the whole screen like the beginning of Super Metroid where you have to escape and everything is exploding.
edit: OH excuse me but is MMF 3 REALLY in the pipeline or is it just a pipe dream?
Originally Posted by marky_2 Sooo... for MMF3, nobody here wants 3D support, but everyone wants a re-hashed version of MMF2 with minor annoyances removed and a slightly improved picture editor?
What's the deal with the "Clickteam aren't capable of making anything good, so we aren't going to ask them for anything" attitude here?
Clickteam is underrated. They made Jamagic, so they must have some knowledge of working with 3D engines.
a lot of annoyances aren't minor
for example no global/behavioral qualifiers, fastloop (or really any triggered condition afaik) inefficiency, and lack of foreach loops are painful in engine design
Originally Posted by Ricky Yeah but construct can't do flash
and as far as im concerned construct cant do java even though ive never tried it myself and ive been told MMF's java export is quite wonky so prolly a working java export.
also ive said everything GOOD construct has which means:
combine the best out of BOTH worlds. for example im sick of that active object / background object hierarchy MMF is forcing onto me.
Well I'm glad construct is around. Since it's a rip off of MMF it's a good launching point for those who want to learn how to use MMF2, but can't afford it.
Once they decide they want more power, like a working joystick object, and online support, they'll upgrade to MMF. Oh yeah, and java mobile, java, and flash, did I mention iphone/mac export on the way?
Originally Posted by MasterM edit: OH excuse me but is MMF 3 REALLY in the pipeline or is it just a pipe dream?
Yes, MMF 3 is being worked on now, I've seen jeff mention it a few times.
I don't want 3D because I know for a fact that it'll limit me. With 2D, it's very easy to make the limitations maxed out by the hardware, but with 3D there is so much involved and frankly, even if Clickteam did an excellent job, we wont have much better then Wii graphics and functionality without it being incredibly complex for people which defeats the entire purpose of their software. The possibilities are so much further out there with 2D then 3D. I would much rather Clickteam use their time and skills into making 2D the pinnacle of perfection, then to try to create a decent 3D software and severely undercut the 2D aspect - leaving us with 2 half-baked branches as opposed to a single excellent well thought out piece of software.
Personally, I'm never likely to want to make a 3D game.
I think if Clickteam add 3D support, it will reduce MMFs effectiveness as a 2D development system:
eg. The interface is no longer optimized for 2D only - it becomes a "Jack of all trades, and master of none".
eg. Clickteam spend all their time fixing bugs and improving the 3D engine, instead of improving the 2D engine and adding extra features.
it wouldn't be all that hard to have both 2d and 3d functionality without hurting the 2d all that much
if you want a 2d game, just put the camera in ortho and don't touch the z-axis except for layering (hwa is already like that). i doubt even 2d features like pixel-based collision maps would be all that hard (efficiency may be another story)
the editor would probably be a box (representing the level bounds) that you could rotate around; this could theoretically complicate designing 2d games, although there'd be nothing stopping clickteam from adding an option to lock the view down the z axis which would fix that problem
really it'd just be 3d with 2d shortcuts on top of it
Originally Posted by Xgoff it wouldn't be all that hard to have both 2d and 3d functionality without hurting the 2d all that much
The major annoyance most have with MMF, from what I've seen, isn't the 2D graphics part. It's the coding part, with the clunky (and slow) expression editor, the massive amounts of code required to do the very most basic of tasks, and so on. Take all of that hassle, that can only retrieve numbers from two axes, and put it into an editor with a third axis.
Originally Posted by Sketchy eg. Clickteam spend all their time fixing bugs and improving the 3D engine, instead of improving the 2D engine and adding extra features.
I agree with this because..
Clickteam has pretty much abandoned the java mobile runtime so they can focus on flash. Kinda annoying since the java mobile runtime is one of the most stable. (besides HWA that is)
I'm sure the same would happen to the 2D runtime if a 3D one was released.
If this means that we can have a MMF3D and/or a completed HA for MMF2 and/or a full blown HWA MMF (or even better a MMF3 that does HWA and 3D!) then i agree.
However i don't actually know if this is the stumbling block for my wish-list
they need more funding/staff that's dedicated solely to fixing bugs/removing limitations and need for workarounds
$120 is a really steep price for something that still has noticeable bugs/limitations all the way back from knp. though clickteam is usually great about fixing these i really do hope mmf3 fixes enough of it so they don't have to say "maybe in mmf4" when it comes to things like infinite alterable values/strings for objects
hell even allowing global qualifiers (or better, global everything) would improve things considerably
Originally Posted by Xgoff it wouldn't be all that hard to have both 2d and 3d functionality without hurting the 2d all that much
The major annoyance most have with MMF, from what I've seen, isn't the 2D graphics part. It's the coding part, with the clunky (and slow) expression editor, the massive amounts of code required to do the very most basic of tasks, and so on. Take all of that hassle, that can only retrieve numbers from two axes, and put it into an editor with a third axis.
Yea, no thanks.
Uh, no. I don't believe that. I think many people including myself, find the event editor and the amounts of code is all a part of the designing of a game. If you want a cookie cutter game maker, use something else. MMF is about assigning ease to power and theres never been a better balance between the two. I think Clickteam just needs to evolve on what they have, not step back and consider redesigning any of it - beyond the need for extensive repair, such as more up to date editors. I would hate to see the functionality of MMF dramatically downplayed by adding automation. We've all already seen how that works out with default movements. Pass.
Originally Posted by OldManClayton Clickteam needs more funding and recognition. I'm hoping after some good MMF2 Flash games have been out for a while, that will happen.
Agreed. I think though that CT is missing chances when it comes to this. Especially their focus on education seems a little off. They hardly offer any educational material for the teachers to work with, making it less attractive for teachers to work with their products. I ran a small gamemaking project recently and got about 15 students hooked to TGF. About every dude aged 11-18 wants to be able to make games. Most of them tried Gamemaker and didn't get it (I don't get it either) and TGF2/MMF2 was just what they wanted. If they just got more schools to use their products (by developing lesson plans and all) they could double their funding. And then hire more coders to make their great products even greater.
When moving objects (in frame editor) with the mouse, being able to hold shift to move the object in only one directions (not diagonally). Adobe has this in all of their programs and is really handy!
Heh, it just needs better coders. Two people working on the same thing is not always a good idea. Hire one Ashley Gullen and I'd bet they'd make 4 times more progress than they do now.
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.
Originally Posted by Vertigo When moving objects (in frame editor) with the mouse, being able to hold shift to move the object in only one directions (not diagonally). Adobe has this in all of their programs and is really handy!
It's quite slow but you can use the arrow keys to do this.
I agree with what most people are saying. When i was younger an naive i was like "OMGOMGOMOGMOGMOGOMG!!!!Shift+111!!!!! 3D WOULD BE AWESOME!" and now that I've had hands on experience with 3D programming in C++... I have to say i really prefer 2D. And the experience you can get from a really good 2D game is unmatched by any 3D game in my opinion!! Though, i might be biased, because i still think that the SNES is the best console ever.
Add physics support to MMF3! Thats all i want, and HWA built in (which is already pretty much a reality)
AND KEEP THAT JAVA MOBILE THING GOING! I want to play my games on my N97
--------------------------
Current Projects:
+
+ S#32
+ Ricky Runfast!
+ The GameStormers (YouTube Channel)
+ Final Fart! (Board Game)
Originally Posted by Xgoff it wouldn't be all that hard to have both 2d and 3d functionality without hurting the 2d all that much
The major annoyance most have with MMF, from what I've seen, isn't the 2D graphics part. It's the coding part, with the clunky (and slow) expression editor, the massive amounts of code required to do the very most basic of tasks, and so on. Take all of that hassle, that can only retrieve numbers from two axes, and put it into an editor with a third axis.
Yea, no thanks.
Uh, no. I don't believe that. I think many people including myself, find the event editor and the amounts of code is all a part of the designing of a game. If you want a cookie cutter game maker, use something else. MMF is about assigning ease to power and theres never been a better balance between the two. I think Clickteam just needs to evolve on what they have, not step back and consider redesigning any of it - beyond the need for extensive repair, such as more up to date editors. I would hate to see the functionality of MMF dramatically downplayed by adding automation. We've all already seen how that works out with default movements. Pass.
See, I didn't mention anything about wanting a cookie-cutting piece of crap or automation. Way to jump to a conclusion! Take the two examples of code, with whatever is italicized being something that requires data input:
Good:
Player1 moves joystick Left: Set X of Active("player") to X(Active("player"))-2 Who is moving the joystick..? Player1
...and which way is the joystick being moved? Left
What do we do when that happens? Set the X coordinate of an object to a value
Which object...? Active("player")
...to what value? X(Active("player"))-2
Bad:
Move Player left 2 units on keypress
How many units do we move the player to the left when they press the key down? 2 pixels
That's MMF2 code and what you probably think of when you hear "cookie-cutter," respectively. Now, this code example is more of what I'm talking about:
(1) New Function ("Move Left"), (a, GUID): Set X of Active(GUID) to X(self)-a
(2) User(1) presses "Left Arrow": Move Left(2, GUID(Active("player")) (1) What are we doing? Defining a new function
What is the new function's name? Move Left
What arguments will this function take? a, GUID
What happens when this function is called? Set X coordinate of an object to a value
What object...? An active object, with the GUID supplied by argument #2
...to what value? X coordinate of the previous object minus argument #1
(2) Which user is pressing a key...? 1
...which key are they pressing? Left arrow
What are we doing when that happens? Calling function "Move Left", with the arguments of "2" and the GUID of Active("player")
In that example, the programmer would be defining a function (without an extension), and then calling that function when some conditions are met. They could then reuse that function for the AI, additional players, physics, whatever. Having to tediously copy/paste code is, as far as I'm concerned, an unnecessary workaround for a function (aka reusable code). Take a few programmers and set them to work just creating a bunch of functions and you'll have a library.
Here's another example of a much more lengthy workaround. I'll be honest, this isn't MMF2 code, but this is what I think of when I think of "unnecesssary workaround for a basic task." This is a script from Morrowind, painfully retyped from a printed copy of Useful Morrowind Scripts (Volume II, 5th ed.):
Try and guess what it does before the end of code block!
if ( objnum == 1 )
set Z_one to axfinal
set Z_two to ayfinal
endif
if ( objnum == 2 )
set Z_one to axfinal
set Z_two to ayfinal
endif
if ( objnum == 3 )
set Z_one to axfinal
set Z_two to ayfinal
set objunm to 0
StopScript jdtrigscript
Return
endif
set objnum to ( objnum + 1 )
if ( objnum == 1 )
set angle_source to Z_input_angle
endif
if ( objnum == 2 )
set angle_source to X_input_angle
endif
if ( objnum == 3 )
set angle_source to Y_input_angle
endif
if ( angle_source < 0 )
set angle_source to ( 360 + angle_source )
endif
set angle to angle_source
if ( angle <= 90 )
set angle_temp2 to angle
set anglequad to 1
elseif ( angle <= 180 )
set angle_temp2 to ( 180 - angle )
set anglequad to 2
elseif ( angle <= 270 )
set angle_temp2 to ( angle - 180 )
set anglequad to 3
elseif ( angle <= 360 )
set angle_temp2 to ( 360 - angle )
set anglequad to 4
endif
set angleshort to angle_temp2
set angledec to ( angle_temp2 - angleshort )
set angle_temp to angleshort
if ( angle_temp <= 10 )
if ( angle_temp == 0 )
set ax1 to 0.000000
set ay1 to 1.000000
set ax2 to 0.017452
set ay2 to 0.999847
elseif ( angle_temp == 1 )
set ax1 to 0.017452
set ay1 to 0.999847
set ax2 to 0.034899
set ay2 to 0.999390
elseif ( angle_temp == 2 )
set ax1 to 0.034899
set ay1 to 0.999390
set ax2 to 0.052333
set ay2 to 0.998629
elseif ( angle_temp == 3 )
set ax1 to 0.052333
set ay1 to 0.998629
set ax2 to 0.069756
set ay2 to 0.997564
elseif ( angle_temp == 4 )
set ax1 to 0.069756
set ay1 to 0.997564
set ax2 to 0.087155
set ay2 to 0.996194
elseif ( angle_temp == 5 )
set ax1 to 0.087155
set ay1 to 0.996194
set ax2 to 0.104528
set ay2 to 0.994521
elseif ( angle_temp == 6 )
set ax1 to 0.104528
set ay1 to 0.994521
set ax2 to 0.121869
set ay2 to 0.992546
elseif ( angle_temp == 7 )
set ax1 to 0.121869
set ay1 to 0.992546
set ax2 to 0.139173
set ay2 to 0.990268
elseif ( angle_temp == 8 )
set ax1 to 0.139173
set ay1 to 0.990268
set ax2 to 0.156434
set ay2 to 0.987688
elseif ( angle_temp == 9 )
set ax1 to 0.156434
set ay1 to 0.987688
set ax2 to 0.173648
set ay2 to 0.984807
elseif ( angle_temp == 10 )
set ax1 to 0.173648
set ay1 to 0.984807
set ax2 to 0.190808
set ay2 to 0.981627
endif
elseif ( angle_temp <= 20 )
if ( angle_temp == 11 )
. . .
elseif ( angle_temp == 90 )
set ax1 to 1.000000
set ay1 to 0.000000
set ax2 to 0.999847
set ay2 to 0.017452
endif
endif
set angconvx1 to ( ax2 - ax1 )
set angconvy1 to ( ay2 - ay1 )
set angconvx2 to ( angconvx1 * angledec )
set angconvy2 to ( angconvy1 * angledec )
set axfinal to ( ax1 + angconvx2 )
set ayfinal to ( ay1 + angconvy2 )
if ( angle_quad == 1 )
set axfinal to ( axfinal * 1 )
set ayfinal to ( ayfinal * 1 )
elseif ( angle_quad == 2 )
set axfinal to ( axfinal * 1 )
set ayfinal to ( ayfinal * -1 )
elseif ( angle_quad == 3 )
set axfinal to ( axfinal * -1 )
set ayfinal to ( ayfinal * -1 )
elseif ( angle_quad == 4 )
set axfinal to ( axfinal * -1 )
set ayfinal to ( ayfinal * 1 )
endif
endwhile
end jdtrigscript
So, can you guess what that script does?
What it does is actually very simple: It finds the sine and cosine of three angles of any object.
That's it. It uses a pre-computed table of results to generate the sine/cosine, and that's the part I skipped over near the end: angles 11 through 89.
Sine and cosine, that's it. That is my definition of "unnecessary workaround for basic tasks," and I'm sure we've all seen or had to write MMF code like this to get something simple done.
Of course, your angle seems to be that "unnecessary workaround" is equal to "automation," and you oppose it for fear of a lack of control over your code. Would you rather translate the above code into MMF2 (and then copy/paste/update references for every object you wish to affect), or just use the built-in sine/cosine functions? Unless you're a masochist, you'd opt for the built-in functions because it's just stupidly tedious to have to write in a workaround for something and then manually update any references made by that workaround.
What I'm looking for isn't automation, I'm looking for a much easier to use that has more power to it:
• Built-in support for functions (like "Move Left" from much earlier) would let you create your huge mess of sine/cosine, and then call that function later instead of having to copy/paste that huge mess every time you want to use it.
• Support for objects with behaviors in global events. Make all of your objects (like enemies) on one frame, put all of their pathfinding and detection AI in a behavior, and you'll be able to create and manipulate that object from any other frame.
• All around better qualifiers. Qualifiers should be able to support their own behaviors. That way, you can have a qualifier "Goomba" and any object with that qualifier will walk in one direction until it hits a wall to turn around.
• Better referencing (like "self" to reference the current object (via qualifier/behavior) or the objects within the current scope (alterable value == 1)) would let you pick out which objects you want to work with, without having to filter it out by spread values, five different alterable values, a string, and the time of day. Being able to reference an object directly with it's GUID (testing for the fixed value is still subject to stupid workarounds like having to "pick one at random" until you get the one that matches) would also speed up the way we code. I see "self" being most useful for loops and checking their indices; On Loop("player_physics"), set alt A to LoopIndex(self).
• Being able to parent objects to others. You have your multi-object tank? No more having to use spread values and then test them at random to assign children to parents, just use code like: Set X to X(parent(self)). Simple, effective, and no control lost. Object parents could be set in the editor (every tank body has a tank turret, for example), and at run-time (tank turret just got ripped off by a katamari ball). Although, a custom function could be used for object parenting instead...
That list could be boiled down to:
• Built-in support for custom functions (eg, no extensions or objects needed)
• Better support for behaviors
• Better qualifiers (with support for behaviors, but that could probably be handled a custom function)
• Much improved object referencing
---------------------------------------------
do these events ( expression ) times
---------------------------------------------
|--
|--
|--
Manual object picking with a foreach loop sort of construct
----------------------------------------------------
Pick Enemy one at a time
----------------------------------------------------
| if Picked Enemy overlapping backdrop ....
The ability to get and test the name of an object at runtime when using groups. I.e. Group6.ObjectName so you can distinguish between different types of objects in the same group while looping. This is sort of like knowing what the object type is without having to create a variable on each of those objects to specify it.
The ability to set variables in the level editor on an instance basis. If I make a tree active and put 5 of them in the level editor, I can't specify separate values for each of those trees at the moment.
When copying any object that supports alterable values, the values and value names should be preserved. It's annoying when I want the same variables on an object but copying an object doesn't copy the variable names.
Functions and Procedures would be nice. I am sick of calling a fastloop when I want to do something, I just want to jump to somewhere in the code, do those events and then jump back to where I started. While I don't imagine it's easy to support different return value types, all you need to be able to do is return a string. This could refer to an object id or something if you want to return objects.
It's probably worth mentioning that searching through events to find a particular fastloop is rediculous. The line number of each event could be registered in a table somewhere. You should have the ability to jump to any line in the events.
An efficient path-trace for movements is a good idea as well. Basically, testing collisions each time you move a sprite by 1 pixel in any direction is inefficient. You can test your starting position for a collision in the usual manner, and when you move the sprite by 1 pixel all you need to do is check the outline of the sprite for collisions. All those pixels in between are useless.
I am glad people aren't harping on about MMF3D. I think the goal should be to make it easy to allow any developer to implement advanced functionality such as 3D capabilities in the form of extensions. I wouldn't be prepared to pay for MMF3 unless it was based on a different fusion engine. The fusion engine should be known as the confusion engine, it's difficult to understand what it's doing, and this is clearly not the point of MMF. MMF is supposed to be logical and easy to understand. I don't want to have to know that something completely stupid is happening under the hood just to make my events work. The real issue I see is that there is probably some reluctance to overhauling the design because the product as it stands is very well supported by a large number of compatible extensions. MMF3 should be a complete redesign, completely recoded from scratch, and it should be allowed to lose compatibility with older versions of multimedia fusion in order to support this.
One feature that would be amazing is the ability to export the project to a real programming language, a C# or Java project perhaps. I have looked into the ability to do this and it seems viable provided the engine was designed with this in mind. This would also make the app much more appealing to those needing the tool for rapid application development, being able to transfer concept to tangible code. It might also be more efficient to export to a programming language and to compile the application in that language than to rely on the fusion engine.
If this wouldn't be considered, at least some manner in which to export game code and levels into a human readable format would be nice. Our games shouldn't be glued into an mfa and it should be easy for us to port our games to other platforms. It would be nice for the coder transitioning from MMF to some other language to have some resources to directly compare with.
I want it to fix the stupid ladder bugs when I import my old games from knp and try to export them in something decently. But this could be done via some kind of import function like: file -> import knp game files.
Oops, I forgot to mention this: did anyone mention opgenGL support already?
I'm still entirely in favor of and would really, really like to push multiple custom collision maps for MMF3. I whole heartedly believe that this would be a revolutionary feature for MMF3 that would make custom platform engines a thousand times easier to produce, and a hand full of unforeseeable flexibility in designing games that would be otherwise very complex as we use dozens of active objects and fast loops with spread values just to produce a few custom collision maps. This goes even further whenever you're trying to maintain this level of complexity over dozens of enemies, each with their own collision maps. It really just turns into a large mess and collision maps would immediately clean all of this up.
when you look around you be very happy that you are alife and that peple love you because you dont know when their going to die and there are lots of peple less fortunite than you who are ding every day in the world and be lucky that you are quiet cleaver so you understand whats going on - James Luke, 2010
I would also like to see some more decent racing car movements whose attributes can be customised. Why is it that after 15+ years of Klik there still isn't anything around that can do decent car mechanics off-the-shelf??
Mac or Linux support isn't a bad idea if that means that MMF will run on the Mac or Linux to create and export applications like games. And it is a good reason to add openGL support.
I was having this amazing idea of spritesheets, but I am not sure if it's really a good idea for MMF.
The think that I wish for MMF3 is to have an option to create SNES, NES, Iphone, Gameboy and Gameboy color or Gameboy advance games, I have an MP5 player that supports GBC and NES and SNES and I would like to make those games with it