Benefits versus downsides for classic resolutions (320x240 etc)

Started by Jasper, Sun 06/08/2017 18:58:25

Previous topic - Next topic

Jasper

Hi all,

I built a project that I've become quite fond of which seeks to emulate the classic feel and style of the early Sierra adventures (notably, Gabriel Knight: Sins of the Fathers, Freddy Pharkas: Frontier Pharmacist, Kings Quest 5, 6, Space Quest 4, 5).

At this, I checked out the games backgrounds and found they were created at 320x200. My current project uses the bg resolution of 320x240 (however, I'm about to port everything across to the newest engine and start afresh with new assets now that I have funding).

Is there any specific upside/downside to using 320x200 as opposed to 320x240? I do vaguely recall there being some talk about stretched images in old games that used this resolution (ie the HUD face in Doom/Wolfenstein being stretched and requiring a 'fix' on modern systems). I definitely want to avoid any kind of stretching. I'd also like to ensure maximum full-screen compatibility in modern systems. My initial guess was to use 640x480 display resolution but double the background sizes from 320x240 using nearest-neighbor filtering to retain the classic low-res look.

Any insight from anyone who's worked at these resolutions (or upscaled art from lower resolutions to a higher display resolution for maximum compatibility on modern systems) would be much appreciated!
The glow retreats, done is the day of toil; Upon its track to follow... follow soaring!
-Goethe

CaesarCub

Now a days it's pretty much the same.
The engine settings allows you to use the current Desktop Resolution and scale the game to the max round multiplier, so you can have your own custom resolution, so there is no risk of compatibility issues with a weird resolution.

That said, for a true 320x200 native resolution stretched to a 4:3 screen ratio, the pixels will be 1.2:1 or 6:5. So if you want the game to have non-square pixels and zero distortion, you would need to work with a resolution higher than 640x480.

Personally I aim to the widescreen standard of 16:9, which with a 320x180 resolution gets a pixel perfect image (x6 reaches 1920x1080 and x4 goes to 1280x720), but when I do this I aim more for a retro-feeling than a true retro experience.

Snarky

(CaesarCub posted while I was writing.)

Back in the day, 320x200 became a VGA screen-mode standard because it adds up to 64,000 pixels, which fits snugly into 64 kB of video memory (when one pixel is stored in 1 byte, meaning 256 possible colors). (Well, it fits pretty snugly. Because there are 1024 bytes in a kilobyte there is a little bit of memory left over. This spare memory was exploited for a lot of VGA graphics effects, particularly scrolling.)

At the time, monitors were almost all 4:3 aspect ratio, but 320x200 is slightly "flatter" than that (it works out to 4:2.5... better known as 16:10) â€" it really ought to have been 320x240. But that wasn't really a problem, because at the time people used CRT screens, which allow you to stretch or squeeze the on-screen image. So people used those monitor settings to stretch the image vertically so it would fill their 4:3 screens. That meant pixels weren't exactly square, but rectangles that were slightly taller than they were wide. Because everyone did this, artists created their graphics with that in mind: the graphics in pretty much all old-school VGA games are designed to be stretched â€" if you don't they look squashed.

Nowadays we use LCD screens and other technologies where we can't stretch on the screen itself: the pixel shape is built into the hardware. So for old games that were meant to be displayed on stretched pixels, we have to do the stretching in software (fortunately this works fine, because resolutions today are so much higher that each original pixel is displayed on many screens pixels). Emulators usually have a setting to do that.

Of course, none of this is necessary for new games. If you make a game in 320x200 now, people aren't going to stretch it to 4:3 aspect ratio (and there's no easy way to do so). You can always assume, and should always assume, square pixels. So to make a game to fit a 4:3 screen, you should make it in 320x240, and that's why this is one of the standard AGS screen modes.

However, nowadays very few screens are 4:3. Most are widescreen â€" 16:9 or 16:10. For those screens, a wider/flatter dimension will fill more of the screen when it's upscaled in the engine. Since 320x200 is 16:10, it will fill those screens completely. You could even go to 320x180, which is 16:9.

Oh, and one final point: if your game uses 320 x whatever graphics throughout, that should be the resolution of your game. There's no point setting it to double the resolution and upscaling the backgrounds yourself: the AGS engine handles the upscaling for you. In fact, by keeping it at the lower resolution (320x200 instead of 640x400, for example), it will fit better on a variety of screen resolutions. Saving the graphics in twice the resolution also means your game takes more space, and it leads to ugly artifacts when you scale characters on-screen.

selmiak

as CC I also prefer 320x180 just because it scales the pixelart up so nicely on current screens. If you want to upscale your art in your graphic editing program to 640x360 or 640x480 this is wasted work as you can just use the 2x filter inside AGS. either add a lot more pixels to the prebuild 2x size (Backgrounds and characters...) to make it really smooth or let the software do the scaling. there is really nothing gained from bloating up the size of your ressource without adding more info (inbetween pixels) to the files, this way it just needs more memory while the game is running. just my 2 cents.

Crimson Wizard

Quote from: Snarky on Sun 06/08/2017 19:46:58
Oh, and one final point: if your game uses 320 x whatever graphics throughout, that should be the resolution of your game. There's no point setting it to double the resolution and upscaling the backgrounds yourself: the AGS engine handles the upscaling for you.

There may be a reason to do this, if you want to use hi-res fonts or very smooth scrolling effects while keeping pixely graphics.
That said, you could actually keep low-res graphics in game resources and upscale them with script functions at runtime (when room is loaded). This will save you lots of disk space.

Snarky

If they use high-res fonts they're not "using 320 x whatever graphics throughout". True about the scrolling, though.

For sprites, you can just set the "low resolution" flag to have it automatically double-sized in a high-resolution game (with 640x400 considered high-res), so the only thing you'd have to scale up in script is the backgrounds. (But again: don't do this!)

Jasper

Quote from: Snarky on Sun 06/08/2017 19:46:58
(CaesarCub posted while I was writing.)

At the time, monitors were almost all 4:3 aspect ratio, but 320x200 is slightly "flatter" than that (it works out to 4:2.5... better known as 16:10) â€" it really ought to have been 320x240. But that wasn't really a problem, because at the time people used CRT screens, which allow you to stretch or squeeze the on-screen image. So people used those monitor settings to stretch the image vertically so it would fill their 4:3 screens. That meant pixels weren't exactly square, but rectangles that were slightly taller than they were wide. Because everyone did this, artists created their graphics with that in mind: the graphics in pretty much all old-school VGA games are designed to be stretched â€" if you don't they look squashed.


I wonder if this is why Freddy Pharkas just looks so damned tall and lanky.

Thanks for your in-depth answers everyone, very useful! I think I might trial 320x180 and see how it looks. I can't imagine many people play with 4:3 anymore nowadays, so it seems the best way to go, esp if this ever somehow got on GOG.com or was distributed.
The glow retreats, done is the day of toil; Upon its track to follow... follow soaring!
-Goethe

selmiak

oh nice, I added something to snarky's post but it looks as if I reworded his last paragraph. All in all... don't do it  :-D :P

Snarky

When you edit your post (like I did to add the final paragraph) you don't get any warning that someone else has posted since your last version. Sorry selmiak, didn't mean to steal your point!

selmiak


SMF spam blocked by CleanTalk