[MZ/MV] KC_Mirrors - Add reflections to your map characters

● ARCHIVED · READ-ONLY
Started by Kelly-inactive 70 posts Page 2 of 4 View original ↗
  1. I hope it's alright to necro this thread, as I have a question about this plugin in particular. If not, I apologize; I'm brand new to these forums.

    As for my question, I saw that you mentioned GALV's reflection script for VX Ace being inspiration for this plugin, and it made me think: I'm using GALV's plugins for MZ in addition to your Mirror plugin, but for some reason it seems incompatible with his Character Frames one. I don't get an error message or anything, I simply have no reflection with his plugin activated. (His other plugins work just fine with it, thankfully!)

    Sadly the way my sprites are set up (more than 3 frames per character), with his Character Frames plugin turned off both my character and their reflection are completely bugged out. Do you have any idea what the interference might be and how to fix it?

    Here it is with both KC_Mirrors and GALV_CharacterFramesMZ enabled
    [embedded media]
    And here it is without GALV_CharacterFramesMZ enabled


    Thank you very much for your time, and for creating such a beautiful plugin!
  2. I'm running both Galv's character animations and KC mirrors too and occasion the sprite sheet splits usually to do with diagonal movement showing much like what you've got going on, the mirror effect seems to work 90% of the time as intended if you place Galv's plugin above this one.
    I'm not an expert at this but I'm going to assume it's something to do with the sprite sheet's configuration for extra animations like idle stepping that conflict with KC mirrors- again assuming KC mirrors is only really designed to work with standard 4 direction char graphics.
  3. heroesofthedas said:
    I hope it's alright to necro this thread, as I have a question about this plugin in particular. If not, I apologize; I'm brand new to these forums.

    As for my question, I saw that you mentioned GALV's reflection script for VX Ace being inspiration for this plugin, and it made me think: I'm using GALV's plugins for MZ in addition to your Mirror plugin, but for some reason it seems incompatible with his Character Frames one. I don't get an error message or anything, I simply have no reflection with his plugin activated. (His other plugins work just fine with it, thankfully!)

    Sadly the way my sprites are set up (more than 3 frames per character), with his Character Frames plugin turned off both my character and their reflection are completely bugged out. Do you have any idea what the interference might be and how to fix it?

    Here it is with both KC_Mirrors and GALV_CharacterFramesMZ enabled

    And here it is without GALV_CharacterFramesMZ enabled


    Thank you very much for your time, and for creating such a beautiful plugin!


    Skurge said:
    I'm running both Galv's character animations and KC mirrors too and occasion the sprite sheet splits usually to do with diagonal movement showing much like what you've got going on, the mirror effect seems to work 90% of the time as intended if you place Galv's plugin above this one.
    I'm not an expert at this but I'm going to assume it's something to do with the sprite sheet's configuration for extra animations like idle stepping that conflict with KC mirrors- again assuming KC mirrors is only really designed to work with standard 4 direction char graphics.
    Haven't been active in these forums as of late, so my apologies for the late reply. I can confirm that this plugin assumes the developer is using the standard walking sprite layout and there was zero testing for compatibility with plugins that alter the top view sprite animation format.

    I'm really happy to hear that people actually want to use stuff I write, so thank you for the interest. It really helps with my often-fleeting motivation.

    I've been meaning to give this plugin a proper rewrite since I was essentially learning how to make plugins while writing it. The code is pretty darn messy as a result. I should've started simpler for my first plugin in retrospect! Since I'm gonna be rewriting it anyway, I'll look into supporting Galv's character frames. I can't promise anything as I haven't actually looked at how his plugin handles the extra frames (writing this reply 60+ miles away from my PC!), but I'll at least make the effort!

    ---------------
    EDIT 24/02/17:
    Moved this project into its own Github repo and released what will likely be the final update to the 1.x version of this plugin (very minor release that just updates the url to point to current repo). Should hopefully be less of a hassle to find old versions now if needed. Otherwise, looking forward to starting on the rewrite proper soon™!
  4. Okay, so the time got away from me again, and I lied about that being the last update to 1.x.

    An update is now out that implements the requested compatibility with Galv's MZ plugins, particularly character frames, character animations, and diagonal movement.

    galv_test_mirrors_small.gif
    The 8 directional walking sprites used for testing were made by Ordinary Bumblebee on Itch.

    If there are any bugs, please let me know.

    Regarding version 2.0, as it turns out, rewriting something from scratch is kind of tedious! I know, very shocking. I don't want a 2.0 to feel like a regression in features, so I decided to put the rewrite on the indefinite back-burner and just work with the old codebase for the time being.
  5. Good to hear that you've decided to make an update, I shall personally give this a test run and see how it works.

    Got around to updating the plugin within my project, upon new game during play test this crash report occurred, not entirely sure what is at fault here but considering this only happened when the update was made.

    Very likely case it's a plugin conflict with Galv's shadow darkening, but the previous version had no such issue with it.
  6. Skurge said:
    Got around to updating the plugin within my project, upon new game during play test this crash report occurred, not entirely sure what is at fault here but considering this only happened when the update was made.

    Very likely case it's a plugin conflict with Galv's shadow darkening, but the previous version had no such issue with it.
    Hmm, I think I see the problem (thank you for including the debug console!). Should be just a quick fix. Can you try out this version in your project?
  7. Updated my project with the new version, seems everything is running smoothly and no crash reports.
    I'll continue to do further tests to see if there are any issues and i'll report any findings.

    Just out of curiosity though is this update designed to also be more optimized in the sense of processing etc? I am curious what the actual limits of reflections would be considering I intend to have many spawned events that would be making reflections.
  8. Skurge said:
    Updated my project with the new version, seems everything is running smoothly and no crash reports.
    I'll continue to do further tests to see if there are any issues and i'll report any findings.

    Just out of curiosity though is this update designed to also be more optimized in the sense of processing etc? I am curious what the actual limits of reflections would be considering I intend to have many spawned events that would be making reflections.
    That was just a quick fix to make sure I fixed the compatibility issue. The full release does actually optimize the wall reflections a bit.

    Calculating the reflections isn't free, but even on the demo's performance test (a 256 * 256 map with 500 events that have both wall and floor reflections) and a CPU throttled to half its max speed, my framerate never went anywhere near 60, staying above 130 most of the time (and with an unthrottled CPU, the stress test stayed around 165, which is the maximum framerate the engine will run on my PC). Sure, I could test it with, say, 1000 or 2000 events that have both, but (a) I don't think that's the typical use case and (b) creating that many events in the editor is tedious lol.

    I don't have a super low spec PC to test on admitedly, so my own tests may be inaccurate, but I feel confident that the current implementation is "fast enough" for most projects. If it isn't though, I can always revisit the code.
  9. Seems pretty good to me, my computer is technically "out of date" considering I think it's as old as 2017? I forget. But performance wise it seems to handle quite well, if you do intend to review the code to make it more optimized that would be incredible eitherway.

    Since you might like to see your plugin being used, I got a screen cap that make quite atmospheric environments.
    adaddadad.png
  10. Just popping in to say that 1.4.0 is in development at this time. I'm finally getting around to doing something that's been on my mind for a while with this plugin. Namely, MV support. The main hurdle to making that happen was my initial decision to make PluginCommonBase a requirement. Other, smaller hurdles, included me using a few features of pixi.js and JavaScript that were only supported on the newer versions that MZ came with. So I've slowly been working on making this plugin cross-compatible by targetting those things.

    Today, I achieved a bit of a milestone toward this goal.
    Screenshot
    Screenshot 2024-03-19 at 12.05.06 PM.png
    MV with wall and floor reflections!
    There's still a lot of work to be done (MV plugin commands, making sure I don't accidentally break MZ in the process, making an MV demo, updating the MZ demo, and so on...), but I feel good about how it's going so far!
  11. KelIy said:
    Okay, so the time got away from me again, and I lied about that being the last update to 1.x.

    An update is now out that implements the requested compatibility with Galv's MZ plugins, particularly character frames, character animations, and diagonal movement.

    View attachment 297589
    The 8 directional walking sprites used for testing were made by Ordinary Bumblebee on Itch.

    If there are any bugs, please let me know.

    Regarding version 2.0, as it turns out, rewriting something from scratch is kind of tedious! I know, very shocking. I don't want a 2.0 to feel like a regression in features, so I decided to put the rewrite on the indefinite back-burner and just work with the old codebase for the time being.
    So glad to see you offering support on this after all this time! I'm close to making an attempt to get this into my project which uses pixel movement and non-standard size characters so that's probably going to be a fun time haha.

    Shall let you know if I can get it working though!

    And yes, 2.0 on a plugin you did ages ago is full-on nightmare juice
  12. Just discovered something, it would appear event reflections remain after being commanded to erase -at least spawned events using Galv's spawned events.

    Would you mind looking into this?
  13. Skurge said:
    Just discovered something, it would appear event reflections remain after being commanded to erase -at least spawned events using Galv's spawned events.

    Would you mind looking into this?
    I've implemented the requested fix. Please let me know if you find any other bugs.
  14. Can confirm the reflections disappear now along with the event, well done!

    Just thought of a suggestion to help with performance, is it possible for reflections only to be relevant in a proximity? Like they only display if they are within a set range of the player or the screen?
    I don't know how/if they render off screen but it could be helpful for large populated areas.
  15. Just randomly thought of this suggestions during a playtest that has water on the floor.
    Would it be possible to have actors/enemies display reflections in battles?
  16. Plugin version has been bumped to 1.4.0 (and now 1.4.1).

    First minor version in two years! Where did the time go?

    Biggest new feature to be added is the much-belated RPG Maker MV support.
    MV Screenshots
    mirrormv1.png
    mirrormv2.png


    The big obstacles in supporting MV were the PluginCommonBase dependency and re-implementing all the plugin commands MV style. Very fun untangling the codebase to make this possible hahaha

    Praying I didn't break anything in the process, but it's very possible I did (as demonstrated by the fact that we are already on patch version 1.4.1 :hswt:).

    Please let me know if you spot any bugs, whether you're on MV or MZ! Fixing them only makes this plugin better!
  17. The plugin has been working perfectly in MV.

    2024-08-19T01-07-08-577Z.jpg

    But now I discovered a bug, which may be a matter of incompatibility with other plugins. Sometimes it happens, sometimes it doesn't, but it almost always happens, that when I defeat an enemy, I get this error. The ABS plugin I use is QABS.

    2024-08-19T01-07-23-283Z.jpg

    Captura de tela 2024-08-18 221146.png
  18. DerniBorges said:
    The plugin has been working perfectly in MV.

    -snip-

    But now I discovered a bug, which may be a matter of incompatibility with other plugins. Sometimes it happens, sometimes it doesn't, but it almost always happens, that when I defeat an enemy, I get this error. The ABS plugin I use is QABS.

    -snip-
    Thank you for giving my plugin a try and for the detailed bug report! This crash was thankfully simple to reproduce and fix. The crash was related to the loot that drops from your enemies---they didn't have any note data, and my plugin assumed that all events had those. Just had to write a simple check to make sure the note data existed first before trying to read from it. Patch version 1.4.2 is now live on the GitHub releases page.

    Let me know if you find any other issues! :hwink:
  19. Fortunately, it's no longer giving an error after defeating enemies. Congratulations. It's just been having a little problem since version 1.4.1, which is showing the reflections only of other events, but not of the character, even using the "<REFLECT_TYPE:ALL>" note in the character settings.

    1724070575195.png

    One thing I noticed too: if the plugin is below the YEP_CoreEngine plugin, no reflection appears. At least here, the reflection only appears if KC_Mirrors is above YEP_CoreEngine. But, as I said before, it only shows the events, but not the main character.



    The order of plugins I'm using here.
    1724084711865.png
  20. DerniBorges said:
    Fortunately, it's no longer giving an error after defeating enemies. Congratulations. It's just been having a little problem since version 1.4.1, which is showing the reflections only of other events, but not of the character, even using the "<REFLECT_TYPE:ALL>" note in the character settings.

    -snip-

    One thing I noticed too: if the plugin is below the YEP_CoreEngine plugin, no reflection appears. At least here, the reflection only appears if KC_Mirrors is above YEP_CoreEngine. But, as I said before, it only shows the events, but not the main character.



    The order of plugins I'm using here.
    -snip-

    Thank you once more for the bug report; however, I cannot reproduce the bug with YEP_CoreEngine v1.32. Reflections seemed to work as expected with all of the other plugins in Yanfly's Free Starter Pack Essentials too, regardless of whether KC_Mirrors is loaded before or after them.

    So, this incompatibility is not currently resolvable. If you can figure out which specific plugin (or combination of plugins) is causing this issue to occur, I will be more than happy to continue investigating for any possible fixes.