So I have the basics of the combat system rewritten in MMF2. I've made it so that every monster and NPC has a collision mask attached to it, allowing me to adjust their elevation in the game world, and I've also programmed the faction system so that monsters from different factions will fight each other just as much as they fight the player. It's pretty awesome how much depth it adds to the game world, and it no longer feels like every living thing is out for the player's blood. Almost like a simulated ecosystem of sorts.
Unfortunately, the amount of fastloops I need to make this work seamlessly is causing a considerable amount of lag. I can only have about 100 active objects in the frame before it starts slowing down, which is no good if I want to make dense forests or large mobs of enemies. After doing some extensive research on how I can optimize the code, I'm afraid there's really nothing I can do, as this is a built-in limitation of MMF2's software.
However, in my search, I learned of a freeware program called Construct Classic that contains many of the exact same features as MMF2, but provides quite a few shortcuts that simplify parts of game creation that would need complex workarounds in MMF2. It's like a mix between MMF2 and a raw programming language. The interface is surprisingly familiar, and the presence of an Event Editor means that I can easily recreate the events I've made in MMF2 so far.
Some immediate benefits I've noticed in Construct:
- Vastly improved object handling. Objects can have "Containers" attached to them, which means that you can link two objects together and they'll always act together when events are called. An example of this would be a Tank object acting as a Container for a Turret object. Whenever the Event Editor tests conditions for the Tank, only that particular tank's Turret will be affected instead of every Turret object in the frame. No fastloops or spread values required.
- A dynamic number of values and strings for each object. Objects don't have exactly 26 values and 10 string like in MMF2. You can add as many values and strings as you see fit.
- Backdrop objects can be placed above active objects, even on the same layer.
- In addition to a Hot Spot, objects can have as many Action Points as you want (Construct calls them Image Points).
- The default movements (Ball, Platform, etc) are actually really good and have fantastic built-in collision detection.
These are only the things I've noticed so far, and I'm sure I'll run into some other cool features once I grow more accustomed to the interface.
MMF2 is still really awesome, and I'll continue to use it for smaller projects, but it looks like Construct is better suited for the kind of game I want FableQuest to be. I won't be 100% sure until I migrate all of my events into it, though, so I'll have to see how far I can push it until it lags, if at all.
I've attached screenshots of MMF2's and Construct's event editors, for comparison purposes.
|
|