Altimit Pixel Movement [0.50β]

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
Altimit Movement 0.50 beta

This is an open-source project, feel free to clone the repository and make pull requests.

About

This Plugin replaces the default movement and collision system with vector-based movement and polygon-based collision.

I've tried many different pixel-movement Plugin in the past, but have found that each one has a set of corner-cases that causes it to fail or break. As a result, I decided to create my own one with the goal of it being as water-tight as possible.

Altimit Movement is designed to be a drop-in replacement for the default movement system. The primary goal of it is to not be "unexpected"; once Altimit Movement is in your project, it should feel like RPG Maker MV has always featured pixel-movement.

The goal is for Altimit Movement to be the ultimate pixel-movement Plugin.

Web Demo
Download Latest Version
Video


Features

  • 8 direction movement
  • Custom character hit-boxes
Beta Release

The beta release is about developing the API, including Plugin parameters and commands.

The goal is to bring it up to par with other existing movement Plugins and provide everything needed for developers to create a game using all the features available with the Plugin.

Known Issues

The latest issues are listed on the project page at the following URL: github.com/AltimitSystems/mv-plugins/issues

Feel free to report issues in this thread or create a new issue on the project tracker (label as Altimit Movement).

Altimit Movement Debug

Altimit Movement has a companion Plugin that can display debug information (shown in the video above). It is available at the following URL: https://github.com/AltimitSystems/mv-plugins/tree/master/movement-debug

Like Altimit Movement, this is an alpha release and has its own issue tags and road-map (such as displaying debug collision information for vanilla MV without Altimit Movement).
 
Last edited:

CommanderNZ

Villager
Member
Joined
Mar 27, 2017
Messages
10
Reaction score
0
First Language
English
Primarily Uses
RMMV
This looks like it will have potential, I have been looking for a decent pixel movement plugin that will be compatible with my game for sometime, I will be following this one to see if it will work when the bugs such as the mouse touch are fixed.
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
Updated first post to include a web-demo.

This looks like it will have potential, I have been looking for a decent pixel movement plugin that will be compatible with my game for sometime, I will be following this one to see if it will work when the bugs such as the mouse touch are fixed.
Missing mouse input isn't a bug, just that it hasn't been re-built yet. As of right now (this post), there's no known bugs (but bugs will be found and they will be fixed), which is why I need people to test this out and find bugs so it can be made water-tight.

It's worth trying with your project, there's zero configuration needed so it doesn't take much effort at all to install and check it out. I've been testing it out its robustness by modding other people's MV projects in private and inserting this Plugin, it's pretty cool to be able to retroactively add pixel movement into other people's published MV projects.
 
Last edited:

ramza

Lunatic Coder
Veteran
Joined
Jan 28, 2013
Messages
663
Reaction score
373
First Language
English
Primarily Uses
RMMV
I'm surprised how well this runs in the test demo. I hadn't considered using a pixel movement system in my own project before, but after seeing this in action, I am beginning to reconsider.
 

Dirge

Sound Engineer
Veteran
Joined
Apr 5, 2015
Messages
413
Reaction score
284
First Language
English, German
Primarily Uses
N/A
What's the benefit of using pixel movement versus the default? I've never looked into it before.
 

Kyuukon

主人公
Veteran
Joined
Aug 22, 2013
Messages
2,217
Reaction score
1,077
First Language
Spanish
Primarily Uses
RMMV
The primary goal of it is to be "unexpected", once Altimit Movement is in your project, it should feel like RPG Maker MV has always featured pixel-movement.
Love that philosophy :) Keep up the good work!
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
Love that philosophy :) Keep up the good work!
Although I'm thinking "unexpected" is probably the wrong word. Should be "unsurprising", which is the opposite of unexpected.

The web-demo has been updated to reflect a more game-like usage with move-routes and custom event colliders. It will now always use the latest version of the Plugin from the github page.

I've fixed a number of issues found when creating this new web demo and added some developer features, namely the ability to change an event's collider.

I've gone ahead and fixed a number of issues I've reported on the github issue tracker.

Bugs fixed:
Thank you to user "Run" of RMMV.co for reporting several bugs that are now fixed.

Mouse input is something I'm still figuring out a good solution for. Alpha 0.02 will be done once mouse input is in.
 

styx92

Veteran
Veteran
Joined
Jan 7, 2016
Messages
310
Reaction score
38
First Language
German
Primarily Uses
Works good for an early alpha. I put it into my current project and dont have a big bug.
Only footstep sounds and footstep graphics are really wierd :D but i think that are not the priorities at the moment :D
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
Alpha 0.02 is now ready (available on first post). This re-adds mouse based movement. There are some event-interaction quirks (getting off a vehicle may be fiddly, needs improvement) but it is working. The path-finding for mouse movement is now rather dumb; the player will simply walk towards the direction of the click, nothing special.

