Altimit Pixel Movement [0.50β]

Esh

☣☣☣_CrAzY-CoDeR_☣☣☣
Member
Joined
Aug 27, 2018
Messages
9
Reaction score
4
First Language
Russian
Primarily Uses
RMMV
@xilefian, How to change the standard circle when you click on your own picture or at least a flat horizontal oval?
 

Leaufai

Veteran
Veteran
Joined
May 4, 2017
Messages
39
Reaction score
20
First Language
English
Primarily Uses
RMMV
Hi, @xilefian

This is the most well-designed pixel movement plugin I've come across. Very professional.

One thing I noticed was that followers are very prone to getting stuck behind walls/objects. Unless you take a wide berth around corners or objects, some of your followers will get stuck. Shepherding your party members is going to get annoying very fast for players, so I think it's an area of this plugin that could use some improvement.

I was playing Cosmic Star Heroine the other day and it had a solution to this problem. Instead of the followers only following the lead character when they move far enough away, the followers follow the path of the lead exactly. There can be situations where this can seem comical, but after a while you don't even notice it. It's an elegant solution because it should work all the time. If the lead character can get there, the followers can get there too. This way the followers can never get stuck.

You can see an example of how it works in the video below.

I don't know how feasible it is to do make something like this work, but perhaps its a way for your plugin to work even better.
 

Dankovsky

Veteran
Veteran
Joined
Nov 26, 2017
Messages
200
Reaction score
151
First Language
RU
Primarily Uses
RMMV
@xilefian as this is the "ultimate pixel movement plugin" I have to ask... do you think it would be possible to make it compatible with Yanfly enemy chase player plugin? Currently the "chase player" movement route causes the enemies to go insane and flip like crazy in random directions, instead of chasing the player normally.
This is what sadly prevented me from using the pixel movement for the moment, as I really want to have enemies that chase the player...
 

Yitzi Litt

Made Nepenthe — An RPG that's one giant dad-joke
Veteran
Joined
Jul 31, 2017
Messages
103
Reaction score
29
First Language
english
Primarily Uses
RMMV
If there was a way to edit the hitboxes using a ui, I would definitely use (and even be willing to pay for) this! Right now it's too complex to edit for a large game tho...
 

Esh

☣☣☣_CrAzY-CoDeR_☣☣☣
Member
Joined
Aug 27, 2018
Messages
9
Reaction score
4
First Language
Russian
Primarily Uses
RMMV
@xilefian With the core of MMORPG Nelderson's plugin also not working. Characters twitch and shake like convicts on electric chairs, besides the characters of other players on the map are not visible. Very sad... :(
 
Last edited:

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
186
First Language
English
Primarily Uses
...

There can be situations where this can seem comical, but after a while you don't even notice it. It's an elegant solution because it should work all the time. If the lead character can get there, the followers can get there too. This way the followers can never get stuck.
I do agree that this would be the best solution to avoid characters getting stuck. I never tried implementing it because of the "situations where this can seem comical".

I actually consider it a very inelegant solution as it's not actually the characters following the player, they're just on a track like a train.

I think the best solution would be some kind of hybrid system where followers will follow the exact path of the player up until they are within their following distance, from there they will just face the player until the player moves far enough away; then they move to the player's position directly and then continue to follow the exact path.

There is a lot of complexity for solving these edge cases, which is probably the biggest problem the Plugin has right now. To make sure it works within RPG Maker MV and to make it as rock-solid as possible there is a heck of a lot of code complexity to cover all the edge cases.

Anyone is free to implement their own follower AI if they want.
 

Leaufai

Veteran
Veteran
Joined
May 4, 2017
Messages
39
Reaction score
20
First Language
English
Primarily Uses
RMMV
Combining it would probably indeed be the best of both worlds, as I do like how this plugin interacts with close proximity. But as you say, that would be complex.
 

Chdonga

Villager
Member
Joined
Mar 25, 2016
Messages
21
Reaction score
1
First Language
English
Primarily Uses
I'm having a rather odd issue with Yanfly's Event Spawner. Regardless of that I set the move route to, the event will slide onto the grid and not move at all. The issue is there with Galv's Event Spawner too. It might be an issue with those scripts, but I'm not too sure.
 

BorhilIan

Villager
Member
Joined
Jul 30, 2017
Messages
5
Reaction score
0
First Language
English
Primarily Uses
RMMV
BUG REPORT: Set an event or the player to lowest possible speed, observe that you can only move up-left. Now set to second lowest possible speed, observe as you move up-left faster than all other directions. I've been looking at the code trying to figure out a fix but sadley it is just to foreign to me.
 

