Diagonal Movement Questions.

JRand

Veteran
Veteran
Joined
Sep 15, 2018
Messages
61
Reaction score
4
First Language
English
Primarily Uses
RMMV
Hello, everyone.

I am making a game using the PVG Medieval sprite sets.

I have tried looking on the PVG site and reading various plugin information documents (GALV, VE, etc.), I've tried downloading demos, and I've watched tutorials, and I'm still not quite understanding what I need to do.

So, my primary question is: using the PVG Medieval sprites (which I believe are 128x128?), how do I get diagonal sprites to show up when moving diagonally? Right now my character just slides diagonally. Essentially:

1) What plugins do I need?
2) What size do the sprite sheets need to be, total?
3) How many sprites should be on each sheet (and should I have one big sheet or multiple sheets)?
4) How do I name the sheets? ($, %? - Some places said to use % somewhere, but I didn't understand where.)

Hopefully, this is the right place for these questions.

Thank you!
 

Jesse - PVGames

Game and Graphics Developer
Veteran
Joined
Jun 23, 2012
Messages
1,790
Reaction score
2,787
First Language
English
Primarily Uses
The answers are in the places you already looked :)

For me, I like to use Galv's plug-ins. The following three (in order) are the ones I use:

Galv's Character Frames (this allows for more than 3 frames of animation)
Galv's Character Animations (this allows for idle poses, running animations)
Galv's Diagonal Movement (for diagonal movement, naturally)

There are other plug-ins that you can use, each will have you set things up differently.

As far as the sprite sheets go, because I use all three of Galv's plug-ins, you need to make sure that you follow the directions listed in his plug-ins when setting up the sheets. However, the directions are rather confusing. What it boils down to is that the sheet for your main character needs to be set up 32x8 frames (so 32 frames across, 8 frames high) - the actual pixel size of the sheet will depend on the size of each frame. Most characters from my stuff are 128x128, so you just multiply the dimensions together; i.e. 32 x 128 and 8 x 128.

Further, following Galv's setup, you have the idle poses on the left, the walking in the middle, and running to the right of that. The diagonal versions of each of these go beneath their respective orthogonal versions.

In the end, it is always easier to give an example to follow, so feel free to use this character (he was the main character I set up for Unsung Heroes):



You will also note there is a chunk of blank space on the right side of the sheet, which is basically for additional stuff from Galv's plug-ins that I did not utilize.

For naming the sheet, according to Galv's instruction, you just need to put %(x) at the end of the name, where x = the number of frames of animation for the sprite. In this case, the file name would be gaelin%(8)

Hope that helps!
 

JRand

Veteran
Veteran
Joined
Sep 15, 2018
Messages
61
Reaction score
4
First Language
English
Primarily Uses
RMMV
Thank you, Jesse!

I'll certainly give a similar format a try!

If I have any issues, I'll report back here, lol.
 

JRand

Veteran
Veteran
Joined
Sep 15, 2018
Messages
61
Reaction score
4
First Language
English
Primarily Uses
RMMV
I do have another question, actually.

What if all I want is a still idle animation and then the diagonal walking/running?

As in, what if I don't want the character to move while just standing idle.

(I got it to work using the sheet you gave me above, by the way!)

Do I just put only the pieces I want on the sheet and still make it 32 frames across and 8 down?

Or, if you have a template with just the default sprites and then diagonal walking and running only, that'd be pretty useful in helping me line mine up.

(I've made custom characters already with your presets.)

Thank you, again!

(I really needed the diagonal stuff to work so I didn't have to make all my maps horizontal and vertical, lol.)
 

Jesse - PVGames

Game and Graphics Developer
Veteran
Joined
Jun 23, 2012
Messages
1,790
Reaction score
2,787
First Language
English
Primarily Uses
I am not quite sure I understand what you are asking.

Are you asking how to make the character not animate at all while idle, as in not even the subtle breathing movement? If that is the case and you want the character perfectly still and static, just copy and paste one of the idle frames from each row into all the other rows so you have 8x8 all the same frame, no more movement then. If you are asking something else, please elaborate! :)
 

JRand

Veteran
Veteran
Joined
Sep 15, 2018
Messages
61
Reaction score
4
First Language
English
Primarily Uses
RMMV
I am not quite sure I understand what you are asking.

Are you asking how to make the character not animate at all while idle, as in not even the subtle breathing movement? If that is the case and you want the character perfectly still and static, just copy and paste one of the idle frames from each row into all the other rows so you have 8x8 all the same frame, no more movement then. If you are asking something else, please elaborate! :)
Just to be clear, which frame number do I put as x, the number down? (8 worked with the one you did.)

