Spocker

Villager
Member
Joined
Oct 21, 2019
Messages
23
Reaction score
9
First Language
French
Primarily Uses
RMMV
Hi everyone!

Out of idea, I'm asking here if any brave soul would be able and willing to code a Collision Map plugin for MV.

The only one I could find for MV is the QCollisionMap. Unfortunately it needs QMovement, which needs QPlus, and because of a long list of incompatibility reasons I can't use QMovement. You can find it here: https://quxios.github.io/plugins
Another one by HIME exists, but is not an MV plugin: https://himeworks.com/2013/09/collision-maps/


The idea would be to have just one plugin whose only purpose would be to draw a collision map on each map, maybe with a map notetag. Colored pixels on the collision map would be unpassable, and transparent ones would be passable.
It would be a collision map to insert while parallax mapping. It could be a .png file to put in a folder in img: maybe a new folder with a name like "collision", or even the preexisting "parallax" folder.

I use VictorEngine's plugins for diagonals/8frames and so on, but the requested map collision plugin would be purposely very light, just drawing the collision image and not depending on a pixel movement setup - as there are many.

Thank you a lot for reading and helping!
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
37,339
Reaction score
10,191
First Language
German
Primarily Uses
RMMV
if you don't want pixel movement, then why not use a map of invisible tiles? that would have the added advantage that you could also utulize the other functions of tilesets like the bush flag (turns lower part of actor translucent) or the ladder flag (forces the actor to look up even when going down or sideways) and so on.

the problem is that collision is directly dependent on movement. If you don't have a pixel movement script, then you don't need such a collision map - and if you use a pixel movement plugin or script, then the collision plugin needs to access that plugins movement data - which only works if the movement function is known.
 

Spocker

Villager
Member
Joined
Oct 21, 2019
Messages
23
Reaction score
9
First Language
French
Primarily Uses
RMMV
Hi @Andar
Thank you for answering.

Well I understood that collision maps are linked to movement data, which is precisely why in this post I made it an open suggestion: for having collision maps for random 48*48 tiles. I didn't want to ask for something related to one specific pixel movement plugin, it wouldn't have been realistic to ask for someone to code a plugin entirely linked to GALV/Altimist/SAN or other pixel movement plugin.

However, I differ on one point: even if I don't use pixel movement (for compatibility issues, as most of them get rid of mouse movements), a Collision Map Plugin for MV would be a great asset for many dev here who work with parallax mapping + diagonals.
I don't even know if it's possible, but it is precisely why I can't use passage plugins like YEP_RegionRestrictions : it still deals with 48*48 plain squares, and won't work for diagonales.

I already tried to use "a map of invisible tiles", as shown under, but you can see how imprecise it is on the picture. Not mentioning how complicated it is to implement tile by tile, even on not-so-large-maps.
(If I didn't understood what you meant by "a map of invisible tiles", and it was not what was shown under, please don't hesitate to explain a bit more !) :rhappy:

Sans titre.png

Again, thank you for answering and I hope why I made this request is a bit clearer.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
37,339
Reaction score
10,191
First Language
German
Primarily Uses
RMMV
that clears up what you want, but it doesn't change the fact that movement and collision are connected and can't be handled independently.
It simply doesn't work the way you think it should.
 

Spocker

Villager
Member
Joined
Oct 21, 2019
Messages
23
Reaction score
9
First Language
French
Primarily Uses
RMMV
Hi @Andar
Thank you for answering but really, no need to be rude. I don't think anything "should" work how I want to, I'm trying to figure out if anyone has a different solution. This post is literally a few hours old, maybe someone will have an idea. There are so many great things on RM, one more would not be aberrant.
Indeed I don't technically understand why we wouldn't be able to draw a picture space where things would be unpassable and blocked, but maybe there are workarounds.

For instance, we all know YEP_RegionRestrictions. Would it be possible to create a plugin that works the same, but allows for diagonals restrictions?
Instead of having one 'red' square used for restricted regions, we would have triangles? That would help for setting diagonals restricted regions. It would not be perfect but it would be surely better.

Sans titre3.png

