320 x 240 games on a widescreen monitor

Started by Dave Gilbert, Fri 29/02/2008 18:05:05

Previous topic - Next topic

Snarky

Thanks visionastral. Have to say, I also assumed subspark was talking out of his ass, but your explanation makes sense.

Quote from: subspark on Fri 08/08/2008 23:06:42
No. I am saying that I ran Crysis at 1024x768 and the game scaled it up to 2560x1600. Although it was stretching the aspect ratio from 4:3 to 16:10, it didn't look too bad.
But when I changed the game resolution to 1280x800, the game scaled it up by a power of 2 without ever changing the monitor's resolution and it was difficult to detect the individual pixels due to the superb interpolation going on.

You have to understand that on a monitor such as mine (30" 16:10 Dell), running monitor resolutions like 1280x800, 1 game pixel uses 4 actual screen pixels, making the pixels themselves very obvious and distracting. The same for a 20" 4:3 monitor running 320x240. If you scale and interpolate those pixels as smoothly as in Crysis or other games not necessarily 3D either, you forget that there's scaling going on because it is so smooth it becomes invisible. I'm not sure what interpolation algorithm Crytek used for Crysis but the same technique would certainly help AGS become more convenient with differing resolutions and aspect ratios.

The thing is, with pixel graphics, you rarely want smooth scaling, because it makes the pixels appear blurry. Somewhat like the screenshot in this thread. You generally want each pixel to be perfectly sharp, and in no way interpolated. In other words, you want it to look like your screen resolution is natively 320x200 or 640x480 or whatever.

The only reasonably successful way to make pixel art look smoother in high resolution is through the HQ2x (or 3x or 4x) filters (aka Scale2x). AGS already has support for those, though.

Pumaman

Quote from: InSPIREd on Fri 08/08/2008 21:07:43
1280x800
1440x900
1680x1050
1920x1200
2560x1600

Thanks, I think you're right about this.

However, the problem is that the lowest of these is 1280x800, which is an even larger resolution than AGS's current maximum (1024x768). Although it could be supported, most people don't want to have to draw graphics at that sort of resolution (which would also increase file size dramatically).

One option would be to make a 640x400 game, which could be doubled up with the 2x filter to 1280x800 full screen, but I think what we're after is a widescreen resolution in between -- something like 960x600 -- where the resolution is at the sort of level that people would want to use for their games. Unfortunately that doesn't seem to exist...

visionastral

Subspark, nice to see I'm not the only 3D animator missing good old graphical adventure games  ;)
TFT is the same as LCD, in fact, they were called LCD in the begining, but when the technologie upgraded, they called it TFT because there was extra electronics inside to get a better control of the liquid cristal matrix. They now call it LCD once again, but it's just words after all, it's the same thing.
About 1280x800 in a 30", well, the pixels are obvious depending on distance to the screen  ;D after all, it's aprox the HD-Ready resolution (1280x720)...
Ok, the more resolution the better, but don't forget we are doing 2D, wich means you will have to store all this graphics in HD animating.
Just for example: the game I'm making has a main character of 300x475 pixels in order to make short close ups at 30fps (after all, if it looks good, it will have to move good, don't you think?)
Right now, with 5 screens in 800x600 (test rooms) and without the backgbround theora movies, it makes me 90Mb... so, I asume the final game to have a weight of 4Gb aprox... (hopefully, the game should be worth download it  ;) )
And we are talking about 800x600 res! Figure it out with "only" 1280x720 pixels...

Yes, 800x600 isn't much, but you know what? After testing it on the 21" and 32", I would expect it to be pixelated and howfull, but infact, it looked very good (wich surprised us a lot, I have to say).
But it makes sense, because, after all, the resolution of a standard DVD is only 720x576 (even in 16:9) and no body complains about it (even if FullHD is cool, DVDs don't look bad at all).

You only have to worry about aliasing (pixelation)! If you make a game with "low" res (800x600) but perform a good antialias filter for the backgrounds and the characters (I'm asuming one make it in rendered 3D) there shouldn't be any problem at the end, even with 30" screens; the only issue will be the lack of detail, not bad looking graphics (think about DVDs on a 50" plasma! it's only 720x576!).


Snarky, you are right, any body wants blurry graphics in pixel art, but in this LCD/TFT times, Graphical Hardware streching is allways better than monitor stretching alone. If you don't make the stretch yourself, the monitor will do it for you after all... (that's because I never understanded the hype for LCD and Plasma technologies, as CRT as FAR superior in quality terms. Marketing, I suppose :-\ )
About HQ2 filters, personally, I don't like it at all, because it changes a lot the way the graphics were designed in the end. It's like aplying a "median" filter from Photoshop over a resized image.
I prefer using the extra res bringed by actual PC to simulate real old monitors/TVs artifacts (like noisy conections, Interlaced behaviour or screen distortions.)

Snarky

Quote from: visionastral on Mon 11/08/2008 19:04:02
Snarky, you are right, any body wants blurry graphics in pixel art, but in this LCD/TFT times, Graphical Hardware streching is allways better than monitor stretching alone. If you don't make the stretch yourself, the monitor will do it for you after all... (that's because I never understanded the hype for LCD and Plasma technologies, as CRT as FAR superior in quality terms. Marketing, I suppose :-\ )

