Request: Non-blurry fullscreen.

Discussion in 'RGSS3 Script Requests' started by TheTitan99, Jan 21, 2019.

  1. TheTitan99

    TheTitan99 Veteran Veteran

    Messages:
    165
    Likes Received:
    65
    First Language:
    English
    Primarily Uses:
    RMMV
    Hello! I'm currently working on a very low res game. As such, it needs to be played in full screen, or else it's too small to really see.

    The issue is, when I try to go into full screen, such as through the script Fullscreen++, everything becomes blurry. On a super low res, pixel art based game like mine, this is a project killer if it's not fixed.

    So, I'm wondering if there's a Fullscreen script out there that will make the game not get blurry on sizing up, and instead have it keep its clear, crisp, pixel look. I know such edits exist for RPG Maker MV, but I'm working in Ace right now. I don't mind black borders on the sides, to keep the screen ratio the same, whether it's in Fullscreen or windowed. I just need a non-antialiased Fullscreen, that looks pixely, not blurry.

    Any help is appreciated! Or a blunt "That's not possible in Ace". I'd be saddened by that, but sometimes there are hard coded engine limitations.
     
    #1
  2. ninjamida

    ninjamida Veteran Veteran

    Messages:
    43
    Likes Received:
    2
    First Language:
    English
    Primarily Uses:
    RMVXA
    If I'm not mistaken, fullscreen RMVXA games actually change the screen resolution, and from there, the user's hardware is responsible for upscaling. RMVXA's engine itself can go a little bit higher than the default resolution, but not much.

    It's probably not possible. There is an open-source replacement for RMVXA's runtime (I don't know the name off-hand, sorry) that might be able to do this, but I'm not sure if it's at a stage yet where it's practical to use in real-world projects.
     
    #2
  3. Poryg

    Poryg Pixie of the Emvee kingdom, Ham of a Hamster Veteran

    Messages:
    3,864
    Likes Received:
    9,707
    Location:
    Czech Republic
    First Language:
    Czech
    Primarily Uses:
    RMMV
    #3
  4. TheTitan99

    TheTitan99 Veteran Veteran

    Messages:
    165
    Likes Received:
    65
    First Language:
    English
    Primarily Uses:
    RMMV
    Hmm, I don't exactly get how to use that. A lot of the website is in Japanese, and when trying to put it into my game, it says I'm missing some file?

    Either way, I feel like there's got to be some way to get a clean, non-blurry fullscreen. The game Lisa: the Painful was made in VX Ace. I myself haven't played the game, but, looking at a Let's Play of it, it has the crispest, cleanest, pixel perfectest full screen I've ever seen on a VX Ace game. No blurring, every pixel still looks like just a Bigger pixel. Then again, that game was also released on Macs, so it may have external program assistance.
     
    #4
  5. Andar

    Andar Veteran Veteran

    Messages:
    28,343
    Likes Received:
    6,451
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    @TheTitan99 what you want is effectively impossible.
    To prevent blur the monitor screen size needs to be a full multiple (100%, 200%, 300%, etc) of the game screen size. That is because the reason for the blur is interpolation for partial pixels. Just think about it: Let's assume you have a game screen of 2 pixel, one white and one black and use 150% zoom - you now have 3 pixels to place where there is only data for two pixels. How do you determine the color of the middle pixel? setting it to white or black will distort the geometrics (have one leg of a pixel human be thicker than the other for example), so most display cards mix the color of the adjacent pixels. This gives the middle pixel a grey color - and is what you see as blur.

    Even if you manage to find a multiple that is not blurry (which is possible if you go down to game sizes below 640x480) this will only work for that single specific monitor size - since different players have different monitors the game will be blurry again for other players.

    To prevent blur or interpolation the game needs to be able to change its screen size to adjust for different monitor sizes - and that is something almost impossible to do due to the restrictions placed on the display dll. The DX-Port mentioned above might remove the restrictions of the DLL, but even then it will still require you to prepare for different screen sizes in the game itself.
    Only 3D can have automatic scaling, it is not possible for 2D games.

    In your example that probably looks OK because the player who made that video had a monitor that does have exactly the correct size - or he had an older CRT monitor instead of the now common TFT, because the one advantage CRTs have over TFTs is that they are not limited to a single physical resolution (they have quality disadvantages compared to TFTs, and require much more space on your computer table, but they are not limited to a physical pixel number).
     
    #5
  6. TheTitan99

    TheTitan99 Veteran Veteran

    Messages:
    165
    Likes Received:
    65
    First Language:
    English
    Primarily Uses:
    RMMV
    I hear what you're saying. It may just not work in Ace. In RPG Maker MV, you can make it so that, when resizing, the window will do its best to keep everything crisp and smooth. This is what I'm trying to get in Ace.

    As an example, I recorded this. As you can see, the base game is VERY low resolution. However, as I manually drag the window, and make it bigger, the pixels stay crisp. The tiny fuzziness in the video is only because of my low quality capture, I can guarantee that there is no blurring going on, no matter what size I make the window. It still looks non blurry, even if the window is, like 137.2% the right size. Any arbitrary resizing will still look crisp and not blurry.

    The video:



    I have this working in MV just fine. Sounds like you're saying it's a lost cause to get this in Ace. Which is a shame, I got it working in MV, but MV tends to lag my computer. Ace runs super smooth on my computer, so I was hoping to work in it. May have to work in MV, though, and just work with the lag.
     
    #6
  7. Andar

    Andar Veteran Veteran

    Messages:
    28,343
    Likes Received:
    6,451
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    yes - Kadokawa made the decision to place the entire engine for MV in the open, but with Ace most of the graphics functions are hidden in the DLL that we are forbidden to reverse-engineer.
    With the open access in MV you can make changes directly to the graphics functions of the engine, but in Ace this is not possible.
    The DX rework project might succeed in creating something that is open without using the closed source original dll, but unless that happens the Ace engine is too limited.

    EDIT:
    Just to explain the difference:
    The Ace DLL is limited to 640x480, and graphics resize above those numbers will be ignored. The zoom scripts go around that pixel limit by forcing windows interpolation onto that 640x480 max.
    In MV, the internal screen size can be changed to any number, and that can be used for fullscreen directly without using interpolation and thereby without blurring.
     
    #7
    TheTitan99 likes this.
  8. TheTitan99

    TheTitan99 Veteran Veteran

    Messages:
    165
    Likes Received:
    65
    First Language:
    English
    Primarily Uses:
    RMMV
    Can't say I'm not a bit disappointed to hear that, but, hey, if that's how the engine works, then that's how it works! At least I know now that I'll either need to rethink my Ace project, or head back to MV.

    Thank you for your time, all of you!
     
    #8
  9. Andar

    Andar Veteran Veteran

    Messages:
    28,343
    Likes Received:
    6,451
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    Ace is much older than MV, and the graphics library is even older than Ace - at the time that graphics library was first programmed 640x480 was considered the usual computer resolution (and the only resolution that could have been used with TVs, where some of the first home computers were connected to).
    Breaking that limit had been the wish of the community for a long time, and with MV they finally granted that wish. But it would have been too much work and too high a cost to pay programmers to go back to older engines (engines that have only a limited number of sales after a newer one is released), so the old engines are stuck with the limit.
    Kadokawa even tried that (there was an experimental dll to allow Ace to use any screen size), but there were too many problems with that dll and the experimental dll was revoked and all download links removed about a year or two before MV was released.
     
    #9
  10. Poryg

    Poryg Pixie of the Emvee kingdom, Ham of a Hamster Veteran

    Messages:
    3,864
    Likes Received:
    9,707
    Location:
    Czech Republic
    First Language:
    Czech
    Primarily Uses:
    RMMV
    It's not just about the interpolation though. There's also antialiasing, which has a certain influence on it. And there's also the fact that MV is by default rendered by WebGL, which doesn't render graphics by pixels, but by groups of pixels known as vertices. And vertex-based rendering is much better for zooming in and out, resulting in better quality retention.
     
    #10
    Archeia likes this.
  11. ninjamida

    ninjamida Veteran Veteran

    Messages:
    43
    Likes Received:
    2
    First Language:
    English
    Primarily Uses:
    RMVXA
    Hold up a second here - I'm sure I remember RPG Maker XP having a higher resolution than VX and VXA?
     
    #11
  12. Poryg

    Poryg Pixie of the Emvee kingdom, Ham of a Hamster Veteran

    Messages:
    3,864
    Likes Received:
    9,707
    Location:
    Czech Republic
    First Language:
    Czech
    Primarily Uses:
    RMMV
    Actually no. It's the same.
     
    #12
  13. Andar

    Andar Veteran Veteran

    Messages:
    28,343
    Likes Received:
    6,451
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    the default resolution is higher, because RMXP starts and ends at 640x480.
    But the maximim resolution that can be set by script is the same - 640x480
     
    #13
  14. Romanticist

    Romanticist Veteran Veteran

    Messages:
    183
    Likes Received:
    92
    First Language:
    English
    Primarily Uses:
    RMVXA
    I have that dll for Ace and it works well for me, would it be illegal to use it since it is no longer officially downloadable?
     
    #14
  15. Roninator2

    Roninator2 Gamer Veteran

    Messages:
    1,649
    Likes Received:
    365
    Location:
    Canada
    First Language:
    English
    Primarily Uses:
    RMVXA
    The high res dll is illegal to use. and cannot be shared. @HikariJake
    Enterbrain does not allow it to be used.
     
    Last edited: Jan 27, 2019
    #15
  16. Romanticist

    Romanticist Veteran Veteran

    Messages:
    183
    Likes Received:
    92
    First Language:
    English
    Primarily Uses:
    RMVXA
    That sucks, a lot. I don't have any trouble getting it to work, game runs just fine. Wonder why they ever released it in the first place if they were just going to relinquish the rights to use it...

    Oh well, thanks for the answer.
     
    #16
  17. Andar

    Andar Veteran Veteran

    Messages:
    28,343
    Likes Received:
    6,451
    Location:
    Germany
    First Language:
    German
    Primarily Uses:
    RMMV
    The only person who can give the full answer is @Archeia
    If I remember correctly you may continue to use it, but are forbidden to share it.

    And as I said above that was one try to get around the old limits before they decided to rewrite the entire engine into javascript for a new maker.
     
    #17
    Romanticist likes this.
  18. Archeia

    Archeia Level 99 Demi-fiend Staff Member Developer

    Messages:
    14,564
    Likes Received:
    14,247
    Location:
    Game Dev Salt Mines
    First Language:
    Filipino
    Primarily Uses:
    VNM
    Actually, XP has no screen resolution limit. You can have a 1920x1080 game there if you wish. Not that I recommend it.

    Yes this is correct. You also can't contact our tech support should you encounter issues because it's not an official update. It was experimental.
     
    #18
    Romanticist likes this.
  19. Corboblan

    Corboblan Villager Member

    Messages:
    6
    Likes Received:
    1
    First Language:
    English
    Primarily Uses:
    RMVXA
    I believe I have your solution. There is a project named mkxp I believe (I am currently not home so I will update on more info once I’m back. You might want to google it)

    Do you have the game LISA: The Painful RPG (if not go check it out, fantastic game). The game is made from RPG Maker VX Ace surprisingly you can barely tell it is. The game runs not directly on the game but through an alternative launcher (mkxp) that speeds up the game and helps it run on slower more low-end computers. There is a setting that says disable smooth upscaling. This will change it to that more pixelated style you want that MV uses. I hope this helps and I will gladly be able to aid you if you have questions
     
    #19

Share This Page