Ultra Mode 7

bblizzard

Veteran
Veteran
Joined
Nov 6, 2017
Messages
383
Reaction score
377
First Language
Croatian
Primarily Uses
RMMV
I added the CHARACTERS_USE_FADE_Z option in v1.6.3 so this is where the performance issues started. I disabled it by default now.

Also, if somebody were to make a custom shader for sprites that includes tint/tone and blend color processing in the shader, it could be used independently from UM7 to fix the issue (kind of) globally.
 

41728280

Veteran
Veteran
Joined
May 31, 2020
Messages
239
Reaction score
71
First Language
Chinese
Primarily Uses
RMMV
In fact, I haven't paid much attention to the fade-in and fade-out changes of the horizon. Because I did not build the sky. I always want to see towns, villages and so on on the map:guffaw:
If it does not affect performance, then the visual effect is certainly better, if it is for performance. I can also give it up. Maybe it’s also a good choice to enable it on some maps that don’t use much decoration.:LZSbleh:
 

Espilonarge

Veteran
Veteran
Joined
Apr 24, 2016
Messages
142
Reaction score
66
First Language
English
Primarily Uses
If I could make a suggestion regarding fading characters/doodads.

Instead of making the plugin make a call every frame of vertical movement to change the coloration/fade of a character/doodad, there could be a setting in the plugin to adapt how much space it takes for a coloration/fade effect to happen to a character/doodad.

For example, having it set to 48 would make the coloration/fade of events/doodads to only happen once every tile space of the map instead of every "pixel" along a tile space. While this won't outright fix the performance drops (and the coloration/fade will look a little more "choppy" between color shades), it would at least help mitigate the majority of the performance problems caused by the changes.
 

bblizzard

Veteran
Veteran
Joined
Nov 6, 2017
Messages
383
Reaction score
377
First Language
Croatian
Primarily Uses
RMMV
Hm, maybe. You'd still get lag spikes so I don't think it's a good solution. I remember people complaining about those lag spikes that were caused by a typo in pixi-tilemap which then affected UM7. xD
 

bblizzard

Veteran
Veteran
Joined
Nov 6, 2017
Messages
383
Reaction score
377
First Language
Croatian
Primarily Uses
RMMV
So, I am not exactly sure why or how, but when you deploy a build with Yanfly's Grid-Free Doodads, it appears that a few classes are actually removed from the code. o_O Due to this UM7 encounters an error and doesn't load the remaining compatibility code.

I'll fix everything (including some OcRam functionality) and post a new version later today.

EDIT: Done.
 
Last edited:

41728280

Veteran
Veteran
Joined
May 31, 2020
Messages
239
Reaction score
71
First Language
Chinese
Primarily Uses
RMMV
bblizzard, great!
Now it works almost perfectly, and the deployment is correct. The only regret is that the rectangular lights are not compatible.
Although I don't like flashlights very much (because I get dizzy when I turn frequently), it would be nice if it can be used for some door lights.
It doesn't matter anymore.

You provide several compatible lighting plug-ins, Khas lighting is the most customizable, and real-time shadows are cool. The function of this plug-in should be the most powerful at present. But it seems not very friendly to multi-layer parallax, and it conflicts with some of my plug-ins. And the author is no longer active, it is difficult to get support.

Terrax / Community lighting, I have only tried Community, this is an improvement of Terrax lighting, I think it should be similar.
It seems to lack follower lights, area and battlefield lights, because when I bind variables to time, my game performance will be greatly reduced. I am not sure what the reason is, it may also be due to some conflicts, so I did not continue to learn more . It has many detailed settings, such as offset, lighting direction, etc. And there are many code maintainers, and so it should have the greatest potential.

OcRam_Lights may be easier to use for novices like me, because it has a relatively complete time system. It's easier to manage the lights. And it supports multi-layer parallax,
It has some features that Community lights lack. And these are the functions I want to use. When I use it, I am surprised to find that the compatibility is very good with all my plug-ins (about 200, LOL, I am reducing them). There is not much conflict, so I decided to choose him.

