Auto Terrain Minimap

● ARCHIVED · READ-ONLY
Started by Aerosys 38 posts Page 1 of 2 View original ↗
  1. Auto Terrain Minimap


    1696698486476.png

    This simple-to-use plugin renders the map as a minimap on the UI.


    Features
    - The Map is ready to start and doesn't require any extra-steps
    - You, as the game dev, can reposition the Minimap anywhere on the screen
    - The Minimap can be shown or hidden anytime, e. g. when starting a cutscene
    - The Minimap can be disabled in the Options Menu

    This is the free version with a limited feature set, but a full version with more features is also available here: https://aerosys.itch.io/minimap


    Rules
    1. This Plugin is free of charge and can be used in any kind of game.
    2. You may not redistribute this Plugin or claim it as your own.
    3. You may modify this plugin's source code for your needs but cannot redistribute your modifications.


    Get it from here
    https://downloads.aerosys.blog/plugins/MK_Minimap_Lite.js (right-click, save as...)
  2. Awesome, so unlike other minimaps plugins, it doesn't require us to take a global map screenshot and place it on a folder, because this plugin itself does all the job.

    Also in the paid version there's many useful features. However, is it compatible with overlays? What about of those events used as an extra layer or triggered to show a evented map tile? Any comment tag for them to show on the minimap as being tiles and not an event?
  3. Rex Tenebris said:
    Awesome, so unlike other minimaps plugins, it doesn't require us to take a global map screenshot and place it on a folder, because this plugin itself does all the job.

    Also in the paid version there's many useful features. However, is it compatible with overlays? What about of those events used as an extra layer or triggered to show a evented map tile? Any comment tag for them to show on the minimap as being tiles and not an event?
    Thanks for your feedback!

    If you are referring to the Map Parallax, then yes, the full version renders the Parallax, too.

    When you choose an Event to represent itself as Tile B, C, D, ... then the Minimap will render it accordingly and no special tag is required. Even the Lite version does it this way.

    Let me know if you want to render an Event as a character sprite on the Game Map but as a Tile on the Minimap, and I can add this as a new feature.
  4. Edit:
    I am using RMMV.

    Hey there!

    I'm using your MK_Minimap plugin, not the light version. Forgive me if this is the wrong thread. Let me start by saying your plugin is fantastic, and I have my heart set on using it in my game.

    I have configured the settings to run "Fog of War" in dungeons, and it works as expected. Thank you!

    That said, on my world map, I want to run the project with a minimap without the fog of war, but currently, it causes in-game lag on the world map that never existed before using this plugin. Details on my game/world map configuration are below.

    1. I am running UltraMode 7.

    2. It is a large map; though this has not previously been an issue, it is worth mentioning it is 240 x 214.

    3. I highly doubt this is a hardware issue; without going into details regarding my PC hardware, it is a decent gaming PC that I built, which can run every new game I've installed on my PC on the highest graphics settings with zero lag. If I'm having issues, someone with a lower-end machine would be cursing my game. Like most game makers, I consider how things would run for my players, not my system.

    4. I also use Galv's layers plugin to add cloud effects to my world map, though I chose not to use your extension plugin because I don't want it on the minimap.

    5. I have a few parallel events that run, but they are set to "erase event" and are adequately managed to prevent process lag.

    6. I'm not using the parallel mapping setting.

    All things mentioned, I was hoping you might know of a way to reduce lag on larger world maps or if you have assisted other devs with similar issues.

    Thank you for your time!
  5. Hi @Guy_Fightmaster ,

    thanks for your message! It took me a while, but now I just released a new update to mitigate those performance issues.

    The Minimap now supports mipmapping so that you can add pre-made downscaled tileset image files. Before, having a map of 200x200 tiles actually meant that a bitmap of 200x48x200x48 pixels was calculated. Now, you can downscale the tilesets by the factor of e.g. 8 to drastically reduce the number of pixels to calculate.

    Read more: https://aerosys.blog/minimap#10-mipmapping

    It helped me already a lot! Tell me whether it's working better for you now!
  6. Aerosys,

    First, thank you so much for this update!

    I updated the plugin.

    Then, I created the folder you suggested, “/img/tilesets_8x/” and scaled down my world map tilesets in that “8x” folder from the default 768x768 and 768 x 576 to 96x96 and 96x72, which is hopefully what you meant by a factor of 8 = divide by 8??

    Unfortunately, when I boot up my game, it crashes, which never happened before. Hopefully, I did not miss something or misunderstand the instructions.

    Edit update:
    I am using the dot for the player and vehicle locations, not icons or images.

    Crash log below.

    Code:
    MK_Minimap: Error messages such as "File not found" may appear. They are only relevant when using RPG Maker MV AND you are planning to publish your game as a browser game. In this case, you must ensure that all ressources are available when uploading your game. Otherwise, you can safely ignore the messages. For more info, please visit: https://aerosys.blog/Minimap
    rpg_core.js:2423 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
    Graphics._testCanvasBlendModes @ rpg_core.js:2423
    pixi.js:29132
        PixiJS 4.8.9 - ✰ WebGL ✰      http://www.pixijs.com/    ♥♥♥
    rpg_core.js:1197 Canvas2D: Multiple readback operations using getImageData are faster with the willReadFrequently attribute set to true. See: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
    Bitmap.getPixel @ rpg_core.js:1197
    MK_Minimap.js:2339 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'meta')
        at Sprite_Minimap_Player.getIconIndex (MK_Minimap.js:2339:19)
        at Sprite_Minimap_Character.updateModeIfRequired (MK_Minimap.js:1912:36)
        at Sprite_Minimap_Character.update (MK_Minimap.js:1897:10)
        at rpg_core.js:4068:19
        at Array.forEach (<anonymous>)
        at Sprite.update (rpg_core.js:4066:19)
        at Sprite_Minimap.update (MK_Minimap.js:1669:29)
        at rpg_core.js:4068:19
        at Array.forEach (<anonymous>)
        at Sprite.update (rpg_core.js:4066:19)
    YEP_CoreEngine.js:1098 TypeError: Cannot read properties of undefined (reading 'x')
        at Scene_PretitleMap.eval (eval at customFunction (js/plugins/MK_Minimap.js:1:1), <anonymous>:6:30)
        at Window_Minimap_Bottom.updatePosition (js/plugins/MK_Minimap.js:2547:49)
        at Window_Minimap_Bottom.update (js/plugins/MK_Minimap.js:2519:10)
        at rpg_scenes.js:262:19
        at Array.forEach (<anonymous>)
        at Scene_Base.updateChildren (rpg_scenes.js:260:19)
        at Scene_Base.update (rpg_scenes.js:113:10)
        at Scene_Base.update (js/plugins/SRD_SuperToolsEngine.js:2642:23)
        at Scene_Map.update (rpg_scenes.js:596:33)
        at Scene_Map.update (js/plugins/YEP_CoreEngine.js:1425:32)
  7. @Guy_Fightmaster Oups, did a typo. Apparently, your party was empty at that point? Anyway, I quickly uploaded a patch. When it still doesn't work, you can also PM me.

    Guy_Fightmaster said:
    which is hopefully what you meant by a factor of 8 = divide by 8??
    Yes. Make it 8 times smaller than they were before.

    I also recommend downloading the sample project when things are unclear: https://aerosys.blog/downloads (scroll to "Freebies")
  8. Aerosys said:
    @Guy_Fightmaster Oups, did a typo. Apparently, your party was empty at that point? Anyway, I quickly uploaded a patch. When it still doesn't work, you can also PM me.


    Yes. Make it 8 times smaller than they were before.

    I also recommend downloading the sample project when things are unclear: https://aerosys.blog/downloads (scroll to "Freebies")
    Edit: Everything works perfectly, and the lagging has improved. Thank you very much! You're a rock star! ;)
  9. Wow this is great! Before I buy does anyone know if events spawned by Galv_Eventspawner will render in the minimap? In the lite version they do not appear to do so, at least in my project. Everything else appears to work perfectly and with good performance. I am using MV version.

    Galv's Event Spawner
  10. twosnakes said:
    Wow this is great! Before I buy does anyone know if events spawned by Galv_Eventspawner will render in the minimap? In the lite version they do not appear to do so, at least in my project. Everything else appears to work perfectly and with good performance. I am using MV version.

    Galv's Event Spawner
    I can make a patch so that spawned Events are rendered, too


    EDIT:
    Hey @twosnakes , I just uploaded a patch to render spawned Events coming from any Plugin (regardless of whether GALV, VS, YEP, ... Event Spawning System); do you mind trying it out?

    This patch is not exclusive to the paid version but is available for everyone!
  11. Aerosys said:
    I can make a patch so that spawned Events are rendered, too


    EDIT:
    Hey @twosnakes , I just uploaded a patch to render spawned Events coming from any Plugin (regardless of whether GALV, VS, YEP, ... Event Spawning System); do you mind trying it out?

    This patch is not exclusive to the paid version but is available for everyone!
    It works! Will do more thorough testing tonight after work and get paid version. Thank you so much for patching so quickly and generously including it in lite version.
  12. MV 1.2.5
    I am experiencing a strong drop in frame rate with the paid version. I've tried playing with the zoom, blinking and fog of war settings but no luck with regards to performance.

    Also events don't appear to render properly or at all when moving tiles. I am using pixel Qmovement.

    None of these issues existed/persist when I was using the lite version!? All I really need is fog of war and hide sprite options.
  13. Sorry to hear,

    have you already tried with all other plugins disabled? Have you tried it on a smaller map?

    What do you mean with "moving tiles" ?
  14. Have not tried all plugins yet (have quite a few so will take me some time to test). Performance is definitely better on smaller maps.

    I meant events movement in general. Static events render just fine.

    Fog of war seems to be the main culprit. Performance is improved (but still worse than lite version) and moving events render just fine if fog of war is off.
  15. is there a way to show/hide and expand/minimize with script or plugin instead of with hot key?

    Once Galv spawned events start moving, they no longer render on the minimap if fog of war is on.

    Still working through all the plugins I am using to find where there is a conflict. As expected turning off community lighting improves performance drastically (can't do without in my project).

    I'm assuming how the plugin handles rendering is different vs lite version? Lite version runs so well in my project :(, but would love these full version features! I tried changing settings to essentially mimic the lite version but performance is still an issue.
  16. twosnakes said:
    is there a way to show/hide and expand/minimize with script or plugin instead of with hot key?
    Yes, the JS snippets are here: https://aerosys.blog/minimap#23-javascript

    twosnakes said:
    Once Galv spawned events start moving, they no longer render on the minimap if fog of war is on.
    Okay, I will check that. Technically, the minimap doesn't matter whether an Event is spawned or not.

    twosnakes said:
    I'm assuming how the plugin handles rendering is different vs lite version? Lite version runs so well in my project :(, but would love these full version features! I tried changing settings to essentially mimic the lite version but performance is still an issue.
    No, they are absolutely the same, besides the fog of war and render modes for player and event sprites.
    Can you switch off the Fog of War and try it again? Then, at least, we would know what causes the problem.
  17. Events render properly and performance is better if fog of war is off, but still not as good performance as lite version.
  18. twosnakes said:
    Events render properly and performance is better if fog of war is off, but still not as good performance as lite version.

    I found some potential performance issues and improved them. Unfortunately, I haven't found anything that could relate to events yet.

    Furthermore, I found out that MV is more likely to lag than MZ, so you may want to consider this: https://forums.rpgmakerweb.com/inde...dramatically-improve-game-performance.131620/

    I also welcome you to try out my web browser here: https://play.aerosys.blog/freebies/
    It has a world map with 200x200 tiles, but not that many events, though. It would be helpful for me to know whether my browser game lags for you as well or not.
  19. Aerosys said:
    I found some potential performance issues and improved them. Unfortunately, I haven't found anything that could relate to events yet.

    Furthermore, I found out that MV is more likely to lag than MZ, so you may want to consider this: https://forums.rpgmakerweb.com/inde...dramatically-improve-game-performance.131620/

    I also welcome you to try out my web browser here: https://play.aerosys.blog/freebies/
    It has a world map with 200x200 tiles, but not that many events, though. It would be helpful for me to know whether my browser game lags for you as well or not.
    How often is the minimap refreshing/updating? is there a way for the user to customize it? For example once ever 60 frames?

    Yep did this njws upgrade long ago with very noticeable positive results.

    Your browser game has no lag for me.

    So far disabling plugins one by one hasn't resolved anything. # of events seems to matter the most, map size seems to have no impact. I am just so confused because the lite version performs so well!
    For example 50x50 map:
    lots of events + paid version = lag
    lots of events + lite version = no lag
    no events + both versions = no lag

    Thank you for trying to help, hopefully we can get to the bottom of this soon.
  20. Version 1.2.9 is now out to resolve some more performance issues!

    twosnakes said:
    How often is the minimap refreshing/updating? is there a way for the user to customize it? For example once ever 60 frames?
    • The minimap is refreshed only when something happens (e.g. Tileset changes).
    • Same for Event sprites. They are refreshed when the corresponding Event changes its appereance. Furthermore, Events are positioned 60x a second on the minimap, but that shouldn't be expensive.
    • The fog of war is refreshed when you move (change your position)
    I tried it on MV without the Node upgrade, using a 200x200 map having 200 Events, on my potato Lenovo laptop that even dies when trying to launch Minecraft :kaoback:... and I still had 60 FPS.

    Let me know if the lagging persists for you, in that case I will implement customization features to reduce the refresh rates of events.