X Engine Testing

Please read instructions carefully before posting anything.

These builds are primarily for testing and do not represent the final build or even current progress of the engine. Do not expect a fully functional game. There will likely be issues and bugs throughout. It is important that you post these problems in the comment section below, no matter how small or minor it may seem. Please try to clearly explain the issue and if you can replicate it again or not.

Thank you and enjoy.

Latest Build: 039 - October 4, 2012

Additional Controls:
F1 - Hide/Display FPS and Gamepad widget
F2 - Restart application

8 - Spawn 1-Up
9 - Spawn Health Capsule
0 - Spawn Energy Capsule

Ctrl + 1~9 - Teleport to Checkpoint.

Insert - Toggle Buster Upgrade
Delete - Toggle Leg Upgrade
Home - Toggle Helmet Upgrade
End - Toggle Chest Upgrade

Page Down - Subtract 1 unit of Health
Page Up - Set Health to 0

Press defined L or R Triggers (A and S by default) inside Pause Menu to access Value Changer. Some options are not implemented yet.


  1. Hey this is like seriously good man. The only real bugs I came across in this were on slopes when it came to dashing. I'm still going through some other parts but so far it's all looking good. There was an animation prob I encountered after the dash in areas. Though perhaps could be fixed by using the animation editor of Multimedia Fusion 2.

    But yeah it's looking really good so far here.^^

    1. Could you go into it a bit deeper? There shouldn't be any issues involving the dash.

    2. Alright, when you run up a slope like on the outskirts and dash while on them, you'll sometimes get an animation freeze up. Though as I said it could just be an animation overlap that's not updating.

      Also there's 1 other bug I've found. If you hug the wall (Preferably the upper right wall before the steps that lead down to the 2nd building half of the stage) and take damage while hanging off the wall. You'll sometimes get stuck in an endless frozen animation and until you pause the game you're unable to move or anything.

    3. Hmm, I still don't see the dashing one on my end.

      Lots of bugs are to be expected, reason this needs testing in the first place. Most of them I do know about, however the later one is a new bug. It actually occurs when you take damage between the 3rd and 8th frame of a wall jump. Thank you for that, I will fix it in the next build.

      Might I ask, what is your general FPS running this?

    4. Hey no problem^^ and yeah the more testing the better. Also for your question on the frames. I was running 59/60 also the VSynch was switched off to help it move faster. Hope it helps a bit.

  2. Good to see fresh testers on the scene ;)

  3. Yes to more testers!

    And I don't know if this may be a bug or just something not updating. When you air dash to a wall and let off of it to dash again. It wont dash again. Take in MMX2 when you cling to a ceiling tile after air dashing to it. Once you let off of the wall you dashed onto, you should be able to dash again in the air.

    I may have to make a video if it's hard to follow there, but it's something else I caught while going through things again. Still running the same frames and such as before as well.

    1. I actually remember fixing that issue, but I guess I didn't save it to the upload build. Anyway, it'll be fixed for sure in next build.

      Thanks for that, keep em coming.

  4. awesome build so far. i'm not in any way a skilled tester, but i decided to try as best as i could to do so. i haven't found anything wrong yet on my part, although i will continue experimenting. the only issue i had was the same as jadzxa's sometimes (it didn't happen all the time though), but you did say that you already updated it. thanks a lot btw. keep it up.

    1. Thank you. I don't ask that you have any kind of skill. All I atleast want is for everyone to try it and give me their thoughts and criticism.

      Also, for those that are e-mailing me bugs they found: I'd appreciate it if you'd instead post it here in the comments so that people can see the issues that were already pointed out and not submit repeats.

  5. Hi! I really admire your work, and I think that has been very influential for some other projects (me included). When I downloaded the Engine hours ago, I found 3 bugs (though I'd prefer to say they are incompatible details with the original game).

    The first point was that Jadzxa mentioned, but try to be more specific:

    When you execute an air dash by going to a wall and release the dash button before touching the wall, you can drop and dash again. But when you touch the wall holding the dash button, the wall recognize the frames as a dash climb, so if you drop, you can't execute the air dash again.

    The second point is a detail of the shot frames:

    When you fire on the floor to the left while you wearing the helmet and armor, some pixels are altered in these parts (which does not happen without them), I think for this i should show a picture, and I hope to be clear.


    And finally the third point, which is a bit more about ''esthetics'':

    When you move to the left, if you hold the button in that direction and then press the right button, X stops, keeping looking left until you release the button and move to the right (so it looks good). When you do it by the other side, X stops but turns looking to the left.

    In fact, in the original game, when you hold the button in one direction and then press the opposite button, X continues moving in the same direction until you release the button and move to the opposite side, but I feel good that in instead it may be stopped.

    I hope I have been clear enough, is all honor for me to know that I can help in testing this great engine. Keep going and good luck, buddy!

    1. Thanks for the detailed post Raven.

      First point:
      I'm a bit surprised that you noticed the details behind the issue. When you press the Dash button, an internal trigger is toggled. That same trigger is used for when you do a dash-wall jump. The engine gets a bit confused in that regard and removes one of your air-dash in preparation for a wall jump. Mistake on my part, but as I said, I've taken care of it.

      Second point:
      This was just laziness. I've known about this one for quite some time and never felt any real urge to fix it. It also happens for the landing animation and likely others I am forgetting. I will take care of the ones I can find when I have the time.

      Third point:
      This was intentional and is a tad debatable. When you say "original game", I assume you mean on a real SNES, which under majority circumstances, it is impossible to press those two directions at the same time. If you mean by emulator, then in actuality it depends on which emulator you're using as they all read inputs a bit differently. I decided to go for a middle ground in terms of the directional details that I found, and that's what I ended up with.

  6. If I play in windowed mode X3 as resolution, the pause menu screen isn't zoomed properly.

    1. Is that only on 3x? Try changing it to 1x, then back to 3x and tell me if that fixes it.

  7. I can give you a deep information about it if you ask me. If your objective is to make it as similar as the original one, ask me; I have studied the SNES games very carefully for years.

    Your engine is awesome! You amazed me, you did an EXCELLENT job using MMF, I find it extremely hard to use.

    You know, I'm also making a game, and I did a tremendously huge effort to make the wall jumps as close as the original ones and I got a pretty good result. But you wall jumps are 99% close to the originals! OMG, I'm so amazed.

    The only thing your wall-jumps differ from the original ones is that X is attached to the wall too quickly after a jump and keeping pressed the direction keys.

    And sorry for so many comments deleted...

    1. This was an intentional change. In the original games, your inputs are delayed by 4 frames. The transition from falling to wall clinging is also 4 frames.

      I did not see the need for it, especially in a game that requires a large amount of control and precision. So whenever you press a key in the X Engine, it is carried out instantaneous in a single frame. However, there are some things that I have implemented that lag on, like the shots for the X-Buster, to ensure the same "feeling" is kept. Though, when it comes to movement options, I prefer instant frame controls.

      Also, what exactly is it I should be asking you? If you have any issues, feel free to share.

    2. To ask for really deep stuff. I'm very meticulous about games, and even more about games I love.

      Like, the game lags a little bit at the start of the level. I don't know if it's when you shoot.

      And also, since you changed the way X jumps from walls intentionally, you could also increase the animation speed when X is finished and starting the dash.

      Besides that, the movement is 100% accurate. I applaud you, it's perfect. I'm glad when someone makes better stuff than me.

    3. I think you somewhat misunderstand my intention. I'm not trying to speed up the game. I think it's already quite fast enough. I'm just ensuring there's control.

      Not quite sure what you mean by lagging at the start. Could you explain more?

    4. Cool! It's awesome the way it is right now! It really has excellent controls.

      And I just don't know. The game lags a little bit.
      Right after the ray of light transforms into X, when you walk to the right it lags for a brief period of time, and then after 1 or 2 seconds of lag, it runs smooth at 60 fps (according to the HUD you put there).

      Maybe some variables initializing at that moment? Or maybe you put a performance boosting script in order to make some stuff to appear when the camera reaches them.

    5. Forgot to say it, the VSync was aready off. I never let VSync to be on in any game.

  8. Will you be releasing the source code for this? I'm working on a similar engine except I'm using XNA and the FlatRedBall framework. Can't seem to get the physics to work as accurately as you have done. Got any suggestions?

    1. I won't be releasing the source for quite some time. Mainly until everything is working how I want it to. But if you have any questions or need assistance, I'd be happy to help.

    2. Hey thanks for the quick reply.

      I figured I'd make a short demo of what I have so far. I know the animations need some work. What I'm interested in at this point is your physics for handling gravity. X tends to stay in the air longer than is accurate.

      I'm not sure if it's the amount of gravity I'm applying or if there's some other factor at play here.


      I'm primarily doing this as a learning experience - I won't be stepping on your toes :) It's admirable you plan to release the source code at some point, by the way!

      Excellent job on your engine by the way. It's definitely the best I've seen so far.

    3. Gravity is definitely one factor, but you also have to take into account your frame rate. The video seems to be at 30 FPS, so I have no idea what the actual game speed, but the FPS will determine how fast your physic values will be applied.

      If you don't have it to at least 60, change that first and then mess with the gravity values.

      Also don't worry about "stepping on my toes." The reason I started this was just to see more Mega Man X fan games. I think it's great that you've made your own. I'd like to see more of it.

    4. It's running at 60FPS but Fraps knocked it down to 30. Go figure :)

      Still working on it but it's coming along. Where did you get your values for all the physics? Did you just come to it through a lot of trial and error or is there some resource that provides the values for running, jumping, etc?

      I noticed in your demo that the values were in p/f - how are you calculating that?

      Sorry about all the questions. Physics isn't my strong suit but this is teaching me a lot :)

    5. I gathered the values myself using RAM Watching/Searching and LUA scripting. There are some sites that have a few of these values already listed, such as:

      p/f is Pixel per Frame. It's exactly how many pixels the object (in this case, X) moves in a single frame.

  9. some times when i teleport the game freezes.

    1. Give me more detail. Does it go to a black screen? Do you lose control?

    2. I lose control but it doesnt go to a black screen the music stops too

  10. All I can say is, good job. I tried REALLY hard to break your toy. I couldn't. I am on a laptop with a 2.30ghz turion dual core with 4gb ram and onboard video. Windows 7 64-bit.

    I tried it on 1x,2x,3x and fullscreen. I tried with and without vsync. I even tried turning everything up in the settings to max and thought maybe that would break the frame rate in the least. I was completely wrong. It never dipped below 45fps at anytime. And that was only for a split second when I really hammered the dash button to zoom across the last bit of the stage. My average FPS was between 59-62 fps. With Vsync enabled, it was 60fps and never dipped below on stock settings. Good job man, really good. Pits work, death works, energy charge works, giga crush works. All upgrades work and feel just like the actual games. I like the extra touch with the charged shots. It's the fade effect from X3, right?

    1. Thank you for testing. Yes it's the effect from X3. I will be implementing all the buster style including X1 and X3 eventually. Right now just X2 is in.

  11. Hi Again!

    This time I want to start with a compliment about your engine. Specifically, the work of ''Instant Frame Controls''. Excellent solution, given that you'll need the best accuracy on larger projects.

    And going to my 3 points, I must admit I'm pretty sure I can't find any other ''bug'' in this Build.

    The first point is an screen theme:

    At one point in the area (out of the covered walkway) i started using the pillar that is outside to practice dash climbs. I noticed that the screen does a little shake, whenever X jumps and the screen goes up. I don't know if it's a camera bug, because I made sure that this doesn't happen at any other place.


    The second point is about a frames problem:

    When I make a consecutive dash, X slides sometimes showing a single frame, and advances alone (without the effects of boost and smoke). I'm not sure in which frame the bug occurs, but I think you can realize, or maybe you've already corrected.


    And finally the third point (same as the last post):

    I would like to correct something on my last suggestion about your directional details. That way is very good, but just missing a detail about that: When X moves to the left, if you hold the [<] and press the [>], X will be looking to the left. But if you do it the other way, X won't stay looking to the right, but will turn to the left. I think it's a problem of command and perhaps you can resolve (I consider it because in my opinion, the next build will be perfect)

    Before closing this post, I have a question regarding the audio. Are you using the same output parameters in original SNES games, right? And if so, could unlock those limits if you finish the whole project? I say this because it would be very useful when someone wants to customize an engine for their own projects.

    I put myself as an example. Since I am a Music Composer (and I say this non-profits), if I meet those limits would make many adjustments to my tunes, since they couldn't sound like a standalone player. I would like you to consider this suggestion.

    Due to a very rugged format, I have been forced to start my own project from scratch, since I couldn't make a good backup. And that was also the reason why I made this post just now. It remains for me to give you the best of luck and hope (in fact, we all hope) to have the entire project.

    1. Thanks for the continued support. =)

      1. This is not necessarily a bug, but a mistake in the level design. The camera has position limitations which are changed when you cross a detector. That detector isn't in the same spot it is in the original game. Again, just a mistake.

      2. This is the number one reported issue, but I've yet to come across it myself so I am not sure if I fixed it or not yet. I've just been kind of mucking around.

      3. I'll fix it just for you. Again, this isn't a bug or anything, it actually does that intentionally.

      As for the audio, I actually have no clue what you're talking about. I can say that the audio side of the engine, overall, is very poor. Especially the sound effects.

  12. Don't get me wrong, I didn't mean to sound quality. In fact, sounds great. What I was trying to say is about the amount of sounds that can sound simultaneously (so I said something about output parameters). In a 16-bit ROM, the number of simultaneous playbacks is limited (this includes alike instruments and effects).

    And speaking of the SFX, the used to select the weapon in the menu isn't exactly the same as you can listen to the SNES versions. I dare say it is the sound used in MMX1 menu, but with a much higher pitch.

    I know very well that in the MMX1~3 OST, the effects are only available from the first game, and for the effects of the other two versions, one solution would recording while turn off some sounds with an emulator. Perhaps you can do that to include accurate in the engine sounds.

    1. In MMF2, the number of simultaneous sounds are 32. I have simulated what you are talking about, and only used a few channels so it's only about 4 or 5, with music having it's own dedicated channel (there's no instrument support). So for example, the jumping SFX is on channel 1, and the charging SFX is also on channel 1, so they wouldn't be able to play at the same time. But this isn't exactly a limitation, I did that by design. This can be easily changed in MMF2.

      For the actual sounds in the engine, majority of them have reduced quality and monaural sound in order to reduce the file size to a reasonable amount. They have been ripped using the same method you posted. The menu sound is indeed from X1, but it's not the one used in the menu. I actually don't remember which it is.

  13. Great! So one could say that all sounds will be full quality when the engine is completed? I think the adjustments are justifiable, knowing that this is a test build.

    There's something else I noticed last time. In the original game, the number of simultaneous shots in screen is 3 at the same time (no matter whether they are simple or charged shots). In this build, when you shoot in 1st charge level (green wave) rule is respected, but when shooting in the 2nd charge level (blue wave) can make 3 more simple shots. Personally I prefer the latter, I think it would be better to this project.

  14. Thursday, December 06, 2012

    Vsync: OFF

    Ground Values

    Movement Speed: 1.5

    Dash Speed: 7

    Jump Strength: 5

    Wall Jump Strength: 15

    Wall Slide Speed: 2

    Gravity: 0.25

    Max Fall Speed: 5.75

    Deceleration: 0.0625

    When wall jumping, the screen will occasionally lock up and it is possible to die at places where there was once solid ground (i.e. if you jump really high and are falling where land normally is but you don’t see it, death is coming). The only way(s) to counter this is by landing on land close nearby, and walk/dashing normally until that part of the screen is gone completely from view. It can occur with and without the dash upgrade on. Also occurs at the dash speed above and normal dash speed. (I believe it may occur at all dash speeds, haven’t played around with it enough yet to confirm though). I also think it may occur from X going past a certain height.

    Also while spawning 1-Ups like mad (crazy mashing the 8 key) the lives counter eventually goes past the 9 and goes to 0. Is this supposed to happen, or is it a bug?

    1. Update: This can also happen with the Jump strength at max (15), and I think I may have pinpointed exactly where it can happen. It is able to happen when there is a higher change in elevation, for example on the two pillar ends (the large pillars where it wouldn't allow your RA to progress any further.), if you jump past a certain spot at a certain height nearby the pillars it will screen lock.

    2. Thank you for testing.

      I am a tad confused at your description. When you say "the screen will occasionally lock up" do you mean just the camera, or the entire game? If it's the camera, then this is normal. What's happening is you're literally jumping over the detectors for the camera boundaries.

      For the most part, I've tried to retain all aspects of Chill Penguin's level, and such changing the values will break the level design. So assuming that's your issue, it's not really a bug, just that the level design wasn't meant for you to jump that high.

      As for the lives, that's definitely a bug. I checked it out and fixed it, so thanks for that.

    3. ok, didn't even know the camera had boundaries but thanks for that info

  15. frame rate: 60 fps
    Vsync - ON

    Well, first I would like to congratulate the great work you have doing with this Engine!

    Second, the things I noticed:

    -If I do a Dash, and go against a wall and slide , when I "loose" from the Wall, the Air-Dash does not work. Do not know if it was deliberate or a bug. In Snes, I always can air-dash after an wall jump, no matter if dash before or not.

    - At the end of a common dash, when X is "crounching" to do it , if I press the dash button again, the animation lock on that stance "X crounching to do the dash" and dash not works properly.

    * Somehow, I unlocked that weapon of time stop that was shown in the youtube video ... TWICE x3 * Dont ask how i made ​​it xD

    - If you hold the button DASH and go climb a wall and push the Shoot and Jump buttons at the same time, his shot goes in the opposite direction of where he should go ... maybe the sprite shot from the right direction not is being displayed ...

    - I got a crash when exiting the stage and take the focus off the screen to the PC soon after

    - The sprite of this shoot while falling slightly off axis

    - Crazy Smash the Giga crush button, The sound of the attack, gradually get a delay from an attack to another

    - Smash Crazy, Energy, Weapon, Life Buttons, makes the screen goes ultra slow, and lose the collision with the ground ( the energy tanks and lives)..
    (maybe not as important as it only happens with the help of the debugger)

    - if I die, and teleport to a checkpoint the game freezes. the app keeps working and the music continues to play, but the buttons doesn't work..any command work...only Display HUD or Restart the game(F2)

    Dunno what i'vedone, but the Start Menu's size is teh 1x or 2x, while my app is in 3x... happened after I pressed Alt+Ctrl+Enter... x(

    That was the the odd things I noticed.

    Congratulations once again for the excellent work! The engine is very good and a very fluid motion! Extremely similar to the SNES and sure, with this engine, many of us will have more motivation to learn to use MF2 ... at least to edit and add custom things!

    1. Thanks for posting. Quite a lot of points there.

      1. Commonly reported issue. It's been fixed already.

      2. Another commonly reported. I haven't gotten this to happen on my PC yet, so I am not sure if it will be fixed in the next build or not.

      3. The coding for all the old weapons are still in the engine. It is definitely possible to bug the weapon selection and get one of them, so this needs to be worked on. However, all the weapons are from a very old build, and majority of them do not function properly or at all in the latest build. They will be redone in due time though.

      4. Slight directional issue. I'll fix it.

      5. Has this happened more than once? Can you give me more detail if possible.

      6. Same here, more detail. Not entirely sure what you mean.

      7. I can go into length about the Giga Crush, but I won't. Under normal circumstances, you wouldn't have infinite Giga Crush, so that issue wouldn't occur. If you did, the easiest solution would be to add a cooldown, but I'm really not willing to do that just yet.

      8. The collision issue is normal, as it's a threshold to keep the engine from crashing. About how many items can you spawn before the engine starts to slow down? Also what processor is your computer running?

      9. When you say teleport, you mean using the debug command (ex. Ctrl+1)? If so, that's fine. Debug related issues are to be expected.

      10. Second person who's had this issue, but I have no idea what the problem is.

    2. 5 - Well, the game was in Window mode. and when I pressed the exit stage button, and after that, I clicked on another opened window in my PC, While the game was closing. In this moment , the game crashed..(Maybe because I'm using win 8..dunno)

      6 - Its just the sprite. When you falling, the shoting sprite is a bit more upward than the other ones... think 1 px up and 1 px to the side youre facing.

      8 - In this case,it's okay! I was worried more with the collision, because the number of item I spawned is too high xD.at least a 40 ~ 60 ( I'm running on a Phenom II X6 so it was a LOT of items xD)

  16. not sure if this has been reported yet, but in crouch with armor on, the armor isint sprited on him.

    1. The armor sprites are incomplete, so I disabled them for that animation for the time being.

  17. Yo, been wondering if this will be an editable engine some time in the near future, do you have a date you are expecting to release it?

    1. Of course it will be editable, that's the point of the project ^^.

      I'd rather not give any dates I'm not sure I can keep. If you haven't already, subscribe to this blog for more information as it's posted.

    2. ah ok then, can't wait to see this fully released.

  18. Master, i cant download the file. Can you fix it please?

    1. Dropbox may be going through some maintenance right now. Try it again a bit later.

  19. Thanks, i already test it. No words, this is so awesome. You are the best.

  20. Hey, I am working on my own fan game with MMF2 and would like to know, how do you program dashing.

  21. the engine demo is really nice, but weren't you planning to put those 8 custom weapons you showed on your last youtube video on it?

  22. The dash is too long, the up-dash is too short, you slide down walls too fast, and if you shoot fast enough, the recoil animation won't show. And it won't run at 60 fps, can you fix that?

  23. Can you give me more of details on your specs?

  24. Can you give me your computer specs?

  25. Ratings:

    Processor: 5.5

    Memory (RAM): 5.5

    Graphics: 4.0

    Gaming Graphics: 5.3

    Primary Hard disc: 5.9 (provided by Windows EI)
    More Stuff:
    Os: Win7 Service Package 1

    Manufacurer: Dell

    Model: M5030

    Rating: 4.0

    System type: 64-bit OS

    Processor: AMD Athlon(tm) II P360 Dual Core Processor 2.30 GHZ

  26. booo :( I really wanted to help :c

  27. Very nice. Do you think you'll release the X Editor anytime soon? :)

  28. any change for linux support at some point?

  29. tell me which program you use because your work is very good and I'm also interested in creating a game!

  30. Another thing. When this project is complete, we'll be able to program our own bosses, enemies, armors, players, and tiles, right?

  31. I can't navigate the options and the default keys are not set!

  32. You should add controller support, I have a USB SNES controller i'd like to use ^^'