Hi,
I find the vanilla character pathing of point and click in MZ close to what I want, but missing a few things. In it's current state it is not satisfying, especially if I want to create movement based minigames.
I'd like to create a request to change how pathing works if you are using the mouse to move. I am also using Galv's Diagonal Movement plugin to enable diagonal movement (8 way movement).
The diagonal plugin can be found Here
My Request:
Basically, I want to create a pathing system similar to that of old school runescape:
An example can be seen Here
The best live example I can find of this pathing system is using this link where you click on tiles, and it shows you the path your character takes to get there.
Link is here for the final example
Here is a fantastic video of a guy explaining how the movement works with visual examples: Video Here
Basically, it creates a path for your character similar to the shape of an "L", or "L Movements", and also takes diagonals into account when it needs to. As you can see, it is very similar to the vanilla movement already in place but with a slight modification.
Would this be easy or complicated to create?
To make it simpler, you can ignore the fact that if your character is running (not walking), they "skip" every other tile despite the animation showing that they hit it. For this purpose it will be easier to account for every tile stepped on, unless it's also not that hard to create a "run" option that takes the tile skipping into account.
Yay or nay in terms of difficulty?
MZ - Request: Change Movement Pathing For Character on Mouse Click
● ARCHIVED · READ-ONLY
-
-
The devs behind those links, they too use a plugin, I guess? If you could just fine out which one they use, that would solve your problem.
To answer your question: yeah, that would be difficult to create, but not impossible. Specially if you already know some javascript. But if a plugin like that already exists, you dont have to. -
There's an MV plugin that lets you change the pathfinding from the default A* to djikstra, greedy best search, etc. I hear it doesn't work in MZ though, but since you said you're a programmer you could debug it.
[RMMV Plugin] Advanced Movement [RMMV Plugin] Pathfinding Extras -
Isn't every RPG maker user a programmer? :p Up to a certain level.There's an MV plugin that lets you change the pathfinding from the default A* to djikstra, greedy best search, etc. I hear it doesn't work in MZ though, but since you said you're a programmer you could debug it.
[RMMV Plugin] Advanced Movement [RMMV Plugin] Pathfinding Extras
I found this plugin on itch.io:
KoTC Optimized Pathfinding System Rpg Maker MV/MZ by Knight of the Celestial
It isn't free, though. I never used it so I can't tell you if it's worth the money, but if you are not shy to put down 5 bucks, this just might be what you look for. -
I have that exact plugin. It's nice that it has no lag but it only supports four directions (no diagonals) and it has a number of bugs which you can see in the comments section. The creator also abandoned it and doesn't support it.It isn't free, though. I never used it so I can't tell you if it's worth the money, but if you are not shy to put down 5 bucks, this just might be what you look for.
Somewhat true. Eventing is basic programming with a coat of paint, even if many RPG Maker users don't realize it.Isn't every RPG maker user a programmer? :p Up to a certain level.
However this task would require reading and understanding raw Javascript code without the paint. -
Hey that's a fantastic point. I'll look into this tonight. I didn't even think of that! There's a percentage change that I won't be able to find it but it's a good start in the right direction!The devs behind those links, they too use a plugin, I guess? If you could just fine out which one they use, that would solve your problem.
To answer your question: yeah, that would be difficult to create, but not impossible. Specially if you already know some javascript. But if a plugin like that already exists, you dont have to.
$5 shouldn't be a problem ill see if i can do anything with it thank you!
I didn't know I said I'm a programmer o: My skill is basic but I have my friend chatgpt to help! Will look into this, thank you!There's an MV plugin that lets you change the pathfinding from the default A* to djikstra, greedy best search, etc. I hear it doesn't work in MZ though, but since you said you're a programmer you could debug it.
[RMMV Plugin] Advanced Movement [RMMV Plugin] Pathfinding Extras -
Oh... I honestly looked at the features and the video. :p And the price...I have that exact plugin. It's nice that it has no lag but it only supports four directions (no diagonals) and it has a number of bugs which you can see in the comments section. The creator also abandoned it and doesn't support it.
Yeah, then they might have to port the other plugins. But I have no idea how complex that would be, or what OP's level is.
I can't find anything in the OP's post about them being a programmer. :p (Edit: Oooh, I got ninja'd on that one...) :p
If they have a demo project available, you can look in the plugins folder which plugins are used. You're not supposed to just take them, but you can open them and find who the author is, which is mentioned in 99% of all plugins I ever have seen. :p (Not 100% though)Hey that's a fantastic point. I'll look into this tonight. I didn't even think of that! There's a percentage change that I won't be able to find it but it's a good start in the right direction!
From there, it should be easy to find where you can download a legal copy. -
Awesome feedback! Im amazed by this community already. The link I sent with the pathing is not made in rpgmz and is browser based to help players understand runescape pathing better. Check it out for yourself! Once I find (if I find) the source code, I can probably have chat gpt do the rest for me to convert it to work with MZ, or at least get the pathing formula but I'll obviously be missing a few steps so at that point I'll ask for more advice!Oh... I honestly looked at the features and the video. :p And the price...
Yeah, then they might have to port the other plugins. But I have no idea how complex that would be, or what OP's level is.
I can't find anything in the OP's post about them being a programmer. :p (Edit: Oooh, I got ninja'd on that one...) :p
If they have a demo project available, you can look in the plugins folder which plugins are used. You're not supposed to just take them, but you can open them and find who the author is, which is mentioned in 99% of all plugins I ever have seen. :p (Not 100% though)
From there, it should be easy to find where you can download a legal copy.
The only plugin I mentioned within my post, allows for diagonal movement and it's pretty great but is only a piece of what I'm trying to do. It doesn't take care of the pathing itself unfortunately.
Sorry I'm on mobile and don't know why it double posted =/ -
Yeah, I misread your comment as you saying the OP already knew some javascript.
Specially if you already know some javascript
The best pathfinding plugin is ironically Chaucer's Rosedale Collision Altering plugin. It has no lag, does diagonals and is for both MV and MZ. Also Chaucer is super responsive and actively supports it. The problem is you have to buy into the entire plugin even if you only want the pathfinding.
Rosedale Collision Altering Plugin [MV & MZ] -
Awesome feedback! The link I sent with the pathing is not made in rpgmz and is browser based to help players understand runescape pathing better. Check it out for yourself! Once I find (if I find) the source code, I can probably have chat gpt do the rest for me to convert it to work with MZ, or at least get the pathing formula but I'll obviously be missing a few steps so at that point I'll ask for more advice!Oh... I honestly looked at the features and the video. :p And the price...
Yeah, then they might have to port the other plugins. But I have no idea how complex that would be, or what OP's level is.
I can't find anything in the OP's post about them being a programmer. :p (Edit: Oooh, I got ninja'd on that one...) :p
If they have a demo project available, you can look in the plugins folder which plugins are used. You're not supposed to just take them, but you can open them and find who the author is, which is mentioned in 99% of all plugins I ever have seen. :p (Not 100% though)
From there, it should be easy to find where you can download a legal copy.
The only plugin I mentioned within my post, allows for diagonal movement and it's pretty great but only a piece of what I'm trying to do. It doesn't take care of the pathing itself unfortunately. -
Update - 4/25/24
Alright - I found the code for the OSRS pathing and movement maze. I contacted the developer, qhp, and it is free for anyone to use however they want. Very cool!
I have no idea what to do now. I tried putting this into CHATGPT and it failed me lol. I tried reading it and unfortunately couldn't dissect it with my lack of programming knowledge.
Is this usable to somehow create the new pathing system I requested for only point & click specifically within MZ and overwrite the vanilla movement?
On the side note, I did purchase and download the plugin that @AquaEcho recommended and it is pretty cool for collision control. I might do something with it in the future, but I believe the tile based pathing system is best for my game if anyone can get it to work.
Let me know if the below helps.
Also posting the WIKI link for the Pathing Calculation here:
He recommended ripping a BFS Algorithm .
There is a file in the github code I attached below called "sotetseg.js" that has all the code. If it's a ton of work, forget about it. If it isn't then let me know if you'd like to take a crack at it, whoever is reading :)
Thanks! -
Sorry I'm late here, but I just wanna let you know, that I have updated my path finding recently in my collision plugin, it is not far more stable, reliable, and is capable of producing theoretically 0 frame drops on extremely long path searches! ^^ I have done my best to reduce calls to the heavier math calls with reduced the performance hit on searches by 30% or so, on top of that, I have ALSO added an option to break searches into chunks rather than just trying to find the entire path in one single frame( which causes a stutter on longer paths ), by breaking this into chunks, it basically eliminates ALL possible frame drops in game, however it also will increase the time it takes to search for a path. For example, if you have a large map, that is essentially a maze..
If you were to call the path finding from the start, to the end, with chunk based searching added, there is now just a delay from the frame that the search is started, to the time it is actually executed. You can also adjust the size of the amount of searches performed per frame. I tried performing a rather large path find in my tests, with a somewhat complex path to reach it's destination, and it took approximately 15 frames of delay, with a search size of 25, and about 5 frames when I set the search size limit to 50. So as long as your path does not need to be executed the EXACT frame that the request is called( i couldn't see why they should need to be but there may be some needs for it ), this basically eliminates ALL frame drops!
Also something else to note, I ALSO added support for the "Skip if cannot Move" feature of move routes! I.E. before, if a path got interrupted it would simply CANCEL the route completely, regardless of the skip if cannot move value. but NOW if you have the route to be non-skippable, if the path gets completely blocked by another character, it will traverse the path as far as possible, and then WAIT for the character blocking the path to move AND THEN continue the path! This way if the event REALLY needs to get there, it will 100% reach it's destination!
Lastly... Thanks to aqua echo's request, and this post specifically, I will be detaching the path finding, so that it can be used via default rpg maker movement as well! It will probably be a paid plugin, but for those who already purchased the collision plugin, it will be available for free ^^;
Also just wanna say I appreciate the support ^^;
TLDR; my path finding will be 100% stutter free no matter HOW BIG the search is, performance increase by 30%, it now can honor non-skippable movements, and it will be coming as a stand alone plugin! -
That's awesome to heart Chaucer. Didn't expect you to see this thread. Thanks much. I will reference your post when my game is at a state that it is ready to implement your plugin that I purchased, and will be on the lookout for the seperate version as well :)Sorry I'm late here, but I just wanna let you know, that I have updated my path finding recently in my collision plugin, it is not far more stable, reliable, and is capable of producing theoretically 0 frame drops on extremely long path searches! ^^ I have done my best to reduce calls to the heavier math calls with reduced the performance hit on searches by 30% or so, on top of that, I have ALSO added an option to break searches into chunks rather than just trying to find the entire path in one single frame( which causes a stutter on longer paths ), by breaking this into chunks, it basically eliminates ALL possible frame drops in game, however it also will increase the time it takes to search for a path. For example, if you have a large map, that is essentially a maze..
If you were to call the path finding from the start, to the end, with chunk based searching added, there is now just a delay from the frame that the search is started, to the time it is actually executed. You can also adjust the size of the amount of searches performed per frame. I tried performing a rather large path find in my tests, with a somewhat complex path to reach it's destination, and it took approximately 15 frames of delay, with a search size of 25, and about 5 frames when I set the search size limit to 50. So as long as your path does not need to be executed the EXACT frame that the request is called( i couldn't see why they should need to be but there may be some needs for it ), this basically eliminates ALL frame drops!
Also something else to note, I ALSO added support for the "Skip if cannot Move" feature of move routes! I.E. before, if a path got interrupted it would simply CANCEL the route completely, regardless of the skip if cannot move value. but NOW if you have the route to be non-skippable, if the path gets completely blocked by another character, it will traverse the path as far as possible, and then WAIT for the character blocking the path to move AND THEN continue the path! This way if the event REALLY needs to get there, it will 100% reach it's destination!
Lastly... Thanks to aqua echo's request, and this post specifically, I will be detaching the path finding, so that it can be used via default rpg maker movement as well! It will probably be a paid plugin, but for those who already purchased the collision plugin, it will be available for free ^^;
Also just wanna say I appreciate the support ^^;
TLDR; my path finding will be 100% stutter free no matter HOW BIG the search is, performance increase by 30%, it now can honor non-skippable movements, and it will be coming as a stand alone plugin!