CrossCode

CrossCode

View Stats:
Deadsaint Oct 7, 2018 @ 2:28pm
Regarding Scaling, Pixel and canvas size
I have been enjoying the game a lot, and the pixel art is reall nice, but I feel the game could use more extensive options when it comes to the image scaling.

Being a pixel art game, it's par for the course that it will look the best when keeping a integer scale, meaning keeping the game on a window that matches exactly 2, 3, 4 etc. times the native resolution. Right now, that games allow for 4 different pixel sizes, and 4 scaling methods; Original keeps the game in it's native resolution and size, double makes it 2:1, fit feels the entire screen while keeping the aspect ratio and stretch fills the entire screen period. The pixel size pre-defines a pixel size (1x1, 2x2, 3x3, 4x4 of original size) and up/downscales the game accordingly to the selected canvas size.

Sadly, this selection of methods does not work great for anyone with a monitor larger than the usual 1366x768 of laptops, because the double canvas size is way to small for a 1080p monitor, so theres no way to play the game at a decent window size while keeping an integer scale. The only way I found to "fix" this, was creating a custom resolution on the nvidia drivers that matches exactly 3:1 the native game resolution, keep it centered in the scaling method, and then run the game in fit + 3x pixel size. A solution, but not a very elegant one. Having to change resolutions every time I play the game is annoying, and most people wouldn't want to go through this. While playing the game on a 4x pixel size and fit, the downscale does keep the game decently sharp, but still nothing like an integer scale. I would like to ask the devs if it would be possible to:

- Implement triple and quadruple canvas sizes to match 3x and 4x pixel size, to keep the size of the windows to a integer scale of the native resolution, thus giving a sharp image with the least possible loss in screen area for people with 1080p and 1440p monitors.

- OR completely get rid of original and double options, and instead implement a options that automatically adjusts the canvas size to the selected pixel size (original for 1x, double for 2x, triple for 3x, quadruple for 4x) so that you can have the exact window size for each pixel size, while keeping fit and stretch for those who want a fullscreen game.

- Add options for larger pixel sizes for people with 4k and 5k monitors, with their respective canvas sizes to match, so the game doesn't have to upscale lower pixel sizes and give out a blurry image.

I think these would really boost the appreciation of the already amazing pixel art the game has.
Sorry for the extensive text and if any devs read this, thanks for your time.
< >
Showing 1-10 of 10 comments
lachsen  [developer] Oct 9, 2018 @ 1:10pm 
It's possible to implement scaling options like these, Of course you'll have a black borders (since the resolution never fits any of the common screen resolutions), but at least the pixels would be sharp.

Larger pixel sizes can be added as well, though memory consumption and CPU/GPU burden will of course further increase.
JohnEdwa Oct 9, 2018 @ 3:20pm 
Just a note, 5K monitors running at 5120x2880 are missing only 10 pixels of width from running Cross Code at 9x (5130x2880) and 8K Full format (8192 x 4320) can fit it at 13x (7410 x 4160), so I think no matter what you end up adding into the game, the Pixel Resolution and display scaling should be able to be basically unlimited. It won't take long before someone wants to try running it on one of those.

Though I guess if you are running a pixel perfect 2x/3x/13x etc, the Pixel Size can simply be left at 1 with pixel perfect upscaling as it wouldn't make any difference, right?
Last edited by JohnEdwa; Oct 9, 2018 @ 3:21pm
lachsen  [developer] Oct 9, 2018 @ 4:41pm 
Using a higher pixel size like 2 or 4 still has the effect that zooming and other details look more smooth, so I'd definitely keep those options but don't necessarily provide much larger options (the game will end up performing to bad)

However, there is actually an option to scale the image with sharp pixels. We didn't use that one because if you don't scale it up to a clean multiple of the original solution it looks worse compared to the smooth scaling. However, with a scaling option that guaranteed "pixel perfect scaling" we can enable nearest neighbor scaling, so it will always look sharp not matter what the original resolution was.
JohnEdwa Oct 9, 2018 @ 5:35pm 
Right, of course! The pixel size sets the rendering resolution, silly me...

