[New plugin] Multi Level Map (x, y, z)

Discussion in 'JS Plugin Releases (RMMV)' started by Fhntop, May 11, 2017.

  1. Fhntop

    Fhntop Villager Member

    Messages:
    28
    Likes Received:
    22
    First Language:
    Spanish
    Primarily Uses:
    RMMV
    Introduction
    Hi everyone!
    I'm pretty new to the forums and the RPGMaker community, so please tell me if this post needs some fixing.
    I've been scripting for a while now, working on a project of my own. One day YouTube recommended me a tutorial video on how to make a bridge on MV that you could either cross by climbing stairs, or walk from the ground, hiding the character as it went through it. I found quite odd that there was no plugin that extended the (x, y) position to (x, y, z), so I started to work on one.

    It took me a couple of weeks to find a way to insert that extra dimension that would not "visibly" break the compatibility with other plugins. That said, I've only used 4 or 5 plugins so far, so I'm not sure how compatible it actually is, I can only hope :p

    Basically, it still uses (x, y) but every (x, y, z) goes to (2 * w * z + x, y) for z > 0 and (2 * w * (-z) + x, 2*h + y) for z < 0 (z < 0 is untested). So have in mind that you could have issues with the coordinates when using it.

    An idea on the way it works is presented on the .js if you want to read it. It also has a list of known issues and stuff that haven't been tested. I've also included there an idea on how to make it work with the old QuasiMovement plugin for pixel movement, which I still use on my game.

    The thing is, I want to try things that I'm pretty sure would break compatibility with a lot of stuff out there. At the same time, I made this plugin to share it with the community. Eventually, I decided to release as-is in current state. This means I won't be working on new features nor fixing errors on the public version anymore. Instead, I'm allowing anyone to use, copy and modify as much as they like. It can be used for free in commercial and non-commercial games, as long as you credit me ( and maybe send me a link to see your game :D ).

    Any changes you make don't have to be shared. Also, I'm not sure how to state this but I don't want people to be selling their modifications (if that's possible).

    This is my first public plugin, I hope it can be of use for someone!

    Features
    - Stacks maps to provide a sense of height.
    - Stuff can fall through holes on the Map.
    - Since each level is a Map, it has its own settings for encounters and such.

    Video


    Download
    https://www.dropbox.com/sh/jvr25bvrv8vfu5f/AAD6Mno2p4trE31t8sd4CVd5a?dl=0
    It has the .js and a .zip with a project with no sound and minimum images, which may crash due to that. (If this isn't allowed please tell me and I'll delete it.)

    Note: please use the MultiLevelMap.js (v1.0.1) found on the dropbox folder instead of the one on the .zip. I've removed a couple of console logs and fixed a small graphical error seen on the video when falling and using the stairs. I don't want to upload the whole .zip again :p

    How to Use
    I don't have many plugins to test the compatibility but I think you could place it below Yanfly's plugins.
    Check or change the region numbers for the hole/upwards/downward actions.
    Try a different value for gravity.

    On the Ground Level Map (Z=0), you can stack maps upwards by adding on the notes <ABOVE L />, with L a list of numbers like:
    <ABOVE m1 />
    <ABOVE m1, m2, />
    <ABOVE m1, m2, m3, m4 />
    where m1, m2, m3 and m4 are the Ids of the Maps for Z=1 to Z=4. Example:
    <ABOVE 1, 2, 10, 23, 154, 9001 />
    [UNTESTED] Idem for the lower levels:
    <BELOW m1, m2, m3, m4 />
    where m1, m2, m3 and m4 are the Ids of the Maps for Z=-1 to Z=-4. Example:
    <BELOW 666 />

    On those maps, add this on your note:
    <BASE_MAP m />
    where m is the Id of the Ground Map. Example:
    <BASE_MAP 1 />
    This allows you to place or transport your character to any map, even if it's not the ground level.

    You can set Regions in each map to "teleport" to the above or below Z level, and you can also make holes where the characters will fall until they reach a "non-hole" spot.

    If you have doubts, check the demo project and experiment with it.

    Terms of Use
    You can use, copy or modify any part of the plugin, provided you mention the original Plugin (Multi Map Level) and Author (Fhntop).
    You can use this or any modified versions for free in both commercial and non-commercial games, as long as you credit the original Author (Fhntop). In the case of using a modified version, the Authors of that version can also request credit and please also respect their Terms of Use.
    Any modified version of this Plugin must conform to these Terms of Use and should not be commercialized.

    Credit and Thanks
    Fhntop

    Extra notes
    I haven't tried all the possibilities in RPGMaker, mostly ignoring followers and vehicles. I did try some minor eventing but not enough to be sure it won't break. So please be careful and backup your project before using it.

    Have fun!
     
    Last edited: May 12, 2017
    #1
    Hyouryuu-Na, Val, Shugo and 5 others like this.
  2. ∊η∊ηra

    ∊η∊ηra Smoke and Mirrors Veteran

    Messages:
    258
    Likes Received:
    115
    Location:
    Manhattan
    First Language:
    English
    Primarily Uses:
    RMMV
    This is incredible! Thank you for this!
     
    #2
  3. AestheticGamer

    AestheticGamer Veteran Veteran

    Messages:
    54
    Likes Received:
    24
    Location:
    Portland, Oregon
    First Language:
    English
    I will throw out there while I won't have a use for this immediately, this plug-in has a LOT of potential and I can certainly see uses for it. Thank you very much for making!
     
    #3
  4. Skurge

    Skurge " (GASP) What's going on!? " Veteran

    Messages:
    1,051
    Likes Received:
    205
    Location:
    Australia
    First Language:
    English
    Primarily Uses:
    N/A
    I was just thinking last night in my sleep how to accomplish this, long ago I accomplished something like this with the use of events by simply having a duplicate of the map but it's terrain/passabilities where modified to add height and such, it would switch passively depending if you passed through an event- worked like a charm for 2003, but I'm considering my chances to use this since my project right now is going to have trains and bridges and elevations as well. But for now I got too many bugs to fix first.
     
    #4
  5. Fhntop

    Fhntop Villager Member

    Messages:
    28
    Likes Received:
    22
    First Language:
    Spanish
    Primarily Uses:
    RMMV
    Thank you all for the nice words!
    While I won't be working on the public version, I can do my best to help you if you have any doubts or questions about the code :D

    I think that's kinda how I saw it working on that YouTube tutorial. I don't know if you can make it work with other entities besides the player, which is why I made this :p
     
    #5
  6. Frogboy

    Frogboy I'm not weak to fire Veteran

    Messages:
    1,676
    Likes Received:
    2,104
    Location:
    North Carolina, U.S.
    First Language:
    English
    Primarily Uses:
    RMMV
    This looks kinda rad.
     
    #6
  7. Recruit

    Recruit Villager Member

    Messages:
    20
    Likes Received:
    5
    First Language:
    English
    Does it work with parallax mapping is the real question!
     
    #7
  8. Fhntop

    Fhntop Villager Member

    Messages:
    28
    Likes Received:
    22
    First Language:
    Spanish
    Primarily Uses:
    RMMV
    To be honest I'm not sure how parallax mapping is used here and I haven't played with it yet... But maybe it would work if you set a parallax on every map using transparency to represent the "holes", and/or add a topmost map with the whole map blocked as the higher layer...
     
    #8

Share This Page