BorhilIan

Villager
Member
Joined
Jul 30, 2017
Messages
5
Reaction score
0
First Language
English
Primarily Uses
RMMV
BorhilIan said:
BUG REPORT: Set an event or the player to lowest possible speed, observe that you can only move up-left. Now set to second lowest possible speed, observe as you move up-left faster than all other directions. I've been looking at the code trying to figure out a fix but sadley it is just to foreign to me.
@xilefian Didn't realize that I can at people on here, sorry for the two posts. Don't know if editing the above would send it to the at's inbox or if it does that at all.
 

dkun

Veteran
Veteran
Joined
Jul 7, 2012
Messages
42
Reaction score
23
First Language
Tagalog
Primarily Uses
RMMV
Hello! I've been experimenting with the plugin and ran into some issues that I was wondering I could get help on.

I'm currently trying to experiment with touch events and was having trouble with events being triggered repeatedly. This is even worse when the events are so close to each other. For instance, I'm trying to create stairs which the player can only pass through if they go from the tile directly below it and not the tile on the side. However, there's is this weird behaviour where the two events for this (the upper right and the lower left) are getting triggered if the player is in the area somewhere between them diagonally. I tried adding text to see what was happening and this is where I found out that events were being triggered repeatedly if you even attempt to walk through the events. This even happens if there's only one event; it'll keep triggering if the player walks whilst somewhere in that tile. I've tried what I've thought of to prevent this but no luck. Not sure if this is a bug or intended. If intended, does anyone know of a workaround? I've tried both Event Touch and Player Touch but nothing changes.

Also, this is not that big of a concern but there's a flickering that happens when a Control XXX command is used. The event graphic rapidly changes to another sprite (for example, when trying to make a switch, the switch flickers or when it comes to a fire graphic, the fire changes colour briefly) then back to the intended graphic. I'm fairly certain this is due to the plugin as I've tried an empty project with just this plugin and the same thing was happening.

I've discovered that the player's position seems to be obtained from the (0, 0) point of the sprite from assigning the player's x and y positions to variables. I'm also fairly certain of this as I've tried using a conditional branch which checks for the player's position and I've had to adjust the position for the event to properly work as intended. Is there a way to somehow make it so that the player position reference point is on the center of the collider rather than the sprite?

Does anyone have a way to prevent these issues from happening?
I wanted to see the colliders but for some reason the debug plugin doesn't work.
 

Attachments

moredorn

Warper
Member
Joined
Sep 6, 2017
Messages
1
Reaction score
0
First Language
English
Primarily Uses
RMMV
Hello! I've been experimenting with the plugin and ran into some issues that I was wondering I could get help on.

I'm currently trying to experiment with touch events and was having trouble with events being triggered repeatedly. This is even worse when the events are so close to each other. For instance, I'm trying to create stairs which the player can only pass through if they go from the tile directly below it and not the tile on the side. However, there's is this weird behaviour where the two events for this (the upper right and the lower left) are getting triggered if the player is in the area somewhere between them diagonally. I tried adding text to see what was happening and this is where I found out that events were being triggered repeatedly if you even attempt to walk through the events. This even happens if there's only one event; it'll keep triggering if the player walks whilst somewhere in that tile. I've tried what I've thought of to prevent this but no luck. Not sure if this is a bug or intended. If intended, does anyone know of a workaround? I've tried both Event Touch and Player Touch but nothing changes.

Also, this is not that big of a concern but there's a flickering that happens when a Control XXX command is used. The event graphic rapidly changes to another sprite (for example, when trying to make a switch, the switch flickers or when it comes to a fire graphic, the fire changes colour briefly) then back to the intended graphic. I'm fairly certain this is due to the plugin as I've tried an empty project with just this plugin and the same thing was happening.

I've discovered that the player's position seems to be obtained from the (0, 0) point of the sprite from assigning the player's x and y positions to variables. I'm also fairly certain of this as I've tried using a conditional branch which checks for the player's position and I've had to adjust the position for the event to properly work as intended. Is there a way to somehow make it so that the player position reference point is on the center of the collider rather than the sprite?

Does anyone have a way to prevent these issues from happening?
I wanted to see the colliders but for some reason the debug plugin doesn't work.

Thanks for typing all that out

So what i did was make Variable =(Game Data) Steps and npc that tells me how manys steps

When I hit left then right as fast as can to talk to the npc i get +8steps

Test 2 I did was put npc on my left and right then i hit left enter and the npc had i move 1 step then i move all the way to the right npc so i stop moving and got 10 then i move all the way left npc and got 26 move all the way right got 42 and left one more time for 58