The reason behind this is because it "feels" much better on touch-screens, now that the movement grid is no-longer a factor. I did implement a full path-finding system (it was super awesome too) but ended up removing that because it just didn't feel as good as the "move towards finger" behaviour.
Works good for an early alpha. I put it into my current project and dont have a big bug.
Only footstep sounds and footstep graphics are really wierd :D but i think that are not the priorities at the moment :D
3rd party Plugins that add effects like footstep sounds/graphics aren't a priority at the moment. It is open-source, so the hoping is people will create patches that add compatibility with other Plugins and they get merged into this Plugin. It would be interesting to see one of the ABS Plugins that depend on pixel-movement be made compatible with this one.

Feedback has been overwhelmingly positive for this Plugin so far, particularly about it resolving some bugs that the other popular pixel-movement Plugins currently have.

The next version should have some developer API stuff added, including an easy way to set custom collision shapes for characters. I've also been looking into having TileD be used as a collision-mesh editor, but there's some complexities behind translating MV to TileD that makes this a difficult thing to implement. The idea is to have an easy way for people to create a totally custom collision mesh for their maps. A TileD translation layer is a completely separate project that I'm not going to entertain for now.
 

vico

Veteran
Veteran
Joined
Dec 13, 2015
Messages
161
Reaction score
19
First Language
Portuguese
Primarily Uses
RMXP
Thanks A LOT!

Based on the video demo, this system is the most similar to how movement is made in Chrono Trigger.
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
Thanks A LOT!

Based on the video demo, this system is the most similar to how movement is made in Chrono Trigger.
Chrono Trigger is exactly what I had in mind for the follower behaviour, so I'm actually quite happy you identified this similarity!

I've been updating alpha 0.02, solving some bugs before I start work on the beta version proper.

Bugs fixed:
Enhancement:
This is the first "enhancement", which is basically a feature that improves on default behaviour, whilst still being something that you expect to be there. In this case, ladder-tiles (ladders and ropes) will cause characters to align to the middle of the ladder/rope if it is an up/down directional tile. This visually looks nicer than letting the player unrealistically slide around the sides of a ladder/tile.

The on-ladder detection logic is now the same as the on-bush detection, which is another nice visual improvement for ladders/ropes.
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
http://mvplugins.tordamian.com/plugins/bind-pictures-to-map/#general_information

When used together with this plug-in, it does not operate.
I want to use a custom map, so I am using it at the same time. Is there any possibility of future update?
It works perfectly fine with this Plugin for me: imgur.com/7ReKDQ0
Works in any Plugin order too. Zero issues.

Do you have any other Plugins that could be causing the problem?

EDIT: Just checked all the method names, there's no conflicts between these Plugins, so they should be completely compatible.
 

dahlys

Meatbun
Veteran
Joined
Aug 28, 2017
Messages
91
Reaction score
94
First Language
English
Primarily Uses
RMMV
Thank you so much for this plugin! Movement looks a lot less rigid now~ :D I've been waiting for a good pixel movement plugin.

I also tested out a simple character distance calculator using the collider coordinates in this plugin and it works great! here
 

phamtruong1992

Mage Art - Green Dragon
Veteran
Joined
Nov 22, 2015
Messages
190
Reaction score
213
First Language
English
Primarily Uses
RMMV

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
Thank you so much for this plugin! Movement looks a lot less rigid now~ :D I've been waiting for a good pixel movement plugin.

I also tested out a simple character distance calculator using the collider coordinates in this plugin and it works great! here
Thanks for the feedback and it's great to see a Plugin using this Plugin. I suggest developers wait until the beta versions with the API implemented before creating Plugins, for now go ahead and do experiments, tests and ideas - but complete Plugins should wait for the API.

This Plugin sample is a good example for why;
I see that you've used "collider().x" and "collider().y", which is okay for a scenario where all characters use circle-colliders, however tile events (which are also characters) will use the shared-tile collider, which is a polygon collider and does not have an x/y co-ordinate.

The API will add a way to get the middle X and Y coords of a character - which for now can be reliably calculated with:
JavaScript:
{
    x: ( character.collider().right + character.collider().left ) / 2,
    y: ( character.collider().bottom + character.collider().top ) / 2
}
There will likely also be API stuff added for calculating distance from the edge (as opposed to middle) of one collider to the edge of another - which would be useful for a Plugin similar to your one; but I'll leave distance from one middle to another middle for others to handle as that's nowhere near as complicated.
 

vico

Veteran
Veteran
Joined
Dec 13, 2015
Messages
161
Reaction score
19
First Language
Portuguese
Primarily Uses
RMXP
Is possible to add in your script a simple extra frames module? Because the only other plugins i've know to add this kind of funcionality are another pixel movement plugins, and i'm afraid obviously none of them are compatible with yours or would interfere with its funcionality.
 

dahlys