I also discovered thanks to @SigmaSuccour that @Hudell's CycloneMapEditor (https://forums.rpgmakerweb.com/index.php?threads/cyclone-map-editor-mz-and-mv.125689/) allows for having Collision based on 2 blocks or 4 little blocks of 12*12 instead of 1 block of 48*48. See below.
4 blocks are like the "invisible tiles map" we discussed before, so it's way easier to implement but not exactly what we needed here. But I was thinking that 6 blocks would be quite enough (totally!) to work with and draw a way more precise collision map directly as part as a tile process, and not as an unpassable picture.
Sans titre4.png
Just trying to come up with new ideas.
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
37,339
Reaction score
10,191
First Language
German
Primarily Uses
RMMV
My post wasn't meant to be rude.

What I meant is that while every idea you posted can be done, they all require a fitting movement plugin to that form of collision.
So instead of being bound to a specific pixel movement script, they will be bound to a specific "whatever idea" movement script.

It is simply not possible to change the collision behaviour without changing the movement behaviour, no matter what idea you try to solve the diagonal movement problem.

that is by the way the reason why the diagonal movement you're using is such a problem - it tried to keep the original grid collision working instead of making a different collision method.
 

Kaszdev

Veteran
Veteran
Joined
Sep 29, 2022
Messages
35
Reaction score
9
First Language
Spanish
Primarily Uses
RMMZ
Hi @Andar
Thank you for answering but really, no need to be rude. I don't think anything "should" work how I want to, I'm trying to figure out if anyone has a different solution. This post is literally a few hours old, maybe someone will have an idea. There are so many great things on RM, one more would not be aberrant.
Indeed I don't technically understand why we wouldn't be able to draw a picture space where things would be unpassable and blocked, but maybe there are workarounds.

For instance, we all know YEP_RegionRestrictions. Would it be possible to create a plugin that works the same, but allows for diagonals restrictions?
Instead of having one 'red' square used for restricted regions, we would have triangles? That would help for setting diagonals restricted regions. It would not be perfect but it would be surely better.

View attachment 241628

I also discovered thanks to @SigmaSuccour that @Hudell's CycloneMapEditor (https://forums.rpgmakerweb.com/index.php?threads/cyclone-map-editor-mz-and-mv.125689/) allows for having Collision based on 2 blocks or 4 little blocks of 12*12 instead of 1 block of 48*48. See below.
4 blocks are like the "invisible tiles map" we discussed before, so it's way easier to implement but not exactly what we needed here. But I was thinking that 6 blocks would be quite enough (totally!) to work with and draw a way more precise collision map directly as part as a tile process, and not as an unpassable picture.
View attachment 241629
Just trying to come up with new ideas.
Qmovement lets you set the grid size too which in the plugin is 1 by default. So if your game is 48x48, you should set it to 48. I think it might work.
 

Spocker

Villager
Member
Joined
Oct 21, 2019
Messages
23
Reaction score
9
First Language
French
Primarily Uses
RMMV
Qmovement lets you set the grid size too which in the plugin is 1 by default. So if your game is 48x48, you should set it to 48. I think it might work.
Hi, thanks for answering! Well QMovement totally works in itself (I used it indeed with 48*48 grid tiles). However it can't work with mouse movements, and that's something I really need in my game. It's not just an add-on that I would be picky to keep, it's mouse movements! ^^

@Andar Thank you for clarifying. When you say that you tried to keep the existing grid collision, you're refering to an "invisible map tiles" system, as we discuss? It may be unfortunately the last and only solution if there is no workaround to what you explain :)
Because I can't ask someone to specifically create a pixel movement plugin that keep mouse movements + comes with a collision map system. ^^
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
396
Reaction score
635
First Language
English
Primarily Uses
RMMV
Would this be useful? this is a pixel movement system that I'm currently planning to release. It allows for high level of collision accuracy, with no need for a large collision sprite sheet for each map.

In short this pixel movement systems collision detection works off of shapes. It comes with a 2D GUI plugin to allow you to easily map shapes for each tile. Preview below.


The only dependncies it has is for my math library plugin which is 99% unlikely to cause any other compatability issues( unless someone else has a plugin that creates a vector class, line segment class, and other math related classes lol. )

This plugin should be released relatively soon, and works with both MV and MZ as far as I've tested. :)
 

Spocker