You can do stretching that preserves sharpness, though. In fact, it's the simplest resizing algorithm of all: nearest neighbor (with antialiasing, if you like). Besides, any decent video card should allow you to activate all VGA resolutions (even if you have to manually enable them) and get better results, but I guess not everyone has a decent video card in their computer.

LCD has some advantages (greater sharpness, primarily), but it's mostly about the convenience of flatscreen versus the bulk and backbreaking weight of a CRT. I have a 21" LCD screen for my desktop, and there's no way I could fit a 21" CRT monitor on that desk.

freshpaint

Visionastral -- Am curious where all the overhead for your 5-room game is coming from.  I'm working on a 800x600 32bit game that has (right now) 21 rooms, several of them animating, and 180 sprites plus a lot of sounds and music.  Uncompressed the compiled folder is a little less than 40 meg, and that includes a bunch of stuff I'll probably weed out.  To reduce the size of stuff I've been using dynamic sprites, guis, overlays, etc. a lot, figuring execution speed isn't a factor for most of what I'm doing.



visionastral

It's about size of characters * frames per second * 8 directions animation I suppose. They are quite big after all, buts its "needed" for cool closeups (you know, the film effect  ;) )

300x475 x 4 (32bits) x 250 frames = 142500000 bytes, so 136 Mb uncompressed (ags does a good job compressing it after all  ;) )


Quote from: freshpaint on Mon 11/08/2008 19:28:34
Visionastral -- Am curious where all the overhead for your 5-room game is coming from.  I'm working on a 800x600 32bit game that has (right now) 21 rooms, several of them animating, and 180 sprites plus a lot of sounds and music.  Uncompressed the compiled folder is a little less than 40 meg, and that includes a bunch of stuff I'll probably weed out.  To reduce the size of stuff I've been using dynamic sprites, guis, overlays, etc. a lot, figuring execution speed isn't a factor for most of what I'm doing.




freshpaint

Ah -- say no more.  I have yet to master an 8 frame sideways walkcycle!

subspark

QuoteThanks visionastral. Have to say, I also assumed subspark was talking out of his ass, but your explanation makes sense.
Thanks for your confidence in me snarks.  :-\

SSH

Quote from: Pumaman on Mon 11/08/2008 18:36:03
Quote from: InSPIREd on Fri 08/08/2008 21:07:43
1280x800
1440x900
1680x1050
1920x1200
2560x1600

Thanks, I think you're right about this.

However, the problem is that the lowest of these is 1280x800, which is an even larger resolution than AGS's current maximum (1024x768). Although it could be supported, most people don't want to have to draw graphics at that sort of resolution (which would also increase file size dramatically).

One option would be to make a 640x400 game, which could be doubled up with the 2x filter to 1280x800 full screen, but I think what we're after is a widescreen resolution in between -- something like 960x600 -- where the resolution is at the sort of level that people would want to use for their games. Unfortunately that doesn't seem to exist...


Well, 720x450 would let you 2x scale to 1440x900
12

GarageGothic

Thanks for taking this issue up again, CJ. Unfortunately I was on a month-long holiday at the time, but now here are my two cents:

While I agree that it would be great if as many users as possible could play their game in their native resolution, I think it's more important to find widescreen resolutions compatible with existing 4:3 resolutions. Creating a new 16:10 game resolution that doesn't correspond to any existing 4:3 resolutions just furthers the gap between 16:10 and 4:3 users and complicates things for the developer.

