Object Parameters

Hello again everyone. I finally got my Internet back, so I should be picking back up on things. Then again, finals are starting and I've been really focused on that.

Anyway, Parameters are something I brought up in a previous post. Unfortunately there weren't working exactly as intended it, so I ended up removing it from the first build of the level editor. It's been reworked and seems to be working correctly now. Even though I briefly talked about it before, I want to go into greater detail of how important parameters are.


First, I need to describe how Multimedia Fusion 2 would normally handle a procedure like this. Creating a single object in MMF2 is simple enough, and copying that same object through out places on the map is also simple. The problem comes when you need to differentiate the two. Alterable Values for an object can be changed for an object before runtime, but it will apply to all similar objects. If I had three moving platforms moving at 1 pixel per frame, and I wanted to change the middle platform to 3 pixels per frame, MMF2 would end up changing all of them. The only way around this would be to hard code events and manually instance them using spread values. If you've used MMF2 before, this might be familiar to you. For the images below, imagine that the length of the arrows represent the speed the platform will move at.

Changing value 'Y Speed' of middle platform in MMF2, changes every similar platform in the level.

The level editor itself is still made in MMF2, but it uses a more easy workaround. Objects aren't created until runtime, and every single individual object will have a unique sets of parameters. By creating those same three platforms in the editor, even if they happen to be moving at the same speed, they are actually still different from one another. As such, using the same example from before, changing the middle platform to move at 3 pixels per frame would be incredibly simple.

Changing 'Y Speed' using Parameter feature, only effects selected object, keeping every platform unique.


As of now, I've only implemented basic parameter functions, but now that the basework is complete, it's possible for me to add in more advanced things. Some examples would be script objects to instantly change the weather effects in a level, or adding auto-scrolling with variable speeds. Right now, I opted not to do any parameter functions for enemies, as I'm planning on working out a custom scripting system for them and bosses, so you can create your own. There's no actual... plan... yet. But I'm thinking about it.

Thanks for checking in. Feel free to post below if you have any comments, suggestions, or criticism for me. I'm open to everything. I'll be working on the background and music systems on the weekend, and I hope to finish atleast one of them by next week. If so, that'll be the topic of next post. Until then, take care.

8 comments:

  1. Discovered this project and am very, very interested and excited for it.

    Question though; are you planning on implementing the boss weapons for X from X1 through 3? I'm more or less just curious how extensive the engine will be, and what your exact plans are.


    Looks amazing though, keep up the good work!

    ReplyDelete
  2. First up, I apologize for not posting those images yet. I've had a really stressful week and I actually completely forgot that I didn't upload them. I'll be sure to upload them tonight when I get home. A bit off schedule, but I'll be making a new post tomorrow or Friday.

    @Zach - Thanks for checking in and commenting. As of now, I don't have any plans to implement any weapons other than the one already in the engine. They were made to be templates of sorts so that one could make their own weapons. There's no "weapon creator" of the sort yet, so one would have to have knowledge of MMF2 to do that, but if you've been following the rest of my post you'd see that I'm trying to extend beyond the limitations of MMF2, so it may be possible in the future.

    Hopefully that answers your question. If you have anymore, feel free to post it.

    ReplyDelete
  3. How will you build bosses into the engine?

    ReplyDelete
  4. I already mentioned that in this very same post. There's no script system in place right now, so all bosses have to be made in MMF2 itself.

    I am not sure yet if that will change down the road.

    ReplyDelete
  5. woa didn't know that wasn't in the x editor...
    anyway, is a basic add, at some point you was going to add that.
    good work anyway

    ReplyDelete
  6. Yes, while this is nothing new or overall impressive, it does add a huge amount of flexibility to engine that was not present before.

    ReplyDelete