After that i took off 10 off the 1st two time i ask the npc so 1st all left is 16 all right is 32 left one more is 48 so doing that it looks like 1 tile on the map is 16steps left and right and i try having npc up and down and got the same

So after the tests i did it looks like the tiles are made into 256sub tiles that you can move on and the touch event is trigger form all 256subtiles

I like to know does using so many steps hurt the game if your doing 100h jrpg game? like does rpg maker have step cap what happens if we go over that?

thanks you for reading this i hope this can be of some help
 

Chef

yeet
Veteran
Joined
Oct 13, 2017
Messages
285
Reaction score
128
First Language
Dutch
Primarily Uses
RMMV
Hey, I got a small bit of news for the YEP Region Events plugin. It mostly works as long as the players' speed isn't above 4.65. That brings me to the second point: When using the SpeedManager Plugin by Karberus (https://forums.rpgmakerweb.com/index.php?threads/speed-manager.52639/) the Pixel Movement Plugin is only compatible when the speed it set at whole number like 4 (where YEP RE does work) or 5 (where it doesn't). Keep in mind that with "work" I mean using footstep sounds AND registering a "Player Touch" & "Below Character" Event. There is a workaround, but it will cost the X and Y RegionEvents around the Event. You have to open up a plus form, and not even on the Event itself. But the problem now is that it will skip 1 walking sound each open tile. And since more people and I have multiple Events behind each other, that's a dead end problem. To complete the workaround, in the Event itself the first page should have the Through, Same as Character properties and Player Touch, and it should activate "Self Switch A" which is something the second page needs. That's a parallel page where the actual instruction is (that's in my case, at least).
So my question for now is, @xilefian would you like to try to make Karberus SpeedManager compatible with Altimit Pixel Movement?

Kind regards,
Arend Galenkamp
ViegolTech
#Almanac
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
186
First Language
English
Primarily Uses
Hello! I've been experimenting with the plugin and ran into some issues that I was wondering I could get help on.

...
To get the Debug draw working you need to add the debug Plugin and call the Plugin command "AltimitMovement debug show", alternatively you can set "default display" to "true" in the Plugin Parameters.

You need to write event logic to prevent the event from firing repeatedly. Simple self switches will solve this. Events firing repeatedly as you move around in them is a flaw in Altimit Movement, this sounds odd but MV actually has this issue also - just that you can (almost) never move around "inside" an event in vanilla MV. Unfortunately; detecting "leaving" an event is particularly difficult - so you do need to be particularly clever with event logic.

With player touch, the player must be fully inside the event before it to be triggered (or the event fully inside the player, if the event collider is smaller than the player's). With event touch, the event will fire the moment the colliders even slightly touch - hopefully with that knowledge you can better design your event for Altimit Movement.

The player's position variable is the same as MV's. I never actually implemented that, so again that was an oversight. The event logic and things like bush and ladder detection uses the centre point of the collider for a position variable, which unfortunately I never made into a convenience function (I remember debating this for some time too).

JavaScript:
var aabbox = $gamePlayer.collider().aabbox;
var positionX = $gameMap.roundX( $gamePlayer._x + ( aabbox.left + aabbox.right ) / 2 );
var positionY = $gameMap.roundY( $gamePlayer._y + ( aabbox.top + aabbox.bottom ) / 2 );
There's a few API things I wish I had built, in retrospect. For the time being, I'm investigating design ideas for fixing major issues with Altimit Movement. It's such a massive and complex Plugin so there's a lot of issues and mathematics to think about.
 

Lonewulf123

Veteran
Veteran
Joined
Oct 13, 2014
Messages
289
Reaction score
86
First Language
Enlish
@xilefian Sorry, If I'm missing something, but in the above example, how exactly do you use that code to center the collision box?

I'm trying to get it center on my events, so I can sort of use it like a line of sight or sensor area.
 

Swagazaki

Villager
Member
Joined
Sep 5, 2018
Messages
6
Reaction score
1
First Language
French
Primarily Uses
RMMV
Hi ! I really love your plugin and it works pretty good for me, except for one thing : it seems to be incompatible with YEP_EventProxActivate from Yanfly.
I don't know if the problem comes from this plugin or theirs, so I'll just ask if it's possible to make it compatible with adding something to the code and where.

If you know a solution, I'd be happy for anyone to explain it to me !

Again, thank you for this plugin, that's a great add to RPG Maker MV !

(And sorry for my bad english, I'm still working on it)
 

Doktor_Q

I'm not a real doktor, but I am a real Q
Veteran
Joined
Aug 1, 2016
Messages
713
Reaction score
421
First Language
English
Primarily Uses
RMMV
Hi ! I really love your plugin and it works pretty good for me, except for one thing : it seems to be incompatible with YEP_EventProxActivate from Yanfly.
I don't know if the problem comes from this plugin or theirs, so I'll just ask if it's possible to make it compatible with adding something to the code and where.

If you know a solution, I'd be happy for anyone to explain it to me !

Again, thank you for this plugin, that's a great add to RPG Maker MV !

(And sorry for my bad english, I'm still working on it)
There's no reason to use Yanfly's proximity activation plugin with pixel move, because pixel move lets you define the size and shape of the object already. It's what those bounding box / polygon configurations are for.
 

Swagazaki

Villager
Member
Joined
Sep 5, 2018
Messages
6
Reaction score
1
First Language
French
Primarily Uses
RMMV
There's no reason to use Yanfly's proximity activation plugin with pixel move, because pixel move lets you define the size and shape of the object already. It's what those bounding box / polygon configurations are for.
Thanks ! That's a relief !

Also, I'm kind of a noob in commands and stuff and I can't figure how to set it up, even with the plugin's notes.

Am I supposed to put "AltMovement collider set this 100" at the beginning of an event to make it launch whenever I go near by it about 100 pixels ?

Thank you for your patience and happy RPG making !
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
186
First Language
English
Primarily Uses
Thanks ! That's a relief !

Also, I'm kind of a noob in commands and stuff and I can't figure how to set it up, even with the plugin's notes.

Am I supposed to put "AltMovement collider set this 100" at the beginning of an event to make it launch whenever I go near by it about 100 pixels ?

Thank you for your patience and happy RPG making !
To give an event a 100px diameter collider you can put this Comment at the top of the event page:
<collider>
<circle cx='0.5' cy='0.5' r='1.0416666666' />
</collider>

The Comment command is at the bottom of Flow Control section on page 1 of Event Commands.

So that should centre the circle on the event itself and give it a radius that is a 50 pixels (assuming tile size is 48 pixels). 1.0416666666 x 48 = 50, so change that 1.04166666 if you want to fiddle with the radius.

You would then use Event Touch to make it activate when the player is fully within that circle.

Use the debug Plugin and the command AltimitMovement debug show to check your colliders.

EDIT: Here's what the event page could look like

Notice I turn on a self switch, this is to stop the event from firing constantly when the player is moving around. You may or may not want this behaviour, so experiment with it.
 
Last edited:

Swagazaki

Villager
Member
Joined
Sep 5, 2018
Messages
6
Reaction score
1
First Language
French
Primarily Uses
RMMV
To give an event a 100px diameter collider you can put this Comment at the top of the event page:
<collider>
<circle cx='0.5' cy='0.5' r='1.0416666666' />
</collider>

The Comment command is at the bottom of Flow Control section on page 1 of Event Commands.

So that should centre the circle on the event itself and give it a radius that is a 50 pixels (assuming tile size is 48 pixels). 1.0416666666 x 48 = 50, so change that 1.04166666 if you want to fiddle with the radius.

You would then use Event Touch to make it activate when the player is fully within that circle.

Use the debug Plugin and the command AltimitMovement debug show to check your colliders.

EDIT: Here's what the event page could look like

Notice I turn on a self switch, this is to stop the event from firing constantly when the player is moving around. You may or may not want this behaviour, so experiment with it.
Thank you so much ! Your instructions were crystal clear to me and it's working perfectly ! Now I don't know if there is "row" and "Column" kinds of activation commands, but that's a big step forward for me !

Again, thank you, you did a great job with this plugin ! :)
 

Users Who Are Viewing This Thread (Users: 0, Guests: 2)

Latest Threads

Latest Profile Posts

I try to check out 2-3 projects from the Games In Development forum every fortnight. I usually don't spend more then 30 minutes to an hour on each project, but I do try to leave a comment to share my thoughts on each one I check out. I usually just pick whatever catches my eye, but if you're reading this and would like a little feedback on your project in development let me know and I'll see if I can check it out :)
I drew Resident Evil 2 style lock for my horror game. (Pixels intended)
I wake up to see I now have 73 subscribers on YouTube, that means I've gained 67 subs in the last two days. :LZSexcite:
With all this practice, I'll be hitting competitive in social distancing soon.
Ugh! I have a headache coming on--not sure if it's from the sudden change in weather or caffeine withdraw...only one way to fi d out--Coffee time!

Forum statistics

Threads
95,806
Messages
932,067
Members
126,230
Latest member
unowa23
Top