And well, if 5K monitors suddenly explode in popularity and the moore's law is broken, I guess you can always patch higher pixel sizes in a few years :)
Deadsaint Oct 10, 2018 @ 9:10am 
So from what I understand, if nearest neighbor is used as a scaling algorithm option, we could keep the game at 1 pixel size and have a perfectly sharp look at any integer scale window size with minimal performance impact?
JohnEdwa Oct 10, 2018 @ 9:50am 
Originally posted by Deadsaint:
So from what I understand, if nearest neighbor is used as a scaling algorithm option, we could keep the game at 1 pixel size and have a perfectly sharp look at any integer scale window size with minimal performance impact?

Nope, you though wrong exactly the same as I did.
The game zooms in during charging special attacks, levelup, cutscenes and those kinds of things, which 'breaks' the 1 sprite pixel = 1 screen pixel rule. Having a higher pixel size allows the game to zoom in smaller steps, as it is running at a higher resolution.
At 1x pixel size the game is run at 570x320 resolution while at 4x its 2280x1280.

But it does allow us to run it at 3x (on a 1920x1080) screen and not have any 'off pixel' scaling results, providing a very crispy result with a slightly better performance.
Last edited by JohnEdwa; Oct 10, 2018 @ 9:51am
Deadsaint Oct 10, 2018 @ 11:20am 
I completely forgot about the zoom ins during the game. I guess those would look pretty bad with nearest neighbor with 1x pixel size at high resolutions. It would be very jarring, to see a crisp image turning into a pixelated mess during a zoom.

So I guess the best and simplest way for now would be to add triple and quadruple canvas size to match 3x and 4x pixel size? I imagine it's simple to implement like original and double, and would solve the need for any 1080p and 1440p users who want pixel perfect scaling.

By the way, just got to Gaia's Garden for the first time in the full game and damn, ♥♥♥♥ just got real. I wasn't expecting the plot to turn in such a way. Really enjoying the game.

The way the level design of the game was thought out was fantastic, really. Everything nowadays is about massive scale, but the good use of the terrain that is crammed with places to explore and puzzles to solve, is just too fun. Feels more like a MMORPG than actual MMORPGs nowadays. Game feels very much alive. The ultratechnological aesthetics (LASER BRIDGES) mixed with nature also gives me some phantasy star online vibes that I just love.
Platforming CAN be a little finicky tho, when you have different heights/types of platform, like the ruins in Autumn's Fall. And in some places there's seems to be some audio issues, like the music in the map starts playing on top of an existing one. Aside from those small details, pretty flawless experience so far.
JohnEdwa Dec 23, 2018 @ 7:36am 
Bumping this, because we are still waiting on the proper scaling options. Just change Fit/add an option from "Strech while preserving aspect ratio" to "Scale to as high of a multiplier that fits your screen".

Let us get rid of this mess : https://i.imgur.com/Zuvzb2u.png and enjoy the game with properly scaled, crisp pixels as it is meant to: https://i.imgur.com/Ej88D2n.png
Diddly Sep 9, 2023 @ 3:17am 
Originally posted by JohnEdwa:
Bumping this, because we are still waiting on the proper scaling options. Just change Fit/add an option from "Strech while preserving aspect ratio" to "Scale to as high of a multiplier that fits your screen".

Let us get rid of this mess : https://i.imgur.com/Zuvzb2u.png and enjoy the game with properly scaled, crisp pixels as it is meant to: https://i.imgur.com/Ej88D2n.png
What did you do to get crisp pixels like you said and showed in the second image?
JohnEdwa Oct 8, 2023 @ 8:23am 
Originally posted by Diddly:
What did you do to get crisp pixels like you said and showed in the second image?

Used this patch. No idea if it still works or not.
https://github.com/Aemony/CrossCode-IntegerScaling
< >
Showing 1-10 of 10 comments
Per page: 1530 50