Mode 7 - Get a 3D perspective on your world map

● ARCHIVED · READ-ONLY
Started by agoaj 20 posts View original ↗
  1. I've been working on a Mode 7 plugin for MV over the weekend thought I'd make a post to help keep me motivated to finish it.
    It's based on 7th graphics mode of the SNES which lets you rotate and scale sprites. This was used to create the airship flying effects in Final Fantasy games
    4vvSS9b.png

    With this plugin you'll be able to move a camera around your map with simple plugin calls to make vehicle sections or exciting flyover cutscenes.
    This plugin will require WebGL support. Here's a few screenshots of my progress

    Early Success
    z83u6fu.png

    Character test that didn't work.
    GhucsR2.png

    Curvature work
    CorruptParchedAmurratsnake-size_restricted.gif

    Core Features:
    Display full tilemap with animated tiles at arbitrary scale and rotations
    - Map renders in 3D, but not enough tiles rendered, clearly see tiles pop in at low elevations.
    Rotate parallax layer as skybox
    - Rotates correctly, but top to bottom seam is ugly, doesn't handle upside down or roll yet.
    Control camera through plugin commands
    - Can set position and rotation of camera. Can switch between 2d-3d.
    - Missing FOV control
    - Missing support for passing variables as parameters Done
    Control fog color and strength
    - Done
    Control curvature for a rounded world like FF7
    - Hard coded in vertex shader, need to add interface
    Debug Mode - Let's you freely move around with mouse and wasd and fine tune settings for your game.
    - Working on. Can rotate freely while holding middle mouse.
    Airship Demo - Include demo that uses plugin to make FF6 style airship demo.
    - Not done


    Wish List (Features that might not be in the plugins release):
    Sprite Scaling, draw sprites where they should be in 3D
    - Tried a naive approach and failed, need to look into more
    Camera Animation(Pass in a list of positions, rotations, and times to interpolate between)
    - Not done
    3D Pictures
    - Not done
    Low Rez (Specify a rendering resolution to get a more pixelated look)
    - Not done
    Blocking tiles are raised higher, specify heights of individual tiles in a text file
    - Not done
    Subdivide tile mesh for smoother curves
    - Not done

    What would you like to see in this kind of plugin?
  2. This definitely shows promise.
  3. Oh, one more of those amazing people who can do amazing things... :o
  4. I've been looking all over the place for a functional Mode7 Plugin for MV.

    I would like to use it for a few really simple things but I just like the Idea of being able to do 2D with Some X,Y,Z.

    Sadly most I've found attempting this seems to have run into huge FPS & Other issues, and seems to have discontinued the work, I think the last post I found on the internet was from somewhere in 2015... But it was a few months ago and haven't tried searching for it since then.

    I really hope someone gets this done properly in a usable state at some point for MV so I wish you the best of luck in your progress.
  5. this looks insane, specially with the map curvature, really looking forward to this plugin.
  6. This looks incredibly promising. Definitely will be keeping an eye on this to see where it goes.
  7. Ohhhh this looks incredible! Definitely keep working on it!
  8. This looks very promising! I would suggest being allow to let certain tiles pop up as well, i.e. instead of a mountain being a flat tile on the map, having something that allows it to pop slightly up, giving a slightly more 3D look to it.

    Maybe being able to control the angle of the camera for the Mode 7 effect too?
  9. DragonVine said:
    This looks very promising! I would suggest being allow to let certain tiles pop up as well, i.e. instead of a mountain being a flat tile on the map, having something that allows it to pop slightly up, giving a slightly more 3D look to it.

    Maybe being able to control the angle of the camera for the Mode 7 effect too?

    Yes, you'll have full yaw, pitch, roll support.

    I've thought about that for the blocking tiles, I'll add it to the wishlist.
  10. Hell yes! Been waiting for this forever. Looks like a polished and promising beginning.
  11. Nice job so far! I've been holding out hoping for a new Mode 7 plugin, I was surprised nobody made one for MV yet. I can't wait to see more! :)
  12. S...Simply...

    tumblr_lo22s0NGhU1qzxr43.gif
  13. Progress continues, lots of troubles with sprites. I've tried transforming their 2D vertices but it's giving bad results. Thinking I'll need to make a 3D sprite batcher and figure out a way to handle character sprites popping up and tile events stay flat.
    But I've got mouselook and parallax skyboxes in.


    Also reworked the plugin command and javascript interface
    oCVBnjU.png
    That loop will set the camera based off rpg maker variables (/v[] works too)
    Javascript interface for example is Mode7.yaw = x; or var x = Mode7.yaw;
    Now that I think about it, I can probably remove the keyword camera from the plugin command to make it simpler.

    When using RPG Maker variables, the angle will be in degrees * 100 so you'll have 1/100th of a degree precision. In Javascript it's in radians.
  14. agoaj said:
    Progress continues, lots of troubles with sprites. I've tried transforming their 2D vertices but it's giving bad results. Thinking I'll need to make a 3D sprite batcher and figure out a way to handle character sprites popping up and tile events stay flat.
    But I've got mouselook and parallax skyboxes in.


    Also reworked the plugin command and javascript interface
    oCVBnjU.png
    That loop will set the camera based off rpg maker variables (/v[] works too)
    Javascript interface for example is Mode7.yaw = x; or var x = Mode7.yaw;
    Now that I think about it, I can probably remove the keyword camera from the plugin command to make it simpler.

    When using RPG Maker variables, the angle will be in degrees * 100 so you'll have 1/100th of a degree precision. In Javascript it's in radians.

    I think I need to change my pants.

    The way this map looks, with the parallax, it reminds me so much of Final Fantasy Tactics XD
  15. Need to clamp the width/height the of the tilemap to the camera so you're not seeing the skybox.
    Otherwise looks useful "when complete"
  16. I was looking for this since the release of RPG Maker MV. Looking forward to use it when the final version comes!
  17. Oscar92player said:
    I was looking for this since the release of RPG Maker MV. Looking forward to use it when the final version comes!
    KMS Tomy created a 3D airship which basically replicated FF6 pretty well but with all the updates dunno if it still works
  18. Rukiri said:
    KMS Tomy created a 3D airship which basically replicated FF6 pretty well but with all the updates dunno if it still works

    Yep, I know about KMS plugin, but it's still a beta version I think and it works with certain conditions (as I read in his page).

    Another problem is that KMS Mode 7 plugin works only for airships like Final Fantasy 6, and I would like to use a plugin to use the Mode 7 with characters and airships but in the way it works for Final Fantasy 4 and 5 too, without zooming or rotation.

    So, I think this is the best option for my project.
  19. This is looking amazing! Kudos!
  20. Wow, WOW.

    I need this. Had a go at figuring it out myself, but couldn't come close. Hope you'll figure everything out, a plugin like this would be a huge help.