Ultra Mode 7 [RMMV & RMMZ]

● ARCHIVED · READ-ONLY
Started by bblizzard 1291 posts Page 11 of 65 View original ↗
  1. @Tonedawg181
    It’s a quite useful method indeed. Well this is also possible with “only events”, this is how I made the fence here for example:
    [embedded media]

    But like many things related to Mode7 (or other things after all), it's more about how you design your graphics, in other words you need to go around limitations by being creative. RTPs will be very limited here I'm afraid.
    It’s not only about tech, you need to create something that will actually make your players forget about the gimmick hidden behind. You can see it as some kind of magic-show, everybody knows the rabbit didn’t really disappeared in the hat, just make sure people forget about the trick!

    In Koruldia, I create most assets in full 3D first and then integrate them in the game.
    Like this simple rock for example:


    Or this crystal:


    Then I can have all possible angles, and can create 3D scenes with moving camera as a bonus.


    Ok, this last part is a huge pain so it will remain super rare, but it’s a possible thing, just like I did years ago on this VXACE prototype:

    (Next month I’ll show how I do this now in MV.)

    In any case, with mode7 this 3D model technic is particularly efficient, it reminds me of Super Mario RPG, I think they did something similar, creating the assets in polygonal 3D and then make sprites out of them so the SNES can handle them. Well RPG MAKER MV is not as limited as a SNES but still… We need to be smart and use a lot of tricks to achieve what we want.
  2. @bblizzard Hey I found a "bug" (or feature if you ask EA) when both Ultra Mode 7 and MOG_CharacterMotion (1.3) are used. Appearantly events get bigger when the player walks +Y and events are always smaller when they're under (over the whole X-as) the player. Maybe it could help in development.

    I also got some ideas for an Ultra H-Mode7: (please keep in mind these aren't orders, just some quick ideas on how it could be handled)
    Height determination based on RegionID, Terrain Tag and Note Tag (based on Terrain Tag). But then first needs to be figured out how to get different layers since you already said MV only outputs 1 image. Anyway, in the plugin itself the user would be able to set RegionID, Terrain Tag and Note Tag values for different heights. Those different heights would be ground itself as 0, one standing up tile would be 1, a tile that should be above 1 (probably connected) would be 2 and above that one comes 3. Like the 96p tall crystals in picture 1, the under part would have a value of 1 and the upper part a value of 2. I'm sure the upside and downside parts where the tiles connect can be calculated as the FOV has to be taken into account too.

    Thanks for everything so far!

    Note: Appearantly Orange Mapshot is able to distinguish different layers, so maybe that'll help: https://forums.rpgmakerweb.com/index.php?threads/orange-mapshot.49711/

    2018-10-02-1.png 2018-10-02-2.png 2018-10-02.png

    Orange MapShots
    Outside-Shadows.png Outside-Upper-Events.png Outside-Upper.png Outside-Ground-2.png Outside-Ground.png Outside-Lower-Events.png Outside-Lower.png Outside-Normal-Events.png
    ***This is made with Ultra Mode 7 ON and tiles like the crystals, door and some (animated) plants are already Events***
  3. @Arend Galenkamp Well, if you limit the whole thing to terrain only, it's not difficult to offset the vertices vertically based on terrain tags or something else. The real problem is that depending on perspective a depth buffer will be needed and sprites also need to be rendered with a proper Z-coordinate so they can appear "behind" elevations. And this requires rewriting the sprite system in MV and PIXI to work with 3D coordinates.

    I wrote down the bug you found and take a look at it when I have time.

    @KaYsEr Usually when I see somebody putting so much work into 3D, I recommend them to drop RPG Maker and start using Unity or even Unreal 4. xD

    EDIT: Semi-related to everything going on here: I quit my job at Cateia Games to work in my own company Daygames full time. And full time here is like 4-5h daily which means I am going to have a lot of free time from now on. :D I'll see if I can sit down some time in the next few days and fix some of the most urgent bugs and implement some of the most urgent features.
  4. @bblizzard
    It’s true, especially if you want to create a mainly 3D game, but here most of the game is about exploring a 2D overworld (or 2D dungeons etc) 3D is used very sparingly (to spice things up from time to time like key maps or key scenes) but the main focus is to keep a 2D vibe.

    What’s better than a true 2D engine for this :) because when I look at some games (running in a 3D engine) that try to “feel 2D” (like the remake of SoM or I am Setsuna to only name 2) they look like plastic toys (to me at least) and it drags me out of the experience.


    I know my method is time consuming (wouldn’t be fun right? ^^) but as a “reward”, it brings a singular identity. (Hopefully!)

    And thanks to your plugin it’s even better now that it’s possible to spice things up even more, at least for those overworld’s underground areas. :)

    I love this idea of keeping the 2D vibe (because of the way you approach art-design) while adding some nice depth, it’s like the limitations of RM add some “je ne sais quoi” of authenticity to the mix.

    Looks like “billboard art” still have a few tricks up its sleeve and is not done yet! ;)

    bblizzard said:
    I quit my job at Cateia Games to work in my own company Daygames full time. And full time here is like 4-5h daily which means I am going to have a lot of free time from now on. :D I'll see if I can sit down some time in the next few days and fix some of the most urgent bugs and implement some of the most urgent features.
    This is great, good luck with the indie adventure man!
  5. Thanks! :D

    Yeah, I know what you mean with spicing it up with a bit of 3D. This is also the reason why I made this script. I'm obviously using a modified version for my own game. xD
  6. Hello,

    I'm having trouble getting the script 'Ultra Mode 7' to work.
    I added the script to my project and simply wrote the command <UltraMode7> in the card's notes.
    It does not work.
    I also read that only WebGL is supported, but is not it enabled by default in RPG Maker MV ?!

    I really can not go any further, can someone help?


    Regards
    WQS3000
  7. Because the tilemap is rendered entirely flat, tile priority isn't used

    Does this mean there isn't a chance of using terrain tags to determine which tiles are rendered in 3D?
  8. Aah, if only there was a way to properly render a vertical wall... I've been wondering how to present a project [never darned finished anything because of limitations, both of resources and personal ones] and rememered for whatever reason that Mode 7 was a thing. Heck, I kinda wanted H-Mode 7 after I found out about it, but since there's none...

    Now I'm left wondering what can I do with this plugin. What I want is kind of different from the usual overhead look, and isometric wouldn't work either... Maybe something like a side-scroller or beat-em-up like map where there is little vertical movement. That doesn't mean there wouldn't be movement between different planes, just using sepparate maps for them... Like paralell streets.
  9. WQS3000 said:
    Hello,

    I'm having trouble getting the script 'Ultra Mode 7' to work.
    I added the script to my project and simply wrote the command <UltraMode7> in the card's notes.
    It does not work.
    I also read that only WebGL is supported, but is not it enabled by default in RPG Maker MV ?!

    I really can not go any further, can someone help?


    Regards
    WQS3000

    Best you check out the demo. You most likely made a mistake somewhere.
    I think that WebGL is used by default during development. This main limitation should actually only apply when exporting the game for browsers, because not all browsers support WebGL yet.

    Burgerland said:
    Does this mean there isn't a chance of using terrain tags to determine which tiles are rendered in 3D?

    As I said, I could offset tiles that have terrain tags, but that would only work for certain angles without additional modifications. It's so bare-bones, it's kinda not worth it to have as a feature unless it's done right. And I don't think I will doing this in the near future, if ever.

    Yanazake said:
    Aah, if only there was a way to properly render a vertical wall... I've been wondering how to present a project [never darned finished anything because of limitations, both of resources and personal ones] and rememered for whatever reason that Mode 7 was a thing. Heck, I kinda wanted H-Mode 7 after I found out about it, but since there's none...

    Now I'm left wondering what can I do with this plugin. What I want is kind of different from the usual overhead look, and isometric wouldn't work either... Maybe something like a side-scroller or beat-em-up like map where there is little vertical movement. That doesn't mean there wouldn't be movement between different planes, just using sepparate maps for them... Like paralell streets.

    Aaaaaaactually I've seen someone do Isometric with this script just fine. xD Though, they created modified tilesets for that.
    The functionality you want really sounds like you shouldn't be using RMMV for that.
  10. bblizzard said:
    Aaaaaaactually I've seen someone do Isometric with this script just fine. xD Though, they created modified tilesets for that.
    The functionality you want really sounds like you shouldn't be using RMMV for that.
    I mean the look of isometric is not what I'm looking for. But yeah, I know that I should go directly to UDK, Unity or even Godot or any other engine that supports creations from the ground up. Problem is, I'm a digital artist and designer, not a programmer. I'd love to try and learn how to make all this code wizardry, but then the personal limitations come in play.
  11. @Yanazake Yeah, I was trying to say to even though somebody made isometric view work, if you want other genres of games, you might be better off with a different engine. There are engines out there that support beat'em'ups and platformers out of the box.

    Actually Unreal is quite non-programmer-friendly and requires minimal programming aside from Blueprint scripting. It feels like Unreal was actually made to make it easier for artists and designers to work. Unity does still require a lot of programming, but Unreal has really a lot of templates and stuff that's already done. I suggest you check it out if you haven't yet, just to see if it maybe suits you better.

    Hm, now that I think about it, actually you might be able to use this script after all. If I add an option to use orthogonal projection rather than a classic field-of-view angle, you could get the look you're looking for, at least to some degree (similar how isometric works). And technically it would be possible to shear the space in such a way that you get that exact look of faked isometric from one side only. You would still need to figure out a way how to do walls though (events might be a solution).
  12. bblizzard said:
    @Yanazake Yeah, I was trying to say to even though somebody made isometric view work, if you want other genres of games, you might be better off with a different engine. There are engines out there that support beat'em'ups and platformers out of the box.

    Actually Unreal is quite non-programmer-friendly and requires minimal programming aside from Blueprint scripting. It feels like Unreal was actually made to make it easier for artists and designers to work. Unity does still require a lot of programming, but Unreal has really a lot of templates and stuff that's already done. I suggest you check it out if you haven't yet, just to see if it maybe suits you better.

    Hm, now that I think about it, actually you might be able to use this script after all. If I add an option to use orthogonal projection rather than a classic field-of-view angle, you could get the look you're looking for, at least to some degree (similar how isometric works). And technically it would be possible to shear the space in such a way that you get that exact look of faked isometric from one side only. You would still need to figure out a way how to do walls though (events might be a solution).

    The thing is, it's not supposed to be a beat 'em up [altough i totally want at least a LMBS battle] and it's not obligatory to be a platformer, but I wanted to present a different kind of "camera angle" and exploration anyway. Thing is, IF i'm able to one day put all the ideas together and make it work, it'd be a really unique kind of RPG. With story, levels, "stealth", a unique battle system, exploration and choices as the bare minimum of the package.

    The idea to use RPG Maker came from when I saw what could be possible with it since XP came out. It would be enough for a demo of the story, but so much time passed that maybe the idea grew out of what RM can do for me, whatever the version available...

    And if I end up moving to UDK, the question to go 2D, 3D, or 2.5D arises. Too much for my head as an artist XD'
  13. Maybe I'm too late asking this, but... have you any plans of updating the plugin in order to support the looping maps? I'm really waiting for that feature, so I can do world maps with Mode 7 like in Final Fantasy 4.

    Thanks in advance!
  14. People have already asked and the answer is yes. :) As I already said the other day, I have a lot more time on my hands now and I will channel some of that into this script very soon. Primarily I want to fix the major issues, make some things more customizable and figure out a way to implement looping properly.

    EDIT: Aaaaaaaand there it is. I figured out how I can make the lopping work with mathematical precision without having to worry about rendering artifacts. :D
  15. Yanazake said:
    Aah, if only there was a way to properly render a vertical wall... I've been wondering how to present a project [never darned finished anything because of limitations, both of resources and personal ones] and rememered for whatever reason that Mode 7 was a thing. Heck, I kinda wanted H-Mode 7 after I found out about it, but since there's none...

    Now I'm left wondering what can I do with this plugin. What I want is kind of different from the usual overhead look, and isometric wouldn't work either... Maybe something like a side-scroller or beat-em-up like map where there is little vertical movement. That doesn't mean there wouldn't be movement between different planes, just using sepparate maps for them... Like paralell streets.
    I already made a vertical wall using events, but it's only 1 type that I use in my dungeons only. The player can jump down from floor 5 - 0. I can share the tileset if you want?

    EDIT: Here is the character sprite, from left to right: Upside, Middle, standard 2-tall, Underside, standard 1-tallWall.png
    2nd EDIT: It may appear brighter and more colorful than the normal tilesets. I've made "HDR" versions of all character sprites and tilesets.
  16. Arend Galenkamp said:
    I already made a vertical wall using events, but it's only 1 type that I use in my dungeons only. The player can jump down from floor 5 - 0. I can share the tileset if you want?
    (img)
    EDIT: Here is the character sprite, from left to right: Upside, Middle, standard 2-tall, Underside, standard 1-tall
    2nd EDIT: It may appear brighter and more colorful than the normal tilesets. I've made "HDR" versions of all character sprites and tilesets.
    Ah, sorry, I can see how the front wall can be made in a way that it doesn't deform with mode 7. I meant the side walls. That would need something else, probably real 3D graphics.

    But I'm too worried right now about my own health to think about making any kind of artwork or coding for the next 4 years...
  17. bblizzard said:
    People have already asked and the answer is yes. :) As I already said the other day, I have a lot more time on my hands now and I will channel some of that into this script very soon. Primarily I want to fix the major issues, make some things more customizable and figure out a way to implement looping properly.

    EDIT: Aaaaaaaand there it is. I figured out how I can make the lopping work with mathematical precision without having to worry about rendering artifacts. :D
    Can't wait for the update then! :D
  18. v1.2.3 is up!

    What's new?
    • added parallax distance parameter in maps for parallax movement with yaw and pitch
    • renamed "Camera" functions to "CameraDistance"
    • fixed bug with parallax scrolling on non-Mode 7 maps
    • fixed bug with shaking the screen
    • removed FOV limit and implemented orthogonal projection with FOV of 0°
  19. bblizzard said:
    v1.2.3 is up!

    What's new?
    • added parallax distance parameter in maps for parallax movement with yaw and pitch
    • renamed "Camera" functions to "CameraDistance"
    • fixed bug with parallax scrolling on non-Mode 7 maps
    • fixed bug with shaking the screen
    • removed FOV limit and implemented orthogonal projection with FOV of 0°
    Thahank you! :D
  20. Ok, I'm feeling really stupid/sleep-deprived, but I can't figure out how to make events pop up that are more than 1 square in size, like in the demo with all the trees by @Poppie360 xD Could someone help me out?
    I get just the graphic I placed (which totally makes sense, but when I place the 4 graphics that make up the tree, it shows 4 events with 4 different graphics, but no tree xD ) I'm clearly missing something. For reference, I'm using the tile B tree
    This plugin looks really cool, and I'm thinking of using it to finally finish my onemap challenge (might as well learn something new ^_^ besides finishing a game)

    Also, there's a bug in the script/demo: missing a function in line 584 for
    UltraMode7.animateCameraDistance; the other script callers (? sorry not a programmer) are there, and the demo project threw an error, so I added a line and everything worked perfectly, so not a hard bug to fix if even I can do it xD (I don't know anything about JS o_O)