I've tried to make custom platform engines and they are just horrible, and the default platform engine is rediculously bad also.... so I was wondering if the platform extension was good. I am running the demo of MM2 now, but would probably buy the full version if I could count on that extension giving me freedom in the platforming world. If it is good... what features does it have/let you implement?
the platform movement extension actually is pretty good in my opinion, although most people would probably rather use their own engines. it fixes all the problems with the default platform movement (like sticking to ceiling and jumping up walls) and also lets you adjust things such as gravity, speed, acceleration,etc. (although i think you can do that now in MMF2s default). altogether i'm pretty sure its a LOT better than default movement
"Actually sir, we found a tiny unicorn in your exhaust. It was jumping around poking holes in your gas tank." "Oh thank you I did not know that. A tiny unicorn? Wow."
I've used the platform extension in the past and I never had any major issues with it. None of which that weren't easily fixed I should say. The extension is very solid, very flexible, I liked it and still like it. I prefer custom over it, but if you cant do custom to well yet, the platform extension is the next best thing and still resides very far over default platform movement.
I can't really say anything different from that - the Platform Movement extension improves on the default engine no end, and while it's never going to be quite as flexible as a fully custom engine, it's more than adequate to produce movement that doesn't feel tuggy/stilted like the default one.
I'm using PMO in my current (re: first) project, and I've come to both love and hate it. It's great for getting a game running quickly, especially if you don't know your way around coding a custom engine. But looking back, I've had to code in a LOT of fixes to deal with little problems that come up when using it. Things like controlling animation when running into walls, and correcting "floatiness" when turning around quickly when running. Plus a whole bunch of other little tweaks to get it doing exactly what I want.
And one major problem is up-and-down moving platforms are almost impossible to code for. The PMO will automatically go into "falling" mode the second a platform moves out from under you, even if you write code that tells your dummy object specifically to stick to the surface of the platform. So, no vertical platforms in my game.
Other things about it are really good. Setting variable jump height, and making conveyors, moving platforms, and springs are all really easy.
But the absolute worst thing about it is making extra sensors that follow your dummy object. About half the time they lag behind by like three pixels. This became a real problem when making my attack routines, because the dummy object was poking down below the stomping object, and my character would get killed instead of killing the enemy. It's all fixed, but it was a pain doing it.
If I'd known enough about MMF before making my game I would have just made my own custom engine. Now that I do know enough, I'm too far into it to turn back and start from scratch. I'd recommend practicing a little with the PMO until you get a feel for MMF, then start coding your own custrom engine. But don't start a major project with it.
Agreeing with Deadeye, I think the final verdict here would be. Platform Movement Object is much more flexible then default platform movement, however you're looking at spending much more time fixing, not so much glitches, but little issues that arise because of it's flexibility. This is solved by simply making a complete engine from scratch, designed specifically for your game, which is more flexible, but much harder for a beginner-intermediate MMF user to do.
I've come to the conclusion that flexibility is not necessarily a good thing. You don't want your game engine to be flexible. You want it to do EXACTLY what it needs to do for your game, and nothing else. That's pretty much the opposite of flexibility. Any time you bring in features you don't need, you're asking for bugs.
Granted, you can use the platform movement extension as-is and make a good game. But you can't customize it to any great degree without writing as much code as a custom engine would have anyway.
I~m with deadeye as well. I am using it in my current project, but for my next, I'll do a full custom one. Deadeye, did you ever figure out the up and down moving platforms?
Flexibility is a sign of an engine that can do what it needs, but can be tweaked to perfection if the time comes.
Example, say you have a platform engine that's packed solid with no flexibility and you decided you want to add water. That water wont feel right unless you add a bunch more stuff to make the water feel semi-liquidly. Things like moving slower, jumping higher, etc. In a very flexible engine, your game will work exactly as you want it to, however if you suddenly decide you want to add something such as water, the flexibility in the engine would allow you to change variables if need be, and support changes such as water when you're in water, and change them back when you aren’t.
A flexible engine is a very easy one to work with, especially when it comes to bug fixes.
Its been shown time and time again in 2d games that you are better off making your own engine each game.
It really doesn't take that long, and is fairly easy math. My own games have everything from active platforms to grappling hooks to upside-down walking, ect.
I really can't see a platform extension being flexible enough to handle things like that without any more coding then it would take the old-fashioned way.
I'd say that extensions should stick with doing a particular function to be manipulated instead of trying to take an entire role of gameplay, but thats just my opinion.
No, I never did figure out how to do vertical platforms effectively with the PMO. I eventually got my character to stay on the platform for the most part, but it was very glitchy and took up a lot of ugly code to try to make the dummy object stick to the top of the platform. Even then it made the main character vibrate up and down because the PMO wants to go into falling mode as soon as a pixel moves vertically beneath it. It was just ugly as hell so I decided to scrap vertical platforms altogether. That and I was spending so much time trying to make it work that I wasn't getting anything else done.
Dustin Gunn Gnarly Tubular Way Cool Awesome Groovy Mondo
Registered 15/12/2004
Points 2659
27th August, 2006 at 07:12:44 -
You can do anything with it. Vertical platforms require some fiddling and I don't know why you'd have problems with the animations, as it doesn't control animations.
It has a learning curve, but it's very useful. I used it in Silent Night, and as you can see there, it does a ton of shit and does it right.
What I meant by fixing animations is when your character runs into a wall and you continue to hold the arrow key, the PMO still thinks it is "moving" when it's actually standing still. So you have to put in extra code to correct the animation. A minor annoyance to be sure, but it's just one example.
And if you have any tips on getting vertical platforms to work with the PMO, please share them.
Thanks guys! I think I'm going to make a small game using it to see how it is before I try to tackle some big project (that will end up not getting finished most likely). You guys sold me