GGZiron's Minimap V.1.2.0

GGZiron

Veteran
Veteran
Joined
Nov 6, 2016
Messages
75
Reaction score
25
First Language
Bulgarian
Primarily Uses
RMVXA
GGZirons's Minimap
  • Script name: GGZiron's Minimap

  • Author: GGZiron

  • Get the script: From GitHub.

  • The previous version(just in case): From GitHub

  • Purpose: Adds Minimap on the Scene Map, to be used for navigation.

  • Engine: RPG Maker VX Ace

  • Compatibility: Check it yourself, for your project :).

  • Version: 1.2.0

  • Last Update:
    Version 1.2.0 Released on 06/09/2019
    *Now it use better method to scan the entire map passability at once, which
    improves the performance.
    *Add passability data into cache, to make map drawing faster(needed
    for map revisit or for vehicle change). More about caches in settings.
    *Fixed some script calls.
    *Fixed some bugs.

  • How easy to use:
    From medium to hard, depending how much of the settings
    you plan to change. Even if none, you gotta place comment tags for events,
    if you want them drawn on minimap, and check the toggle option with button,
    as the probability to like the default is not too high, especially if you
    love to dash in debug through during play test.

  • Comment tags(used within events):
    <minimap normal color>
    Will draw default color for the event, if that comment tag is on the active page.

    <minimap color n>
    Will draw color n from COLORS hash for the event, if that comment tag is on the active page.You can add more entries in the COLORS hash. The letter n is the key for the color.
    Example:
    <minimap color 6>
    Will use color with key 6 from the COLORS hash.

    Comment tags are case sensitive, and spacing between characters must remain same.

  • Script calls:
    Asside of Input buttons, minimap visibility can be
    changed with script call too. It is one if those two:

    Minimap::enabled = true
    Minimap::enabled = false

    The first one enables it, the second one disables it.

    Minimap::map_list_add(map_id)
    Minimap::map_list_add(map_id_1, map_id_2, map_id_3, ... map_id_n)

    Adds to the maps list(see more about it in general options) all the entries. Would those maps be displayed or ignored, depends from MAPS_LIST_FORBID, which you set in settings.

    Minimap::map_list_drop(map_id)
    Minimap::map_list_drop(map_id_1, map_id_2, map_id_3, ... map_id_n)

    Drops entries from the maps list.

    Minimap::update_when_disabled = false
    Won't draw and update maps when they are hidden.

    Minimap::update_when_disabled = true
    Will draw and update maps even when they are hidden.
    If currently hidden, the minimap will be drawn on that script call,
    unless is forbiden to show by maps list.

    If you need to redraw minimap entirely, because it happens something that
    my minimap didn't react on, you can use this script call:
    Minimap::redraw_area
    Redraws entire map.
    In earlier versions i provided Minimap::draw_map, but that will not work
    anymore. That so because while it will draw map again, it will use the old
    passability data. So, use Minimap::redraw_area instead, if other script
    changed terrain, regions, terrain tag or damage floors.


    Minimap::set_refresh_flag
    Also redraws the minimap, but is done on the next Minimap update.
    Uses old passability data, so will not redraw map.

    Minimap::redraw_area(x1, y1, x2, y2)
    Doing that, the script will redraw only tiles between x1 and x2,
    and tiles between y1 and y2 (An rectangle area).
    The coordinate x2 can be same as x1, and y2 can be same as y1, so to redraw
    only one tile. Coordinates x1 and y1 must be same or smaller value than x2
    and y2, otherwise the redraw request will be ignored.
    With version 1.2.0, that script call is tested and fixed.

    There are more script calls, which you can find in the Script calls header inside the script.

  • Features:
    *Kinda simplified minimap, but not simple on features.
    *Draws passable area.
    *Draws impassable area.
    *Option to set or unset buttons for toggling minimap visibility.
    *Draws partly passable as passable, but then draw impassable line on the
    edge of the tile. You will see what I mean if you test ladders, walls
    with walk-able upper floor, ladders, bridges and so on.
    *Draws events, but not by default. You need to put comments with certain
    formation, similar like in the notetags. Also, while there is default color
    for the events characters, you can set to use different one, to make
    characters standing out of the crowd(quest NPC, point of special interest).
    *Player input options.
    *Option to draw regions and terrain tags too.
    *Draws damage floor.
    *Updates player and event movement on straight move, diagonal move, jump,
    set position.
    *Redraws passage map on changing vehicle, according the new passability.
    For example, riding boat will turn all water tiles as passable, and all
    ground as impassable. Region and terrain tag, same as damage floor,
    remain unchanged.
    When using airship, will draw the land ok tiles, instead passable tiles.
    Otherwise riding airship would mean to have one color minimap, with no tiles
    within, as airship can pass through everything.
    *Option to change the character object priority. Priority is used so if
    two objects are within same tile, it will draw the color of the one with
    higher priority. Objects are: player, events, damage floor, region,
    terrain_tag, vehicle. When two events share a tile, it will draw the one
    with higher id number.
    With version 1.1.0, objects are on two groups: characters and tiles.
    *Configurable minimap size; transparency; x, y and z coordinates.
    *Reacts on loop maps, as then the minimap loops too.
    *Option to determine how deep to look in event commands for the needed
    comment tags. In ideal case, should be set to look only the top one
    comment, but if there is other script requiring comments to be on top,
    then you can set to look for second command or third and so on.
    Merging same comment to have many tags for the different scripts is option
    too.
    *With version 1.1.0: Maps List. See in general options about it.

    One feature that is NOT included (for now), is drawing the followers.

  • Screen Shots:
    Indoor. See wall and ceiling floors.

    Outside. See wall here too. Ladder is reflected.

    About to ride a boat.

    On boat now. Map redrawn with new passability.

    And now, on airship. As on airship everything is passable, the black tiles here are the tiles
    where the ship cannot land.

  • Author notes:
    Why I made minimap script: Just recalled how much I wanted to have one before, but couldn't find.
    I recalled that after trying to do fix for other minimap script, but didn't got anything from there.
    My script works differently.
    As that is my initial version, you might want me to patch it a little before including that into your project.
    As my University semester starts, I won't be able to do big fixes for some time, but might be able to do minor ones.

  • Possible issues:
    Aside everything else that could go wrong, it could affect the game performance. But if it is affected too much, then there is incompatibility with other script, or flaw in my script design, that is triggered from other script.
  • Known script flaws:
    Works kinda slow for very big maps. Also, it consumes a lot of memory. With the default TILE_SIZE (given in settings) in 500 x 500 map, a default project would eat nearly 80 mb operative memory, when without my script on same map it takes only 35 mb. That is so because it draws one large bitmap. To prevent that, I guess I should write some sorta tile map, but so far I couldn't figure how to make one, and cannot use the engine's Tilemap for the minimap. With not too big maps I believe this flaw won't be a deal breaker.

    Other known flaw is with the looping maps. While minimap itself will loop properly, the event characters will not. They would appear suddenly on their spots only after the player is relocated at the oposite end.

  • Terms(updated):
    Free for non commercial and commercial projects.
    Sending me a copy of your game would be very appreciated,
    but is not mandatory. With terms update, that so even for commercial
    projects. You have to credit me as GGZiron.

    Not allowed to repost, only allowed to post link to this script tread in
    RPG maker forum.
    Allowed to edit, and allowed to post your edit, but together with link to this
    script tread in RPG Maker forums. Not the case if the very post is within
    the tread of this script in RPG Maker forums, then link not needed.
 
