Diagonal Movement


Plugin Download


This plugin allows you to setup diagonal movement for the player and events. It’s compatible with mouse click movement. You can define a sprite for the diagonal movement and trigger events diagonally.


Requires the Victor Engine – Basic Module

Learn how to Install Victor Engine Plugins


Was this useful for you? Consider lending a hand by becoming my patron at Patreon, so I can continue creating content to help you and many other developers.


  1. Dear Victor,
    Thanks for creating the first diagonal movement with mouse support.
    I found two minor issue which hopefully can be solved.

    1. In the plug-in manual, I found the instruction to make a special setup for my charset
    graphic.by adding % perfix, but cannot found how every positions should be placed. Where I should put “down-right” motion, “down-left” motion, “up-left” motion, and “up-right” motion? Am I missing something?

    2. If I use only the default charset, the character, it seems the plugin will prefer one direction above other as subtitute for diagonal direction if two button is pressed simulaneously. Eg. pressing up+right will make the character face to up, but pressing up+left will make the character face left. In another similar plugin, the character will retain their face direction, so if for example the character is walking to the right and I press either up-right or down-right button during walking, the character will still face to the right, because it is the first direction he face when walking.

    Sorry for my bad english, I hope you can understand what I mean.

    Thanks

    Like

  2. Hey Victor,

    Thanks for the awesome plugin! I am trying to use it to include diagonal movements.

    However I am experiencing some weird behaviour in which animation the plugin chooses to display. I have made the spritesheet correctly as mention above, however depending on which arrow keys are selected first, the plugin displays the wrong animation.

    Example: When I press right-down to move diagonally the correct animation shows, when I press down-right the character moves in the same direction as it should, however the down-left animation is displayed. Same goes for all others.

    Any idea why the plugin is showing the wrong sprite?

    Like

    • Are you sure that your sprite have the correc directions on the sheet? I have no issues with the diagonal movement sprite here.
      If your sprite is correct, do this happens on a clear project?

      Like

  3. Hello Victor,
    Can i suggest a feature? It would be great to have a possibility to mark some events for diagonal movements only, when characters walking on them (say this way “/” or only this way “\”). This can be very handy for side-stairs type of tiles, like those:

    I hope that you’ll find this possible to make. But anyway, thank you for this plugin, it’s a huge implement for a gameplay already.

    Like

    • This has not much to do with this plugin, This plugin is about the free movement.
      If you’re using events, you can just put the instructions for the movement on the event.

      Like

      • If you talking about “Set Movement Route”, it has it’s downsides with using mouse – like stopping a character after the diagonal move was done. This plugin, on the other hand, can build a route with diagonal movements without stops. Wich is more logical that way, since a character don’t stop using non-side-stairs.

        If you need more examples of use: It’s also can help for a nonstandard map desings (i’m as a parallax mapper will actualy use this feature all the way), or to avoid clumsy looking moments like this:

        And since we touched the parallax topic – marking some events for “Corner Passability” from particular angle can be extremely useful too)

        Like

      • Yes there are downsides. But there is the cost x benefit of this change. It would add too much complexity and checks to the plugin, for a very small and specificic scenario.
        More complexity = more chances of issues.

        Also, the corner passability for event would need a redesign of how it was done, since as it is it don’t check what it is colliding with, only if there was a colision or not. While this is possible, it’s not something I would do anytime soon due to time restrains.

        Like

  4. Andrei Avramescu

    Modified comment, please delete the first one… thanks!

    Just to confirm, I’m trying to use the diagonal movement with VE_CharacterFrames.js both at the same time.

    After some testing trying to match the naming scheme of both plugin I came up with this:
    %quad_slots[f8].png

    Download file for testing: https://www.dropbox.com/s/amfxh4nsht8pho0/%25quad_slots%5Bf8%5D.png?dl=0

    Question 1: Does the plugin order counts? VE_CharacterFrames.js should be loaded before or after VE_DiagonalMovement.js?

    Question 2: When I was working only with VE_CharacterFrames.js (normal directions, no diagonals) I was designing the filename as a single slot character, by adding a $ symbol in front and [f8] in the name so the VE_CharacterFrames.js knows this is a multi animation. Is it possible with both plugins to use a single slot?
    Like charset 1 and charset 2 diagonal?

    I prefer working with one file per character and not using quad slots huge file…

    Question 3: When the animation stops the character is waiting in a walking like position, how to add an “idle”/”waiting” position when the actor is resting (not moving)?

    Question 4: Not that important… Is it possible to view the modified actor in the designer (RPG Maker Editor)? Right now I manage to get a blank space where it should be or only half/quarter of it (depending on other stuff).

    Like

    • Q1: any plugin that the order matters will return an error when the order is incorrect.
      Q2: No, the diagonal movement requires the charset to be a defatul 8 charset sheet, since the diagonal movement always get the chaset on the next index, so if you choose index 0 as the charset the diagonal will be always charset index 1. With single charsets (that are always index 0) the plugin will try to use the index 1, that dont exist.
      Q3; neither plugin offer this functionality, another plugin will be created to add different charset motions.
      Q4: No, the editor is hard coded and anything outsied of it’s formats will not show properly on it.

      Like

  5. Thanks! Forgot to thank you.
    I will try to find another plugin then for idle images if one is not ready from you.
    You were very helpful, thank you, I’ll watch for you on patreon.

    Regards!

    Like

  6. Sorry, but can u give an example of using our own diagonal sprites?
    Like how to use the or a sample sheet?
    Btw, hanks for your great plugins! 😀

    Like

  7. Hello victor, thank you for the plug in. You are appreciated. I have an issue I was hoping you could help me with. When I diagonal walk near an event such as a door, It jitters. Is there a way to fix this? Thank you

    Like

  8. Hi Victor, I really like your plugin, but it seems have a problem with free pixel movement. I tried some (Altimit, SuperOrangeEX, and GALV) with yours and it works, but somehow the diagonal sprite can only show one direction. For example, If I press up with along with left/right, it always show the diagonal upper right sprite, but if I happen to collide with something, the sprite change to upper left sprite, and so on.

    Like

Leave a comment