Pixel perfect 16x16 games

Discussion in 'RGSS3 Script Requests' started by noajb, Jun 20, 2019.

  1. noajb

    noajb Villager Member

    Messages:
    21
    Likes Received:
    17
    First Language:
    English
    Primarily Uses:
    RMVXA
    Hi, I am stunned that I haven't found something like this yet, given how many "half resolution" games are made with RPG Maker VX Ace! :kaoback:

    This is hard to explain for me, but I'll try my best.

    Okay, so you're making every asset in your game half resolution. You make your tiles in 16x16, then upscale them using nearest neighbour to 32x32, and then you pop them into RPG Maker. This works fine, the tilesets look good. But as you make more and more assets (windowskins, menus, fonts etc) you start to notice that your game isn't actually pixel perfect. It's not hard to tell that the game is actually 544x416 and not 272x208 times two! This bugs me and it kind of ruins the retro immersion.

    So, I'm not sure how one would go about doing this, maybe some sort of filter? Or some process that scales it down divided by two, then takes that and doubles it.

    To clarify further, here's a screenshot of a normal RTP game and how it would look using the script that I am imagining.
    [​IMG]
    This is done in photoshop by taking the original screenshot, scaling it down to half its resolution, and then back to its original resolution, all using nearest neighbour in order to avoid blur.

    I think this is something that would help a lot of people, since it's really annoying when you see something in your game that doesn't align with the half resolution nature of your game! I really hope it's possible.

    Thanks for reading! :kaohi:
     
    #1
  2. bgillisp

    bgillisp Global Moderators Global Mod

    Messages:
    11,784
    Likes Received:
    11,822
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMVXA
    That's just how image upscaling works unfortunately as it is always estimating those extra pixels to make them bigger. The best solution is to draw them at 32 x 32 in the first place, then scale them down. Otherwise to make it perfect you'd need a scripter to invent a new image scaling technique not yet found, as even the photoshop method is not 100% perfect (plus since you just went back to the original you don't know if it isn't just undoing the first downscale anyways).
     
    #2
  3. ZirconStorms

    ZirconStorms VX & VX Ace Scripts Veteran

    Messages:
    315
    Likes Received:
    103
    First Language:
    English
    Primarily Uses:
    RMVXA
    Graphics.resize_screen(272,208) in the script editor + https://forums.rpgmakerweb.com/index.php?threads/fullscreen.14081/.
    Then, on startup, force that script to double the resolution (to 544x416), and disable any commands that'll allow the player to adjust the resolution back to its native size.

    The downside is that you'll always have to make maps that are smaller than the default size + you'd have to adjust the UI, but you can work around that stuff fairly easily.
     
    #3
  4. Bex

    Bex Veteran Veteran

    Messages:
    1,168
    Likes Received:
    260
    First Language:
    German
    Primarily Uses:
    RMMV
    The resolution was different than you stated @noajb.
    The old rm2k resolution was 320x240 (20x15Maptiles each 16x16Tiles)
    The rmxp resolution was 640x480 (20x15Maptiles each 32x32Tiles)
    VX and VX-Ace have 544x416 (17x13Maptiles each 32x32Tiles)

    BUT you can change VX-Ace Resolution to 640x480. (Its also the maximum Screensize possible)
    Open the Scripteditor, create a new empty Scriptpage in the Materials Section and copy paste this:
    Code:
    Graphics.resize_screen(640, 480)
    Make sure that your minimum Mapsize is 20x15, 17x13maps would behave strangely.

    Now you got the resolution you need to just double the size.

    Edit: Your Pixel Picture could be achieved with Graphic Program, there are Filters that
    pixelate graphics like that. You would need to Edit all the Graphics you want in your Game.

    If there is a Script for thit, than that would safe you much work, not sure if this kind of Screen effect is possible in vx-ace.
     
    Last edited: Jun 20, 2019
    #4

Share This Page