Each of these lights has advantages and disadvantages. Thank you for providing so many options for using UM7 and all your excellent work! Cheers!:wub
 

bblizzard

Veteran
Veteran
Joined
Nov 6, 2017
Messages
383
Reaction score
377
First Language
Croatian
Primarily Uses
RMMV
Yeah, that reworked Terrax community version, I haven't had time yet to sit down and see what I need to do to make it all work. But apart from that, making most other plugins work is relatively easy (except for OcRam_LIghts which had some issues as I previously mentioned).

Parallax plugins are tricky. Because of how the map is displayed in 3D, parallax in general is problematic to make it work properly. Unless there was either some custom system for a 3D sky-box or fine-tuned horizontal scrolling (like I did it in my game), there's no good way to make any of them work right so it looks good. :/

You should see my game, lol. I have 254 files in there and apart from an external audio-streaming plugin and zlib, I wrote all that code. xD It's 1.4MB and almost 40,000 lines of code (without the external stuff).
 

41728280

Veteran
Veteran
Joined
May 31, 2020
Messages
239
Reaction score
71
First Language
Chinese
Primarily Uses
RMMV
In fact, as early as a few months ago when I first came to the forum. I have seen your game by chance, and I really like your UI interface and gameplay. The interface is simple and beautiful, and the gameplay is very similar to a mobile game I was addicted to more than a year ago. So I downloaded it, but because my English is really bad, and the external translation software I use cannot translate the text in the game well. So I failed to persist in completing it. Still lying on my hard drive, lol :guffaw:

At that time, I had fallen in love with the UM7 mode and I was looking for how it was made. This is different from all the RM games I have played before. It is really amazing! I started to study this post not long ago and decided to use it to make my own game.
At present, except for a little basic knowledge, my programming knowledge is almost 0, so I can't learn anything from your code. . .:rtear:

Then, I need to report a serious bug. I still use UM7's DEMO test.
After the game is saved, if you close the deployed game or reopen the game in test mode, an error will occur when reading the save.
Or F5 refreshes the game and reads the archive, it will also be wrong.
But do not close the game after saving, but choose to go back to the title, and then read the archive, there is no error:dizzy:

Error screenshot
QQ截图20200920092937.png
 
Last edited:

bblizzard

Veteran
Veteran
Joined
Nov 6, 2017
Messages
383
Reaction score
377
First Language
Croatian
Primarily Uses
RMMV
I'll check it out. This is an odd error. o_O

EDIT: Ok, found it and fixed it. v1.7.3 is up. However, I noticed a bug in OcRam_Lights. It seems that after loading the in-game time stopped. This happened even when I removed YEP and UM7 so it's definitely an issue with OcRam's plugins.
 
Last edited:

41728280

Veteran
Veteran
Joined
May 31, 2020
Messages
239
Reaction score
71
First Language
Chinese
Primarily Uses
RMMV
Yes, OcRam_Time_System has this BUG, which will cause the time to stop when manually saving and reading the archive. He hasn't fixed it yet, but I have found a solution a few days ago and provided this solution in his post, hoping to help those in need.
Everything seems to be normal now. There is a small bug. In the current game, if you choose to return to the title and start a new game, the new game will inherit the light data, etc. This new game data seems to have some Confused.
But this can be solved by restarting and starting a new game. It is not yet known whether there will be other effects.
Thanks bblizzard for multiple fixes! :wub
 

bblizzard

Veteran
Veteran
Joined
Nov 6, 2017
Messages
383
Reaction score
377
First Language
Croatian
Primarily Uses
RMMV
Yeah, OcRam has to fix those things on his/her end. xD
 

KaYsEr