And, yeah, basically.

For instance, I'm using Medieval_Interiors_Premade_Female_2 as one of my main characters.

Her mastersheet does not work even if I put %(21) at the end, where the sheet is 21 frames high (it looks crazy!).

If I put %(8) she is constantly running in place and it's not right, so I assume that sheet works differently or I'm meant to mix and match her sheets? Basically, yeah, I just want static idle, walking in all directions, and running in all directions during dash.

I'm not using the breathing idle because none of the NPCs breathe when idle, and I'll be making some custom NPCs with presets, but I don't want to have to do full sprite sheets for all of them lol.

I suppose I also need to add appropriate animation sheets for enemies on the map because if I don't they get crazy when they move, lol.

If I can figure out the right sheet for Medieval_Interiors_Premade_Female_2 (which, your package thankfully provided full animation sheets for!), I think I can figure out all the rest and my male variant custom-made character. But, I'm not sure exactly what to do!

EDIT: I figured out how to make it work with that premade female using the template you sent! Thank you! (Very time-consuming and tedious, but it looks good!)
 
Last edited:

JRand

Veteran
Veteran
Joined
Sep 15, 2018
Messages
61
Reaction score
4
First Language
English
Primarily Uses
RMMV
Apparently, using GALV's diagonal movement plugin and Yanfly's Chase Event plugin (using the ChaseRange = script call) breaks enemy sprites on the map when the player is diagonal to them, even if the enemy has a full sprite sheet. When the player moves diagonal to them, the enemy shows a messed up sprite, cut in half.

I had to turn off custom movement and change it to approach to fix this (which isn't as good).

I wonder if changing the order of the plugins could help? Right now, I have GALV above Yanfly.
 

8ik9ol

Villager
Member
Joined
Aug 16, 2019
Messages
5
Reaction score
1
First Language
German
Primarily Uses
RMMV
Apparently, using GALV's diagonal movement plugin and Yanfly's Chase Event plugin (using the ChaseRange = script call) breaks enemy sprites on the map when the player is diagonal to them, even if the enemy has a full sprite sheet. When the player moves diagonal to them, the enemy shows a messed up sprite, cut in half.

I had to turn off custom movement and change it to approach to fix this (which isn't as good).

I wonder if changing the order of the plugins could help? Right now, I have GALV above Yanfly.
I also stumbled across this problem. Turned out, the "Diagonal-Movement" plugin changed the output of the "character.direction()" function.
Normally there would be only outputs like [2, 4, 6, 8] for every straight direction on the numpad.
The plugin will add [1, 3, 7 ,9] for diagonal input.
In rpg_sprites.js (line 322) the sprite pattern is determined accordingly to character.direction.
(1st pattern for down [2], 2nd pattern for left [4], 3rd pattern for right [6], 4th pattern for up [8])
If, for example, (character.direction == 7) , the pattern will be the sprite in between the 3rd and 4th pattern.
Thus the sprite for the upper left direction will look like a halved image of the 3rd pattern's bottom and the 4th pattern's top.

Took me quite a while to figure this out. However, here is my solution:
Just assign every diagonal direction a straight one. [1 -> 2, 7 ->4, 9 ->8, 3 -> 6]
To do this, I replaced line 323 in rpg_sprites.js with:

return (((this._character.direction() == 1) ? 2 : ((this._character.direction() == 7) ? 4 : ((this._character.direction() == 9) ? 8 : ((this._character.direction() == 3) ? 6 : (this._character.direction())))))- 2) / 2;

I hope, this can be of some help.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 1)

  • Latest Threads

    Latest Posts

    Latest Profile Posts

    so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
    Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
    Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
    Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
    Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD

    Forum statistics

    Threads
    105,868
    Messages
    1,017,078
    Members
    137,580
    Latest member
    Snavi
    Top