With any TFT monitor, widescreen or not, we are bound to see stretching in full screen mode AGS games. Yes, some 4:3 TFT monitors do use multiples of 320x240 (such as 1280x960) as their native resolutions, but many don't. This is something we must accept when working with bitmap graphics. And while the graphics appear less crisp than in the native resolution, I personally don't see it as a big problem. For instance my last laptop had a 1400x1050 display on which I played Blackwell Legacy (320x240 pixelart) and Nelly Cootalot (640x480 flash cartoon style), and both looked great despite the slight blurriness of stretching the pixels to 1400x1050.

My main concern throughout this discussion has been the possibility of creating a game that run in full-screen mode in both 4:3 and 16:10 resolution while retaining square pixels. The easiest solution would be to create a 320x200 aspect ratio game and accept the letterbox bars when playing on a 4:3 monitor. However, it wastes vertical screen space and can currently only be used up to 640x400 resolution.
For the game I'm currently working on, I decided to support both 4:3 and 16:10 format. By compiling the 640x480 game in 640x400 mode, I get a reduced viewport and can set ViewPort.Y to center the background as I want it to be cropped. The game_start code checks for the size of the viewport and repositions GUIs (or replaces them with widescreen versions) accordingly. It works, but the GUI coordinates sometimes behave strangely and it's a pain to have to compile twice when you want to test something - and of course the game will eventually have to be distributed in two separate .exe files.
As I've stated before, what I would love to see would be a setting in the game's setup menu that made a 4:3 game initialize in a viewport sized to its corresponding 16:10 resolution offset by a number of pixels specified by the developer. When I originally made the suggestion I didn't think of whether 800x500 or (for the new 1024x768 mode) 1024x640 were valid widescreen resolutions, but definitely I think we should look into widescreen resolutions that can be compatible with the existing mode. (The alternative, finding a widescreen resolution that can be cropped at the sides to create a 4:3 image doesn't seem as attractive as it's more common to occupy the bottom or top with GUIs and status bars - stuff that can be repositioned in a different aspect ratios - than putting them on the sides).

RickJ

GG I disagree with a couple of  your points here.  I suppose it's mostly a matter of personal preference  but I think that then easiest way of supporting a 16:10 background image on a 4:3 monitor is to use the full vertical height of the monitor and allow the room to scroll left/right, which is AGS's default behavior.

Likewise, IMHO, the easiest way of supporting a 4:3 background on a 16:10 monitor is to again make use of the full vertical height and leave black bars on either side of the  background.  This is what normally happens when a 4:3 video is played full screen.   

If this kind of approach is used pixels will remain square and many other issues will evaporate. 

It should also be noted that 4:3 monitors have permanently disappeared from retail shelves and now can only be found on craig's list for free or at yard sales.   They are destined for the dust bin of obsolete technology and so I am wondering why anyone is still developing for that format?  If someone started a 4:3 game today I doubt there would be any 4:3 monitors left to play it on by the time the game was finished.

Just my 2 cents anyways... Cheers.


GarageGothic

Quote from: RickJ on Thu 28/08/2008 00:40:07I suppose it's mostly a matter of personal preference  but I think that then easiest way of supporting a 16:10 background image on a 4:3 monitor is to use the full vertical height of the monitor and allow the room to scroll left/right, which is AGS's default behavior.

I don't know, as a player I would find it extremely annoying to have to walk across every room just to check if I missed a hotspot on the far side of the screen. And as a background artist I think it severely compromises any attempt of a balanced composition. A compromise would be to draw an additional 10% on each side of the background which would be cropped to a centered 4:3 non-scrolling room, just like widescreen is cropped with pan-and-scan. But that solution means you can't put any hotspots or exits outside the 4:3 area.

QuoteLikewise, IMHO, the easiest way of supporting a 4:3 background on a 16:10 monitor is to again make use of the full vertical height and leave black bars on either side of the  background.  This is what normally happens when a 4:3 video is played full screen. 

I agree that this is the easiest solution, but surely not optimal. For some reason, probably the habit of watching widescreen films on a regular TV, I find that bars on the side look much more crap than normal letterboxing on 4:3 screens. My suggestion was made based on the fact that many if not most games actually don't use the full height of 4:3 monitors for background but instead fill out the top and bottom with GUIs and text display/status bars. These can easily be modified or repositioned without compromising the actual background artwork (SCUMM backgrounds are basically letterboxed by default).

QuoteIt should also be noted that 4:3 monitors have permanently disappeared from retail shelves and now can only be found on craig's list for free or at yard sales. They are destined for the dust bin of obsolete technology and so I am wondering why anyone is still developing for that format?

