Quasi Movement

● ARCHIVED · READ-ONLY
Started by Quxios 657 posts Page 6 of 33 View original ↗
  1. On the topic of Terrax Lighting System... Hudell made his own version from what I can see, compatible with his time systems and such. Same problem happens - a character/an event moves, but the light stays in place.

    Could you possibly take a look and see if it should be edited the same way?
  2. Sure, I was able to make an actual patch with this one since he made the needed stuff public.

    https://gist.github.com/quasixi/de232cd33c9c4fb75c4a

    I knew that onPositionChange method would come in handy eventually since it was petty hard to get a real "if moved" working with pixel since most of its moves would be single frame.

    Edit: I'll keep the poll up for a few more hours, but already looks like I'll be making the editor, so I'll start looking into how windows are handled in MV.

    I also want to correct myself in a few previous statements on Quasi Sight.

    1. I think I said the length is the diameter of a circle, which is wrong. the Length is the radius. And Apparently the length for a box is also just half the box lol not sure why I did that.

    2. I tested again with the experimental Convert and I lied. It actually handles it better then I assumed! Just what ever you do, do not, I repeat, do not toggle Show Boxes while the Show Sights setting is true and when Convert is true. Found out the massive lag was from drawing all the hundreds of shadows. But when it doesn't need to draw all the shadows its playable! but there are a few frame drops ( I drop about 5-10 frames going in and out of a shadow), which can also depend on the users pc specs and how complicated the collision map is.

    If the collision map is "Blockly" then you probably won't see any frame drops, and might actually run better then default tileboxes because the less boxes the faster the performance.
  3. When my character dashes on collision maps, he can go through 1-3 pixel width collision lines, but the problem doesn't occur with he is walking to them or dashing through 4 pixel+ lines. My character's normal walking speed is 5 and the dash speed is 6.

    Is there a way to adjust so that dashing is more sensitive to 1 pixel width collision lines, or is that just the way the movement system is handled?

    Also, Quasi, from what you stated above, does that mean events from sight addon now interacts with collision maps and without much lag now?
  4. Ah yes, that's a problem I completely forgot about. I optimize the collision maps so it doesn't check the whole area of the characters box. Instead it checks the 1 row of pixels in front of the character. I can't recall the exact number, but I think when a character is dashing he moves about 5-6 pixels ( also depends on grid size ), so the minimum size in the collision map should be about 5-6 pixels, which is why some of my tile boxes have 6 pixel edges instead of something smaller.. Only thing I can think of to "fix" this is to increase the area checked, maybe checking 2-3 pixels in front instead 1, but not sure if it'll effect performance, but I can add as an optional option.

    Yes and no. it depends on how detailed your collision map is. If it's something like:

    http://i.imgur.com/VrLgEwL.png
    ( Very blocky )

    Then it'll performance just as good as with tiles, maybe even better.

    But if you have something like:

    http://i.imgur.com/pj6O8tj.png

    ( Lot of angles and curves )

    Then you'll notice some performance issues

    Of course to even be able to test it you have to turn on the "Convert" Option in Quasi Movement. It will convert the image into a bunch of boxes ( which might actually fix your 1-3 pixel line issue ) But of course that convert is still experimental and I never really completely finished it since it adds extra loading time to maps. I need to add a caching function so it can save the converted image into a data file, so you wont have to convert every map load. I also think it is slightly off when converting too, can't recall.

    Edit:
    Easy JSON Editor is up:

    https://github.com/quasixi/RPG-Maker-MV/blob/master/Scenes/QuasiEZJSON.js

    Requires:

    http://forums.rpgmakerweb.com/index.php?/topic/51087-quasi-input/

    You can now create region boxes in there without worrying on creating the JSON incorrect. I also just noticed I forgot to add in Depths.json, Which I'll do in a min.

    For Region Boxes you will still need to edit the files after to set the real region id

    Example:

    Lets say I created a region box in the json editor. Now I'll go find that data file and open it with any text editor, I prefer to use Atom Text Editor, or even Notepad++ over notepad. Once it's open you should see something like:

    { "RegionId0": [ { "width": 48, "height": 48, "ox": 0, "oy": 0, "tag": "<noshadow>" } ]}Now just rename that RegionID0 to the real region id you want to use this for, in my case I want this as region id 2, so I'll change it to

    { "2": [ { "width": 48, "height": 48, "ox": 0, "oy": 0, "tag": "<noshadow>" } ]}Then save it and close.
  5. I finally got to thoroughly test out doing an enemy encounter system today and it works great!

    Does the 1.09 version include the stop event on message patch or is there a way to make the enemies stop moving and swarming over me when I'm opening a chest with a message? 
  6. I think I released v1.09 before that request. I haven't updated in awhile because I've been changing a lot of the functions in movement to get it to play nicer with upcoming plugins which you can see previews off my twitter.

    So for now I'll just release it as an add on:

    https://gist.github.com/quasixi/fd1bd9a173d04d0dd4dc

    To lock an event during a msg, just add the <lockonmsg> as a comment or if you want it global ( all pages ) set it in the notes. I didn't really test it much, but hope it works as intended.
  7. Thank you very much. It works! :)

    EDIT: I noticed one bug from that EventLock patch is that if there is a line of NPCs and I talk to one of them, everyone would face my direction as if I was talking to all of them as well.
  8. Yeah I've confirmed that just now. I'll work on a better fix. Later today I'll be releasing a newer version of Movement, Sight, maybe pathfind? need to check githubs version. I'll also be adding 2 new addons, maybe today:
    Movement Plus - basically moved some options from Movement into this one and added some extra options, that deal with movement. ( will include the stop event on msg )
     
    Other one isn't really an addon, but you will need it if you want to use the "show sights" options in my Sight script. It just enhances the performance of showing polygons so you can have like 100s of polygons and not have it affect your frames. This addon will be a requirement when my lighting plugin is done, so guess I'll get some initial testing before then.
     
    Edit:
    New to Movement 1.10:
    <bush> Region note now properly works and is passable.
    Bush Depths works betters.
    .stillMoving() can now check if player is moving during pixel moves.
    Colliders are drawn with PIXI, makes Show Sight testing to not lag ONLY if you have QuasiStage.js installed.
    https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiMovement.js
     
    New to Sight 1.01:
    Rewrote some of the updateSight() to cache tileboxes for better performance.
    Sight will run sightly better on a Converted Collision Map. But still not good enough on complex Collision Maps.
    Also fixed some types such as length for circle being diameter when it was the radius.
    https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiSight.js
     
    New addon - Movement Plus:
    New addon that adds a few extra features to Movement such as; Extra Interaction distance, auto dash on Mouse click, player faces towards Mouse and event locking during a Message.
    This plugin will also be used for 8-dir sprite support, once there's 8-dir sprites.
    https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiMovementPlus.js
     
    New plugin - Quasi Stage:
    Note that this plugin is not required!
    This plugin puts Windows into their own rendering Stage. This allows scripters to use PIXI without having to cache as bitmap. This script is highly recommended if you want to use Show Sight.
    This plugin will also be required for a future Lighting plugin. The lighting plugin will include shadow casting! Meaning It'll look something like:
    CUdRwPuUcAA_xMk.png
     
    But Black instead of red, and some gradients as well.
    https://github.com/quasixi/RPG-Maker-MV/blob/master/Systems/QuasiStage.js
     

    Edit:

    Demo has finally been updated at well. It now includes the sample Sight maps.

    https://www.dropbox.com/s/0f6l7v37cl1g2sv/Demo.rar?dl=0
  9. I don't know if I asked for it before but, could it be possible to toggle on/off the collision maps with a switch? Would be a nice feature.
  10. Great work! I'll update you if I find any troubles with some functions!!! =)

    @Siul: there might be a way to put this idea into practice, but I'm no scripter unfortunately. I did modify the movement plugin a bit though while experimenting to be able to switch between different collision maps using script calls in an event! It looks like so:




    Try having a look inside the plugins and experiment if you do have the time! =) I wish I could try and do it for you, but I have no idea how to make this work with a switch! xD
  11. @Siul Yes it'll be possible. I'll probably add in the function to Movement Plus. But like basicleader did it would be a script call not a switch. I don't like using switches / variables for scripts because I feel developers already use enough switches / variables for eventing, rather not giving them 1 more switch to worry about.

    @basicleader Keep up the good stuff! I'll try to help you when I can.
  12. Thank you, Quasi. The EventLock facing is fixed now.
  13. I'm doing back flips in my living room. This plugin has just rocked my face off. THANK YOU, a million times, thank you!

    As my project matures, I'm sure I'll be pm-ing you about that license. Seriously, this is a game saver.
  14. Hello Quasi, I noticed that the player still faces the mouse when the parameter is still set to false.
  15. Oh you're right, I completely forgot to actually use the parameter in the script lol. I'll have it fixed once I have time today.

    Edit: It is now fixed. Updated version is public on github
  16. Quasi said:
    @Siul Yes it'll be possible. I'll probably add in the function to Movement Plus. But like basicleader did it would be a script call not a switch. I don't like using switches / variables for scripts because I feel developers already use enough switches / variables for eventing, rather not giving them 1 more switch to worry about.

    @basicleader Keep up the good stuff! I'll try to help you when I can.
     Totally agree, just notice us ^^
  17. I got my sight working with Collision Maps now.

    Spoiler
    yhSAWZ5.png
    But I just need some of you art people that are using collision maps to message me, so we can find an easy way for you guys to set the points. For my test I just opened Gimp and used the path tool and traced both shapes, opened the paths window and exported my path and got all the points from that file ( I made a script to convert the gimps path file into json ) The path also HAS to be created in a clockwise motion, if you go counterclock wise the shadow will project completely wrong.

    This same json points file, is also going to be needed for the future lighting plugin so any help with easier point setting will be appreciated. 
  18. This does not happen during play testing, so I only found out today when I deployed my Windows.exe on my map with an enemy encounter:

    lag_zpsuq7opjve.jpg

    Here are settings for the enemy encounter:

    Page 1

    <sight=box, 250, A>

    Page 3

    <sight=box, 250, B>

    If I delete <sight=box, 250, A> or move it to Page 3 where it's not read at the beginning of map load, this error does not occur in the .exe.

    I removed <lockonmsg> tag and disabled Movement Plus to make sure it wasn't that tag or addon that was causing it.
  19. Okay I was able to recreate it. Took a while to figure out how to open the console in the .exe to see the exact error. My error was caused from it trying to show the colliders. So did you have the "Show Sight" option true? When I set it to false, it seemed to be running.

    I'll patch that up so it'll set itself to false is you're not testing. Unless you are trying to show the sight during the deployed version? If that's the case I'll have to allow colliders to be shown when it's not testing.
  20. I had the "Show Sight" option in QuasiSight set to false and am using the latest version.