2x upscaling (pixel-perfect enlargement)

Pringab

Villager
Member
Joined
Jun 19, 2014
Messages
9
Reaction score
0
First Language
French
Primarily Uses
Hey again!

Basically, I'd like my game window to display its content in a way similar to that of emulators when set in "2x mode" or something - that is, with a pixel's size simply being doubled with no interpolation applied.

Note that I do not wish to increase the native resolution per se - I just want the output to be displayed at twice its actual size. I know it's possible to change the resolution in itself, but that's not what I'm looking for.

To make things clearer, here are two screenshots: What I have right now and what I'd like to achieve.

The reason I want to do this is because there are two issues that bug me: First, the native 640*480 resolution of the windowed game is way too small, and only occupy a small portion of the screen ; second, going full-screen is problematic with most graphics cards as they blur the final output, which looks awful.

So, the only compromise I can think of is being able to make a "nearest-neighbor" enlargement of the windowed game - definitely not perfect, but still better than tiny resolution or messed-up graphics. However, if you think you have a better idea, please do tell me.

Thanks!
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
640x480 is the largest size the engine is capable of producing. To go further would require breaching the EULA, which we will not help you with.


I assume you don't just want larger sprites within the same-sized game window, which could probably be achieved by editing the resources and applying some sort of filter or something (says the artistically-challenged programmer).
 

Pringab

Villager
Member
Joined
Jun 19, 2014
Messages
9
Reaction score
0
First Language
French
Primarily Uses
Thank you for your quick response.

But nope, using larger sprites wouldn't help since it doesn't change the main problem - in addition to being very impractical.

Well, seeing how going for a larger output in any way breaches the EULA, there isn't much I can ask, I suppose. Too bad.
 

Sharm

Pixel Tile Artist
Veteran
Joined
Nov 15, 2012
Messages
12,760
Reaction score
10,884
First Language
English
Primarily Uses
N/A
No, he's asking for something to make the play window show at double the resolution without any of the pixels blurring. Kind of like if you were to run an emulator with the video's window size set to 2x. The actual pixels of the play area would be the same, it'd just look bigger.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
I just got that from this:

the native 640*480 resolution of the windowed game is way too small, and only occupy a small portion of the screen
which makes me think that he wants a larger game window (can't be done), and at the same time enlarge the window contents as opposed to displaying more tiles.
 

Mithran

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
404
Reaction score
217
First Language
English
Primarily Uses
Last edited by a moderator:

Pringab

Villager
Member
Joined
Jun 19, 2014
Messages
9
Reaction score
0
First Language
French
Primarily Uses
Thank you! That does look like exactly what I'm looking for.

However, I'm having trouble actually running those scripts. With Fullscreen++, the game crashes on start-up - a "NameError" occurs at line 36 because of an "undefined method". And I don't really get what they're talking about on the second link - where exactly should I add the bits of code they're mentioning?

Again, thanks for you help - I'm relieved to see it's actually possible to achieve.
 

Cronus

Social Awkward
Veteran
Joined
Mar 18, 2012
Messages
47
Reaction score
219
First Language
Portuguese
Primarily Uses
The script crashes because Fullscreen ++ was made in RGSS3 supported only by RMVXA, and RMXP is coded on RGSS(1).

Try to check this Custom Resolution Script by ForeverZer0, supposedly it does exatly what you want.

 

which makes me think that he wants a larger game window (can't be done), and at the same time enlarge the window contents as opposed to displaying more tiles.
Changing the screen resolution is so possible as changing the default fonts, it's just a case for some tweaking on the default RGSS classes. It shouldn't be against the EULA though, as it is not by any means a modification on the software's source code itself.
 

Pringab

Villager
Member
Joined
Jun 19, 2014
Messages
9
Reaction score
0
First Language
French
Primarily Uses
Custom resolution is not what I'm looking for. Unless the custom resolution script features an option I am unaware of, it only allows modification of the actual resolution and can't do any upscaling. Basically, what I'm looking for is bigger tiles, not more tiles.
 

Shaz

Veteran
Veteran
Joined
Mar 2, 2012
Messages
40,098
Reaction score
13,704
First Language
English
Primarily Uses
RMMV
Resolution means different things to different people. Did you try the script? Maybe it does exactly what you're after, but just calls it something different.
 

Pringab

Villager
Member
Joined
Jun 19, 2014
Messages
9
Reaction score
0
First Language
French
Primarily Uses
Yes, I did, and it's not what I'm looking for. Mithran's links most probably are the kind of stuff I'm after, so basically what I'd need is an alternative version of those - since they seem not to be compatible with RPG Maker XP.
 

Mithran

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
404
Reaction score
217
First Language
English
Primarily Uses
Yeah, it looks like Fullscreen++ is only cross version for VX and VXAce. The other one I linked (posted in the specific post that I linked) is pure Win32API, though, and uses no RGSS version specific functions at all, so that one should work, though it requires you manually using a script call after you have installed the script to achieve the desired effect.
 

orochii

Abomination of life, or life itself.
Veteran
Joined
Apr 29, 2012
Messages
652
Reaction score
364
First Language
Spanish
To make upscaling in RPG Maker XP is pretty pretty pretty PRETTY complicated, I must say.

For my game, which is still an RMXP one (but uses RGSS3 binaries now), I wanted to do downscaling. My graphics are in 2x, because my game was initially being made in RM2k3. Then I got RMXP, and started to make the change.

One of the things I liked was the option RM2k3 had by default, which is selecting between a 1x window (320x240) and upscaled 2x (640x480). Since my natural resolution now was 2x, I had to implement the downscaling.

Fortunately, I remembered that Poccil did something like that at his Pokémon Essentials. So I borrowed a lot of his code. More precisely, I borrowed his rewritten classes, which have support for downscaling (and proper repositioning and stuff, like Sprite and Window, because yeah, surely I could just halve the zoom, but the positions would be all messed up).

I don't remember what else did I do, and worse of all, since I now use RGSS3 which supports up/downscaling naturally, I removed all that code. Except the window overwrite, because I customized some things there... I think.

So, tl;dr you can use Pokémon Essentials as a reference. It's the only example I remember that has any kind of scaling implemented in RPG Maker XP. It's used for downscaling, but I'm pretty sure upscaling will work fine.

Another thing to take into account: you'll need to overwrite several basic classes, like Window and Tilemap. If you're using something that works specially well with a default class (like some "looping maps" scripts), you'll have to look for an alternative... Because of this problem I was using Mode7 for the looping, but it was laggy as hell, so I ended up implementing a much cheaper map loop x'D.
 

Pringab

Villager
Member
Joined
Jun 19, 2014
Messages
9
Reaction score
0
First Language
French
Primarily Uses
@muramasa

Thank you for that through explanation, I'll have a look into Pokémon Essentials. My project is unlikely to use any fancy scripts when it come to game mechanics, so I'll definitely try it out even if I have to overwrite basic classes.

If you don't mind, would you mind explaining to me what switching to RGSS3 consists of? 'Cause if it supports upscaling naturally, that could be an option too.

@ Mithran

What exactly is a script call? And where should I insert the code mentioned in the post you linked? I really don't know much about the logic behind all the coding.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

People3_5 and People3_8 added!

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.

Forum statistics

Threads
105,868
Messages
1,017,083
Members
137,583
Latest member
write2dgray
Top