Last edited:

Wavelength

Pre-Merge Boot
Global Mod
Joined
Jul 22, 2014
Messages
4,588
Reaction score
3,836
First Language
English
Primarily Uses
RMVXA
Looks REALLY cool! Congratulations!!
 

Roninator2

Gamer
Veteran
Joined
May 22, 2016
Messages
1,850
Reaction score
407
First Language
English
Primarily Uses
RMVXA
This is a step up from another mini-map I use, but it is missing one thing that would prevent me from using it in my project.
The other mini-map script lets you specify what maps to hide it on by specifying <> tag in the map note-box.
If you can put that in then I'll certainly look into adding it to my project.
Otherwise, this looks pretty nice.
Well done
 

GGZiron

Veteran
Veteran
Joined
Nov 6, 2016
Messages
75
Reaction score
25
First Language
Bulgarian
Primarily Uses
RMVXA
Thank you for the feedback.
@Wavelength: Hope it behaves as it looks. I am really glad you like it.
@Roninator2 , I had exactly that feature in mind to add in future updates. Just still thinking how exactly to do it.
In some games (like Kingdom Hearts), the minimap won't display until you get a "map" item. I definately would add it in one way or another, so be sure to look for updates.
I am glad you like it too :).

Edit: Just realised the player on minimap doesn't move smoothly.
That made me realise the way I add objects in the minimap is wrong. Will work on it when I get the time.

New edit: With my new update, player moves smootly. Changed terms(little less demanding).

@Roninator2 , added the feature you mentioned, but in my script is array with map ids, and additional variable that set if maps within to be allowed, or forbiden. The map list can be changed in game too, via script calls. Forbiden maps will not update and not draw until you unforbid.

So many new stuffs, so I would be more surprised if there is not some lurking bug, but so far didn't found any.
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

I really need to stop thinking there are new freebies just because someone made a new post in the freebies subforum lol.
AND just like that..... I got STEAM DLC up and working! YES!
Game making is like a marathon, except the last 1/4 is more like sprint... a very long and intense sprint.
Finally got to finish the demo for my project!
Another week has gone by. Maybe you made changes to your project/s. Maybe you didn't. Nonetheless, THAT IS NO EXCUSE TO NOT BACK THEM UP O_O!

Forum statistics

Threads
93,440
Messages
912,431
Members
122,963
Latest member
curos
Top