You forget the millions of existing 4:3 monitors that will stay in people's homes until they burn out. The people I see getting rid of 4:3 monitors do so mainly to replace a bulky CRT screen with a flat one. Those who invested in TFT monitors before 16:10 became the standard are not likely to replace them anytime soon, as widescreen doesn't offer any real benefit for a computer user (and is downright terrible for word processing and web browsing unless you have one of those that can rotate 90 degrees). Personally I'm not letting my lovely 19" CRT monitor go before it dies, nothing flat (and affordable) can replace the true colors and black levels.

QuoteIf someone started a 4:3 game today I doubt there would be any 4:3 monitors left to play it on by the time the game was finished.

I still think there would be enough monitors around to warrant 4:3 support, but I agree it would be foolish to start a game today in a resolution like 800x600. Anybody in pre-development of a game should put a lot of thought into how their game will appear on 16:10 displays.

subspark

I agree wioth both of you on many points. The fact is, that display technology is undergoing a transition. We now have decided formats to target. Whether we choose to design our games for a dying format, or produce entertainment on a new one, one thing is for sure, Flatscreen LCD/TFT monitors ain't what they used to be. They've been outperforming CRTs in all catagories for a couple of years now at least. I own two 30" LCD monitors, one Apple, and one Dell and they both display color richer and deeper than any CRT I have ever used. The same goes for my 22" and 19" widescreen Panasonic displays. The quality cannot be surpassed with CRT technology.

Three things to look out for when buying a new LCD/TFT:
  • Response time. (4ms is acceptable, 2ms is ideal. Refresh rate has nothing to do with LCD technology, ignore that option in display properties.)
  • Make sure it is 16:10 and not 16:9. Many companies try and sell LCD TV's as computer monitors when they really are not designed for this. 16:10 was decided upon as an ideal aspect. There are a few reasons why but one of the well known reasons was that this aspect allows two full page documents to be conveniently viewed side-by-side.
  • Contrast Ratio. (The brightest avaliable, besides HDR display technology is 8000:1. Ignore fancy market spins like super-black filtering, bright-white technology, or whatever. Just pay attention to the contrast ratio scale.

    There are other more minor things to consider but I'm going to stop here before I start sounding like a bloody salesman.  ;)
    Cheers,
    Sparks.

Pet Terry

My laptop's resolution is 1280x800 and whenever I play AGS games I get the ugly blur on the graphics. UNLESS. I set the game resolution to 640x400 and turn on the 2x nearest-neighbour filter. However, it would be simpler if there was just simply 4x nearest-neighbour filter so that I wouldn't have to meddle with resolutions the game wasn't designed for. Would it be possible to add that option? Personally, I don't like to play 320x200 with 640x400 resolution because it looks ugly when two different resolutions are mixed when a character is scaled, for example.

Or has this been taken into consideration in the latest version? If so, whoops!
<SSH> heavy pettering
Screen 7

subspark

Or perhaps a simple, nearest neighbor method for scaling the graphics up. I can't imagine doubling pixels by a power of 2 being any great hurdle for the CPU. Why limit this option to 2x and 3x only?

Cheers,
Sparks.

visionastral

#55
Quote from: subspark on Thu 28/08/2008 04:36:25
I own two 30" LCD monitors, one Apple, and one Dell and they both display color richer and deeper than any CRT I have ever used. The same goes for my 22" and 19" widescreen Panasonic displays. The quality cannot be surpassed with CRT technology.

I have never seen ANY flat screen render better colours than my old 19" mitsubishi CRT.
And I have used a lot of good ones working as a designer (apple, asus, dell...).
The colours don't render equally from top to bottom, you never know were to place your head in order to see the REAL colour the screen is making... Worse for the brightness and contrast! (even on 16:10 screens, it's about the way they are lightened from the back)
It makes me sick every time I work on dark colours. This kind of things never happend with a CRT.
Let's get real, TFT is flatter, lighter, more reliable, makes much more crisp images and can be far bigger than CRT screens;
but for colours, contrast and resolution compatibility, a CRT is better.
For TFT's to have the precision of CRT in contrast and colour, you have to go for profesional TFT's absolutly out of price.
And, have one of you ever had a problem with diferent screen resolutions in a CRT?
Don't make a TFT run on a diferent resolution than the one builded for... worse! the closer the resolution to real screen resolution, the worst it will look.
This never happen on a CRT. And I'm telling you this owning 5 TFTs.

SMF spam blocked by CleanTalk