Villager
Member
Joined
Oct 21, 2019
Messages
23
Reaction score
9
First Language
French
Primarily Uses
RMMV
Wow, thanks for answering @chaucer ! Do you plan on making it compatible not only with shaped tiles but also parallax mapping? If not I'm trying to imagine if it would be compatible with a bit more work, like putting the parallax map in the tileset database and using the same system of mapping shapes... I don't know.
Would the pixel movement itself be compatible with mouse movements at first (and your own mouse plugins that I love!), and with other plugins for movement such as YEP_MoveRouteCore, or VE_DiagonalMovement?

I do believe this plugin would be amazing in itself! I just don't know yet if it would work regarding my request, and without adding you a lot of compatibility issues and work ^^
Many thanks though, it will be great to have such a plugin for MV!
 

chaucer

Veteran
Veteran
Joined
Aug 6, 2014
Messages
396
Reaction score
635
First Language
English
Primarily Uses
RMMV
I'm unsure what moverutecore does, but if it does not alter any of the core move mechanics. I.E. the moveStraight fuction there should be no issues.

I'm unsure what VE_Diagonal movement does but i don't think it should be an issue either.

Mouse movement is added however path finding is NOT a part of it. basically you click a location, the player will move straight to it, if it collides with something along the way, the movement is canceled.

Edit: I would imagine adding a parallax map GUI would take some extra work to add in but it'd technically be possible.
 
Last edited:

Spocker

Villager
Member
Joined
Oct 21, 2019
Messages
23
Reaction score
9
First Language
French
Primarily Uses
RMMV
Hi @chaucer

Thanks again!
YEP_MoveRouteCore allows to determine movement route, such as "Move To: coordinate X, coordinate Y" (or "Jump Towards").
And VE allows for diagonal movements, given its name of course ^^
I don't know if those plugins will be incompatible with the "move straight or cancel the movement" that you described.

Well, parallax mapping is the basis to why I'm looking at it, but I don't want to add you work! However, it is a major plugin in itself in my opinion!
 
Last edited:

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
6,691
Reaction score
2,602
First Language
Dutch
Primarily Uses
RMMV
@Spocker as I see Chaucers preview, I think you can add 4 tiles and "map"
it over your parallax map (for diagonal) so it keep you less work?
 

Spocker

Villager
Member
Joined
Oct 21, 2019
Messages
23
Reaction score
9
First Language
French
Primarily Uses
RMMV
@Spocker as I see Chaucers preview, I think you can add 4 tiles and "map"
it over your parallax map (for diagonal) so it keep you less work?

Hi @ShadowDragon ! Yes, I think that's a solution. Are you suggesting what I said here :

I'm trying to imagine if it would be compatible with a bit more work, like putting the parallax map in the tileset database and using the same system of mapping shapes...
It seems like it could work indeed! (I think?)

Or were you suggesting something else by mentionning 4 tiles, that maybe I didn't entirely grasp?
Well one more pixel movement plugin with a proper collision system can only help I think :)

Now yesterday I thought about a solution unrelated to mouvement+collision. I didn't have the time to check yet, but maybe there exist a Show Picture plugin that could draw a collision map and apply it.
If this plugin would allow for the player to still move despite drawing the picture + to be blocked by the picture itself... It could be used as a collision map.
Just another hint that I'll check!
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
6,691
Reaction score
2,602
First Language
Dutch
Primarily Uses
RMMV
I do remember that galve movement diagonal can walk diagonally if you
allow through walls (ideal for diagonally walls) less for block as full square
to dissallow it.

I think if you can make some kind of switch in there ON for diagonally movement
and OFF if you cannot to walk around it (which could work more in your case).

but no idea if it allow mouse movement though.

its just a suggestion otherwise.
 

Latest Threads

Latest Profile Posts

Hello! I’d like to ask where is a good place to start logging about my game dev progress as production of my game goes forth
In one of our campus classrooms was a bag full of stuff people forgot there... my bag. That I forgot there xD
You know your room is too tiny for how much stuff you have when it gives you literal insomnia. I just cleared a bunch of stuff out and man it feels good!
1670381555475.png
Meet the Kernel. You encounter him in cyberspace. He's important!
I released a test version of my game on itch.io. If anyone wants to check it out, here's the link (for now in Brazilian Portuguese only, sorry).

https://rafael-lobo.itch.io/insolita

Forum statistics

Threads
127,094
Messages
1,183,893
Members
167,007
Latest member
nayomitsu
Top