Meatbun
Veteran
Joined
Aug 28, 2017
Messages
91
Reaction score
94
First Language
English
Primarily Uses
RMMV
I see that you've used "collider().x" and "collider().y", which is okay for a scenario where all characters use circle-colliders, however tile events (which are also characters) will use the shared-tile collider, which is a polygon collider and does not have an x/y co-ordinate.
Ahah, I had wondered why there were different types of colliders in the code, now I see. I've only done testing with characters and they were all circles so I kinda...assumed. I thought the polygons were only for the map tiles and all events were round. I was experimenting with changing the collider size and wondered what went wrong, but I get it now. The plugin is also pretty much something I wrote only for myself. I will eagerly await the API!
 

microck

Veteran
Veteran
Joined
Jul 23, 2016
Messages
45
Reaction score
11
Primarily Uses
Cool plugin. But if we use the Galv's character animations plugin with Altimit pixel movement, the character isn't animated. :(
 

xilefian

Veteran
Veteran
Joined
Nov 26, 2014
Messages
121
Reaction score
188
First Language
English
Primarily Uses
Is possible to add in your script a simple extra frames module? Because the only other plugins i've know to add this kind of funcionality are another pixel movement plugins, and i'm afraid obviously none of them are compatible with yours or would interfere with its funcionality.
Cool plugin. But if we use the Galv's character animations plugin with Altimit pixel movement, the character isn't animated. :(
To address both of these posts; I'm actually planning on making an extension Plugin that adds these features. I haven't seen Galv's character animations Plugin, but what I'll be doing is adding an optional extension that enables 8-direction movement, sprinting frames and idle frames.

It is currently planned as an extension right now, but it may end up being merged to be a core part of the Plugin. At the moment I think I want it to be an extension, so the "core" Plugin exists as a "vanilla" pixel-movement Plugin (no fancy features, everything acts as expected) then extra features that aren't in vanilla MV are added as extensions.

A lot of character-related Plugins are highly likely to be incompatible (movement Plugins, obviously, but things like 8-direction movement, extra animations, foot-steps) as the logic is completely different to default MV (there's hardly any default MV logic related to movement left). If people want to add compatibility for Plugins; this is an open-source Plugin so everyone is welcome to do it. I'm not going to accept Plugin-specific hacks into the master-branch but I will definitely accept modifications that gain compatibility with Plugins without hacks (hacks being a branching if-statement detecting if specific Plugins are installed, that kind of code is very unhealthy for MV Plugins).


EDIT: Beta 0.10 is now here. The API for the beta releases are not final and will be in-development until the final beta version is complete.

Plugin Parameters

I have added parameters for configuring all the default colliders. Eventually I'll be removing the "shared" collider system in favour of these default colliders. Collider presets is on the todo-list (to match a feature of QMovement).

All API objects will be XML; JSON support may be added in the future, but from experience I've found that XML is easiest for modders to use who are not familiar with code structures.

Rectangle (this example makes a tile-sized square)
<rect x='0.0' y='0.0' width='1.0' height='1.0' />

Circle (this example makes a tile-sized circle)
<circle cx='0.5' cy='0.5' r='0.5' />

Line (this example makes a line from top-left to bottom-right)
<line x1='0' y1='0' x2='1' y2='1' />

Polygon must be convex and clock-wise-winding (this example makes a triangle)
<polygon points='0.0,1.0 0.5,0.0 1.0,1.0' />

Regular polygon (this example makes a 5-pointed polygon; a pentagon)
<regular cx='0.5' cy='0.5' rx='0.5' ry='0.5' p='5' />

You can use multiple colliders to create complex shapes (this is how convex polygons would be made). Already you can see that this is more powerful than the options for other movement Plugins that also feature custom colliders.

Bugs fixed:
 
Last edited:

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

Latest Threads

Latest Posts

Latest Profile Posts

Discovering math. functions for damage formulas was one of the greatest things for me.
It's very useful for balancing skills to work in a variety of possible circumstances.
For example if you have a skill that is supposed to work for both mages and warriors:
Code:
Math.max(a.atk * 2 - b.def, a.mat * 2 - b.mdf)
SpaceX: First-ever successful (manned) commercial spaceflight!! In these terrible and self-sabotaging times for the world, that's a ray of excitement and hope I needed badly.
GameDevJohn wrote on whtdragon's profile.
Hey I used you bunny and cat spritesheet for a game jam game. Thanks so much! You have really beautiful stuff here. I'll credit you at https://gamedevjohn.itch.io/bunny-boy
The video of a psycho chasing people on the streets with a sword before getting subdued is wild. Apparent screenshots of his Twitter feed (EDIT: confirmed by Dallas police) before it went private reveal a dangerous delusional mindset. I heard there was a bow person too. The crazies are really coming out of the woodworks.

Forum statistics

Threads
98,015
Messages
948,540
Members
129,273
Latest member
scierwo
Top