Koruldia
Veteran
Joined
Mar 14, 2014
Messages
264
Reaction score
481
First Language
French
Primarily Uses
RMMV
I just tried 1.7.3 and this time OcRam still works after deployment, unfortunately the framerate issue when moving vertically is still here, maybe a bit better than last time because I remember it was kind of a slideshow and now it’s more like.. Golden Eye 64?^_^?

To make sure it's not caused by the combination of UM7 and OcRam I went back to Community Lighting but same problem. Now back with 1.6.0 and everything runs fine as usual.

(Well, Mode7 maps are always a bit more demanding than normal RM maps but it's fine on a good machine.)

Would be so cool to have better performances now that everything else is pretty much fine, do you think there’s room for improvement there or UM7 reached some kind of “RMMV glass ceiling”?

You should see my game, lol. I have 254 files in there and apart from an external audio-streaming plugin and zlib, I wrote all that code. xD It's 1.4MB and almost 40,000 lines of code (without the external stuff).
You crazy (in a good way) man! :)
(C'mon, a little bit more and your code wouldn't symbolically fit on a floppy disk!)
:LZSlol:
 

Kaelan

Veteran
Veteran
Joined
May 14, 2012
Messages
796
Reaction score
536
First Language
Portuguese
Primarily Uses
RMMV
Unfortunately MV's design on how to use overlay colors is flawed. :/ Rather than running the color mixing in the shader on the GPU, MV actually redraws the sprite's texture into a temporary texture every time the blend color or the color tone has been changed. :/ This makes it effectively impossible for me to do any optimization on that part.
If you don't mind introducing additional dependencies on your plugin, you could fix this by using a PIXI filter that does the color blending, instead of calling sprite.prototype.setBlendColor.

That's how I highlight objects in the Knight Editor, I'm just applying extra filters to the currently selected doodad sprites.

The only minor snag is I don't think any of the default filters do exactly what MV's blend color function does, so you'd have to write a new one. It shouldn't be that much work though, looking at the source code for something similar, like the PIXI adjustment filter.
 

bblizzard

Veteran
Veteran
Joined
Nov 6, 2017
Messages
383
Reaction score
377
First Language
Croatian
Primarily Uses
RMMV
Yeah, I'm using custom shaders and filters in my own game as well. But I think this should be a separate plugin that fixes the issue globally in the actual sprite render shader rather than via filters.

Filters have a big disadvantage that requires them to render stuff to a render target which is then used as a texture. This causes issues with blending colors and transparency. e.g. In my game I changed some stuff with map layers and the background parallax at one point. Screen/Additive/Multiply-blended characters would be rendered just fine on the map, but when rendering on the transparent portions of the map (where the parallax would be behind the map), the blending wasn't applied properly. This is because the map layers and characters were rendered onto a texture and then that texture was rendered as one piece which couldn't reapply the blending properly on just the characters that were floating off-map over the parallax.
Obviously I had to change how the layer filters were applied to fix the problem. ._.

@KaYsEr If you turn off CHARACTERS_USE_FADE_Z, it will stop lagging. xD

I mean *technically* I could write that plugin. <_< I'm just lazy.
But I can already see it happening: I will need ever-changing blend colors for my own game and to mitigate the performance issues, I will implement the shader for my own game. And since I already did this at that point, I will probably make a separate version for public release. <_<;;;
 
Last edited:

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

Latest Threads

Latest Profile Posts

This video really speaks to me...

Stream will be live shortly with a session of the interactive text adenture! Feel free to drop by!
I worked a lot more today and I am thinking about Youtube videos to make to my channel, but I am still looking for some content :D

But I am happy to be back at work :D
Update... no scam calls all day. I think they learned their lesson. And I'm working on a fake anti-piracy video, featuring a fan game I'm making in MV. If I had the permission to make the game a licensed game that I could sell (rather than having it totally free like fan games are required to be), I'd use a really cool anti-piracy screen...

Forum statistics

Threads
104,362
Messages
1,005,837
Members
135,878
Latest member
hjbkwjhef
Top