800x600 is just dreadful
Miscellaneous Forums/General Discussion/800x600 is just dreadful
800x600 is the norm for a casual game. That said, it's 2008 and people are still using this crappy resolution. What is stopping everyone from moving to 1024x768 or 1280x1024? Compatability? Old ladies with ancient hardware? Scaling sprites look ugly?
I'm trying to use 800x600 but it looks like crap when played full screen on an lcd monitor who's native resolution is 1280x1024. 1024x768 looks MUCH better.
What's your views on why we're still using 800x600 for casual games?
I'm using 800x600 in C# / XNA for compatibility with the XBOX 360, but would not bother with any less than 1024x768 for PC.
It would have to be a seriously ancient graphics card / monitor to not support that resolution. My first ever PC monitor / graphics card in 1998 supported it!
EDIT - Oops, you wanted my views on why some casual games still use it... erm, my guess would be that they are trying to ensure 100% compatibility with as many PCs as possible, so that they can maximize their potential sales.
How about old ladies running an older OS which has a potentially good gfx-card, but they won't install the drivers and won't ever change their resolution or bit-depth? Some years ago I got a photo of some product someone's selling via some ebay'esque sales site, the photo was in the friggin' 16 standard colors! How about those ppl who might still be using 640x480 in 16 colors? :P
plus, the smaller the output size, the smaller images, ram requirements, graphics work etc, is.
S
m
a
l
l
i
s
b
e
a
u
t
i
f
u
l
!
I
'
m
r
u
n
n
i
n
g
8
x
8
r
e
s
o
l
u
t
i
o
n
.
Y
a
a
a
a
y
!
!
LOL!
Also if 800x600 is not the native resolution of your LCD screen and the pixel ratio doesn't divide evenly, you will get some pixels doubled and some will be single-size. It's a `nearest neighbor` scaling usually, although some of them do filtering which make it blurry.
800x600 is pretty high considering we all used to play at 320x200.
I remember running dark forces at even less that 320
What is stopping everyone from moving to 1024x768 or 1280x1024?
Religion.
800x600 is pretty high considering we all used to play at 320x200.
Sure. But that was on much smaller screens with much worse picture quality. I mean compare whichever 17"-21" LCD screen to the 14" Commodore 1084 non-AG CRT screen. No contest really.
Those were the day..... Running at 320x200 and then getting my hands on documents to run in protected mode and jumping up to the elaborate 640x480 8-D
"No one is running 640x480, I'll be ahead of the market, oh wait, what happened to all my ram?"
ahh, the memories
I quite like how 800x600 looks on my 1280x800 (how would the proposed resolutions of 1024x768 or 1280x1024 help me exactly?) LCD screen for games -- it's like how TV's used to give you anti-aliasing for free :P
hmm, resolutions that aren't native to my lcd are very pixelated, not sure how you get the 'free antialiasing' on them.
My personal opinions:
1) Unless you use the native resolution of the actual TFT there will always be interpolation including 1024x768 or whatever else (unless it's exactly half the native res). Some old TFTs had horrible anti-aliasing (well...none) but it's getting lots better, but still never "perfect" of course.
2) Also more VRAM is required to populate a 1024x768 screen (approx 3Mb instead of 2Mb) and any graphics you place on it will all be relatively larger and take up more VRAM and many many systems still have only 32MB VRAM which you can fill up in no time at 800x600 and it would fill up 50+% faster at 1024x768. Sure, you can use more than 32Mb of graphics but then you'll be swapping it in and out of VRAM all the time which will have a performance hit.
3) Say a certain percent of sales come from 800x600 screens (maybe 5%, this is just a made up figure, but you get the idea). That will affect your bottom line net profit which may only be say 20% on a game. Therefore you'd loose 1/4 of your profit not supporting them. Yes, I realise this *may* need to be balanced with people who won't buy because it's NOT 1024x768 - but in the casual game world, I don't think that many people worry about that (otherwise they wouldn't play hardly any casual games).
4) It's a kinda entrenched standard.
5) I find 800x600 fine and play tons of games like it. All my console games and DS games are lower res too of course. And I've played lower in Windows, DOS, Amiga, C64 etc.
6) If the consumers still keep buying 800x600 I guess it's not an issue ... yet.
I'm tempted to go 1024x768 for my new game but I need to clear it with BFG first.
There's been a few discussions like this (and the widescreen support) here and on Indiegamer before. Perhaps a search for them may reveal more info?
Often your video drivers will do better scaling than your monitor does internaly.
hmm, resolutions that aren't native to my lcd are very pixelated, not sure how you get the 'free antialiasing' on them.
That's worth knowing. On mine non-native resolutions just get a nice soft blur applied -- it's far from ideal for applications but games look just peachy.
Chroma, have you tried messing with the scaling options in your video card drivers to at least make it more bearable?
I know nVidia cards have the option to change the scaling mode to either:
a) No scale at all (1:1 display at whatever resolution your monitor's native is)
b) Scale it to fit
c) Scale to aspect ratio (typically involves side-borders on a 5:4 screen)
d) Let monitor handle it (worst option to choose imo)
Of course it's worth pointing out that virtually any casual game will play in a window, so all the issues of pixellation, blur, etc can go away in an instant if you enable windowed mode. Personally, I much prefer to play a game in a window if I can, not that I really play casual games, but the less hardcore games for me anyway. It means I can still have MSN Messenger, my email, and a few other bits and pieces open without annoying all the games which don't like to be alt-tabbed out of fullscreen.
Scaling quality is usually directly proportional to how expensive your monitor is.
800x600 is just so very well supported across a majority of hardware that casual games have to use it. Anything else and you risk alienating people.
I guess it all depends on your target market. If you're writing the next Crysis, this becomes a non-issue. Casual gamers want something to play during a lunch time. They do not want to be faffing around with options and settings. Press a button, start the game, job done.
I did have an idea the other day to release two versions of every game. The casual gamer version and the hardcore version ("Free with this game, the Super Bonus Extended version!") which you can cram in as many resolution, widescreen, surround-sound and force-feedback options as you may so desire.
I couldn't stand how blurry my Space Beetles game was at 800x600 on my new 24" LCD. Also, since my new monitor is widescreen, everything was being stretched horizontally a bit.
But I'm coding my game in BlitzMax, so what I've decided to do is make my game run at the desktop resolution, and make widescreen standard. So the game should run at the native res of most LCD screens. It will be squashed horizontally a little bit on 4:3 screens, but I doubt people still running those will notice.
I also scaled all the sprites down to 66% of their original size, but kept them at the original resolutions, so they'll be a little blurrier at 800x600, but look sharper at higher resolutions.
So the game should run at the native res of most LCD screens. It will be squashed horizontally a little bit on 4:3 screens, but I doubt people still running those will notice.
I'll notice it. I noticed it very badly on my 1024x768 LCD when people didn't match my aspect ratio ( which was rare back then, obviously. ) I have a 5:4 now so it'll be even worse. I'd much prefer you gave me borders at the top and bottom of the screen. Or at the very least an option.
For 3D its kind of easy but 2D apps, its much harder to do screen logic when the ratio changes. 800x600 -> 1024x768 ->1280x1024 are not the problem as the ratio is the same. The problem is with bloody horrible widescreen. For 2D apps like a shootemup (for exmple) this creates a bit of a logic nightmare.
Well I can see this is on quite a few other minds too.
So what's the solution? Stay at 800x600 and let the people with nice computers suffer while the old lady livin' in a shack back in the woods has razor sharp graphics?!
i reckon make the standard 1024x768
Its crisp enough, fast enough and compatable enough. I agree 800x600 needs dropping big time.
The problem is that the customer is king. If loads of potential customers are still using 800x600 (for whatever reason), you simply need to ask yourself if you can do without their custom, or not, I guess.
just give the option to fully configure your system while STILL give the option to "Press a button, start the game, job done." if you dont want to configure just press play (800x600 version). just sticking to plain 800x600 is not the right way.
btw: my FPS also supports 800x600, but can be configured to the max. but you dont have to. you CAN.
I'm using 800x600 in C# / XNA for compatibility with the XBOX 360, but would not bother with any less than 1024x768 for PC.
doesn't make sense...I've programmed pretty extensively in C#/XNA and XBOX360 can do plenty of high resolutions. 800X600 isn't even 720p.
But yea, it's rather dissappointing so many are still on 800X600. The current project I'm working on I hope to make resolution independent, maybe even include high-res textures if time permits (but this is touchy ground when you give users the option).
Even though I do say so myself, the two games I've made (both 800x600) have actually looked pretty good even on a widescreen monitor.
However, I want to do it properly for my next game, so will try and make it work well for all res'
Normally I would use 640x480x16 as the default resolution, but with Fight Tune 2, I'm using 800x600x16 so its usable with as much hardware as possible (especially Linux without proper graphics drivers).
The problem is that the customer is king. If loads of potential customers are still using 800x600 (for whatever reason), you simply need to ask yourself if you can do without their custom, or not, I guess.
True, but name a graphics card that hasnt been assigned to the "heap" that cannot support fullscreen 1024x768 @16 or 32 bbp and ill be impressed.
I'm developing for 1024x768. If some customers really want 800x600 I let the projection matrix scale it down. Looks crap, but I don't care about the few people using this acient screen resolution. Chances are good that their old screen hardware is so bad (or their eyes) that they don't see a difference as when it was originally designed for 800x600.
I have a widescreen display and I like it but really it's a matter of perspective - if everyone had widescreens and they weren't considered `special` then a regular 4:3 or 5:4 ratio screen would suddenly be called `tall screen` or something and would be all the rage. Look at all that extra screenspace. After all widescreen really is a fake sales gimmick - you get less overall vertical realestate *so that* it looks like you have a wider display - unless it actually is wider than a regular one.
It is difficult to support a large range of resolutions and aspects and I think some types of games can be designed for it while others are a bit of a problem. 3D doesn't seem to suffer so much but 2D has some issues. I'm trying to deliberately make my game HUD's scalable and dynamic to accomodate and proportions.
I agree for me 1024x768 is the preferred resolution for pretty good performance and detail, but of course the higher the better. Trouble is making 2D graphics for high resolutions means a lot of extra pixels to draw and I don't think that reverting to computer-generated images is really always the best solutions.
Of course it's worth pointing out that virtually any casual game will play in a window, so all the issues of pixellation, blur, etc can go away in an instant if you enable windowed mode.
Sure. But then what if you have a high resolution screen? My Alienware Laptop for instance has a 17" 1920x1200 screen, and playing an 800x600 game in a window on that is ludicrous. I would assume this would also be the case for any housewives playing on a HDTV or whatever.
I refuse to play games that have to run at 800x600. It's absurd that these days, I should have 800x600 as my maximum choice for a resolution in any game, casual or not.
2) Also more VRAM is required to populate a 1024x768 screen (approx 3Mb instead of 2Mb) and any graphics you place on it will all be relatively larger and take up more VRAM and many many systems still have only 32MB VRAM which you can fill up in no time at 800x600 and it would fill up 50+% faster at 1024x768. Sure, you can use more than 32Mb of graphics but then you'll be swapping it in and out of VRAM all the time which will have a performance hit.
This is incorrect, and I really hate that you're pretending to know what you're talking about here. The only thing that will take up more memory with increased resolution are the buffers you draw to.
The rest of the graphics do
not use more memory. Not in BlitzMax anyway, since you're using hardware acceleration and your texture (that's what your images are- textures) will most likely either be loaded at the resolution you saved it at and at times scaled to an appropriate power of two. In the case of BlitzMax, the textures take up the same space regardless of resolution.
If your game is dependent on a specific resolution or aspect ratio, then congratulations, you're a terrible programmer.
Gabriel:
I have a 5:4 now so it'll be even worse.
Why in the world would you have a 5:4 screen?!
The reason I can't simply put black bars at the top and bottom is because I don't know how to modify the max code to adjust the scale matrix to allow for such an effect. Plus, there is no way for me to know what the aspect ratio is. Just because one is running in 1024x768 does not mean one is not using a widescreen monitor. Thus squashing in those aspect ratios, for simplicity's sake, is the best solution. I don't want to have to make a config screen just for the sake of switching aspect ratios. And casual gamers won't even look at it.
Time to get a modern monitor! :-)
Imaginary:
Widescreen isn't a sales gimmick. They switched to widescreen for TV's because it more closely matches movies aspect ratios.
And movie aspect ratios are what they are because they're more aesthetically pleasing and more closely simulate what we really see (a wider FOV horizontally than vertically).
It was only natural they have computer monitors follow suit, becayse otherwise they'd have to make different size screens for all the PC's and TV's and when doing video editing you'd have to crop stuff, and then there'd be the issues with console games vs PC game ports...
That's why I said finally said screw it and went widescreen. Cause two or three years from now it'll be the standard for everything so I might as well start using it now.
My current framework simply runs at whatever the user’s desktop resolution is set to (I don’t provide any other option). My assumption is most users run their desktop at the LCD’s/TFT’s native resolution, which will give the best visuals, so why provide any other option?
My focus is on 3d games, so scaling is less of an issue than it would be if I focused on 2d. But it’s possible to provide art assets suitable for multiple resolutions / aspect ratios, as was the case in the early PC gaming days when games had different art for CGA / EGA / VGA.
Pure Cane Soda: I think the point he was getting as was that if you design for e.g, 1024x768, you will use larger bitmaps (because we're talking about 2D games here, mostly) which will take up more RAM. He's right on the other point too, the buffers will be bigger (use 3MB instead of 2MB).
sswift: 1280x1024 LCD's have a 5:4 aspect ;)
You can assume aspect ratio from screen resolution. If someone is stretching 1024x768 to a widescreen display, all their stuff is stretched and so they are used to seeing it this way. Personally, I have my monitor configured so that it stretches lower resolutions, but maintains aspect ratio. I end up with black bars left and right if I use a non-widescreen res.
sswift: 1280x1024 LCD's have a 5:4 aspect ;)
And those are popular on mostly what... older laptops?
You can assume aspect ratio from screen resolution.
Yeah yeah... Still a pain in the ass to support it though. I'm sure there's all sorts of issues that would crop up even if I just stuck black bars at the top and bottom of the screen.
Anyway, I found this page on wikipedia:
http://en.wikipedia.org/wiki/Display_resolutionNo way am I supporting three to five different aspect ratios. :-) I'll just stick with the most popular one on the PC now, 16:10.
You may use 800x600 as a fallback option when the users hardware doesn't support your preferred monitor resolution. The only problem left are a few systems that claim to support this and that resolution, but then fail to do so.
Of course, you should allow the user to change the resolution. Not only in the games options, but also with an external utility.
Lots of people have PC's they bought 3 to 6 years ago which came with 1280x1024 LCD's. They were the sweet-spot for quite a while before widescreen LCD's became affordable and desirable.
That they are 5:4 can be largely ignored. Stuff designed for 4:3 still looks acceptable on them.
I think you're right though, 16:10 is the way forward.
Frame rate is more stable in 800x600
Then i go 1024x768 i lose 25 FPS at least :D
[AVON] I'm using 800x600 in C# / XNA for compatibility with the XBOX 360, but would not bother with any less than 1024x768 for PC.
[.ALEX] doesn't make sense...I've programmed pretty extensively in C#/XNA and XBOX360 can do plenty of high resolutions. 800X600 isn't even 720p.
I didn't say 800x600 was 720p. I'll let someone else explain my decision; the following text is pasted from
http://xnaresources.com/pages.asp?pageid=27About ResolutionWe've included three different resolution images in this package, mostly for PC support. On the XBox 360, handling resolution is really dependant on what you want to do with the rest of your game. The XBox 360 will take your preferred backbuffer size and scale your game to fit the screen, no matter what display mode the user is using. I've decided to stick with 1280x720 for High-Def resolutions (720p) and 800x600 for Standard-Def resolutions. The 800x600 will scale automatically on the XBox to 480p and allows for a standard since that easily works between the XBox and the PC. 1024x768 should work just as well, but there will be more of a quality loss when scaled on the XBox.
SSwift: I think in the bigger picture, and maybe I'm ahead of myself here, although there are many reasons why widescreen is better for the eyes than other aspects I still think that a time will come when widescreen is so widespread that people will start to think of taller screens as the new novelty. With my widescreen display, although I like it, sometimes when I see a 4:3 screen of the same width I can't help but want that extra screen space.
vinylpusher: I disagree. You cannot assume aspect ratio ever at all if you want to be 100% accurate. On my widescreen display for example there is a 1024x768 mode at 4:3 aspect and a 1024x768 mode at 16:9 aspect. Although the o/s knows the difference between the two BlitzMax does not provide that information, so choosing that mode is a hit or miss as to whether it is stretched or not.
The number of pixels across the screen compared with the number of pixels down the screen does not give you the aspect ratio of the screen itself. It is meaningless information if you don't know the physical proportions of the display.
IF ALL of your modes are the same aspect ratio, e.g. 4:3, so you have a display which shows only 640x480, 800x600, 1024x768 etc, THEN you can assume that no matter which resolution you choose they will all be the same aspect, and that if the manufacturers are doing things right and the user hasn't changed the settings (e.g. on-screen display settings), you can presume that the ratio of pixels across to pixels down is the same as the ratio of inches across to inches down. When these two measurements match, the aspect ratio can be deduced from the pixel ratio.
Also I have a 1440x900 mode which is at 16:9 ratio - that's the LCD's native resolution. If I try a 1024x768 mode at 4:3, I get black bars as appropriate at the sides. Relative to each other, the 1440 mode and the 1024 mode actually are proportional to each other. The amount of physical screen space they take up is the same ratio as the number of pixels across compared to the number of pixels down. So if you switched from 1024x768 to 1440x900 you would not have to worry about stretching your graphics. You'd get more screen space but the proportions of that screen space stay the same, like adding extra `canvas` space around an image. The pixel resolution stays matched to the ratio of physical width and height. But that only happens because the manufacturer has deemed that the modes are consistent in that way.
But they do not always match. My other 1024x768 mode is at 16:9 aspect. Clearly this is a problem. The number of pixels across compared to the number of pixels down (the pixel aspect ratio) is different to the number of inches (or whatever) across and down that the display actually consumes. So now the graphics are stretched horizontally and you can't get the aspect ratio from the pixel ratio.
A third scenario is where the user manually adjusts the proportions of the display in an attempt to utilize the full space of their CRT monitor or maybe the way their graphics card works. I have used some computers where if you adjust the display settings for one resolution it applies to all of them even if the other resolutions have different aspect ratios or pixel ratios, resulting in other modes suddenly being the wrong size, stretched funny, or whatever. It's highly unpredictable. How are you to know if the user has tweaked the display manually within the monitor itself? There is no way. So then you think your graphics must be looking right but they may not be.
Consider also resolutions which have a quite unusual pixel ratio - like on the Amiga, a 1280x256 `superhires` mode. The pixel ratio clearly was not in proportion to the physical display - it displayed at like 4:3 but was way wider in terms of pixels.
I think that if you go with the desktop resolution you may or may not be sure of running at the native resolution. I agree that many users will not have changed their resolution or even know to do so and that the factory/store may have set it to a comfortable default. That doesn't necessarily mean it's the best resolution, although perhaps more likely for LCD screens. I've seen factory-shipped PC's for example which are by no means using the highest resolution for their desktop. I think at best this is a `good guess` approach which may work most of the time but not always.
Another approach is only providing a narrow selection of resolutions, e.g. screen out all widescreen pixel aspect modes and only provide 4:3 modes. Again that won't fix all the problems all of the time but it might help somewhat.
I think the only way to really be totally sure that your aspect is 100% perfect, is to know, find out, or have the user measure, the physical size of the display area and then calculate how many pixels are fitting into that area so that you end up with the appropriate change needing to be applied to your projection matrix, giving you perfectly `as-the-designer-intended` graphical proportions. But that probably means either quite advanced/manual user-input or unreliable driver access. Many drivers will report the wrong information or none at all, especially not with regards to display stretching from on-screen controls.
Asking the user to provide that kind of input is a chore. Casual gamers wouldn't touch it with a bargepole - "why the hell do they want me to measure my screen?", and maybe even more advanced gamers wouldn't want to bother. If you can't get exact to-the-inch and to-the-pixel measurements by asking the o/s for it, then you have to go beyond the o/s to the user, which is far from ideal for something which should be 100% automatic. So what to do? Go 100% manual? Make an automatic guess and risk making assumptions that lead to problems?
Maybe one suggestion is to wrap the whole idea of resolution and aspects into a much easier to understand concept such as a button or option that says `more detail` or `less detail`. Clicking it changes the resolution up or down per your guided choosing. Maybe also provide a `stretch` option to let the user make the display wider or narrower, taller or shorter (tweak the projection matrix in realtime). I think that's an acceptable level of user-involvement for a medium-to-advanced player. But for casual players I think you have no choice but to choose a preset resolution. If 800x600 is more widely available than 640x480 you should go with it. These days 640x480 seems a little visibly pixellated. I think 1024x768 is an ideal minimum but probably only set it to this if your target audience non-casual.
I still don't know what approach I'm going to take. Probably will go with the in-game-on-screen manual controls and for advanced user provide a `calibration screen` where they either physically measure their display area or hand-tweak the stretching. But then, you have to also design your game to accommodate the possible advantages/disadvantages of players seeing more/less of the game world.
Anyway, that's my ramble.
Why in the world would you have a 5:4 screen?!
Time to get a modern monitor! :-)
And those are popular on mostly what... older laptops?
Time to update your monitor knowledge more like. The vast majority of non-widescreen monitors between 17" and 19" have a native resolution of 1280x1024.
If you can't make your game adapt to 1280x1024, you have huge problems, because if it's not the most common resolution among casual users right now, it probably soon will be when they move up from their 1024x768 15" tft's which came bundled with their Dell and HP desktops.
No way am I supporting three to five different aspect ratios. :-)
You don't have to support three to five aspect ratios. If you do it properly, you only need to support one generic aspect ratio which then adapts to whatever the actual aspect ratio is. I'm sure there was BMax code posted that does all you need for this by IndiePath some time ago. I'm quite certain because at the time he was just about the only person on these forums who understood the problem ( including me ) and it was his discussion on the subject which opened my eyes to just how big of a problem it is.
The only potential issue with this is the issue VinylPusher alluded to, with users actively choosing a resolution which distorts, in which case it's their own fault and they're used to it anyway.
I'll just stick with the most popular one on the PC now, 16:10.
Well that's up to you, but I guarantee that won't be the most common aspect ratio of your users. You're confusing most common aspect ratio of a new monitor with most commonly used aspect ratio.
philistines: 320x200 is the way to go, CGA all the way :)
I agree but I don't think it's the user's `fault` if they've chosen a resolution that seems to work for them most of the time but doesn't work for your game. The user does not necessarily know what is in their own best interests. If they buy your game and expect it to look and play correctly but it's all warped and squished, even if they prefer that for their desktop, they're probably going to blame you. You should still provide the option or assistance for getting the game to look how it was intended. That said, what you intend for the user and what they do to override your intentions is largely out of our hands - but at least the option should be there.
You don't have to support three to five aspect ratios. If you do it properly, you only need to support one generic aspect ratio which then adapts to whatever the actual aspect ratio is. I'm sure there was BMax code posted that does all you need for this by IndiePath some time ago.
Please explain in layman's terms how you go about having just one generic aspect ratio? Do you get the display mode, resize window and scale all graphics, or what?
just cos my res is 1280*1024 dont mean i use it much
mostly when watching dvd's at full screen
i know the difference is probably nowt com from 1024*768 as the dvd isnt that wide to begin with
so ive just got online after a dvd and by god i need to use the magnifier to read this forum
great for looking at pix etc but crap for reading text
and cos ive got a suck arse built in gfx card i normally run what few games it will play at 640*480 (even though xp doesnt support going that low for the desktop im guessing thats just cos no one should want to have xp THAT low)
and years ago on my mum's laptop i used to play startopia and hogs of war and due to the lcd's of the time compared to my 19" crt hogs was a pixilated mess and startopia was bliss cos it took its 800*600 game and put it in the middle of a black frame which i prefered
edit:
Why in the world would you have a 5:4 screen?!
iir pal amiga's were 5:4 320*256 compared to whatever aspect 320*200 ntsc/dos vga
mind you unless you wanted to be pal only those extra 56 lines were useless save for the bottom scrolly message boarder
Also I have a 1440x900 mode which is at 16:9 ratio
no 1600*900 would be 16:9 thats 16:10
Why do you have to make games in a specific resolution? Surely, you could just detect what resolution the user's desktop is, and run the game in that resolution... That way, there aren't any problems with monitor scaling etc. and people with large resolutions can still benefit.
Surely most games are coded so that they are able to draw properly in any resolutions anyway, right? ;-)
SebHoll: My desktop is 1920x1200. Not all games I run are capable of maintaining a playable framerate at that resolution.
This same logic applies to those running built-in graphics. They may have their desktop at 1280x1024 (quite common) but this may be a 32MB graphics card. Double-buffer a 1280x1024 32bpp screen and you're using 10MB of that already. It may also be that the 32MB isn't dedicated RAM, but grabbed from system RAM, meaning very slow accesses.
800x600x32 uses just 3.66MB. Also, redrawing the screen involves just 480K pixels, rather than 1.3M pixels, reducing the computation requirements by almost 2.75 times! This could easily translate to a framerate increase of the same amount.
Granted, a lot of hardware would cope very easily with a 2D game at 1280x1024. Problem is, we seem to be discussing a target market which has very old hardware, or without proper drivers.
if this was a movie analogy then i can see the point
4:3 pan and scan
4:3 letterbox/widescreen black bars
16:9 full screen or smaller black bars if another ratio
or the dreaded 4:3 tv show in 16:9 with black side bars but its better than a stretched image
i want the movie in its best version remastered widescreen directors cut with all the whistles and bells dvd extras
...
a game that is usually 4:3 but has the option of moving the hud and other gubbins for movement etc can benifit
RTS sim city civ etc the interface takes up valuable screen space (if its on screen) but if it can be hotspotted to a corner then its at that corner even if the corner is 480, 600, 768 or 1024
then do you give more game space or resize sometimes having less on screen is better in a way ... the less of the game space you can see the less you can anticipate without scouts
I said:
No way am I supporting three to five different aspect ratios. :-)
Vinylpusher said:
You don't have to support three to five aspect ratios. If you do it properly, you only need to support one generic aspect ratio which then adapts to whatever the actual aspect ratio is. I'm sure there was BMax code posted that does all you need for this by IndiePath some time ago. I'm quite certain because at the time he was just about the only person on these forums who understood the problem ( including me ) and it was his discussion on the subject which opened my eyes to just how big of a problem it is.
The only potential issue with this is the issue VinylPusher alluded to, with users actively choosing a resolution which distorts, in which case it's their own fault and they're used to it anyway.
MarkCW said:
Please explain in layman's terms how you go about having just one generic aspect ratio? Do you get the display mode, resize window and scale all graphics, or what?
What he said, Vinylpusher. I am using indipath's code:
' ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
' This function allows you to make games that can run at any resolution.
'
' To use it, make your game using whatever resolution you want to be the "standard" resolution. Ie, 800x600. Then call this function specifying that resolution for Width and Height after
' setting the graphics mode. And, voila! You can now set the graphics mode of your game to whatever resolution you want, and all your sprites will be scaled properly.
'
' If you're using the desktop resolution for your game, and you detect a widescreen resolution like 1920x1200, you could even set the width to be higher than normal to squash the screen
' horizontally so that a 1:1 aspect ratio is maintained. But if you do so, you may need to place opaque black pillar sprites outside the normal gameplay area to hide anything that normally
' appears out there. Alternatively you could attach all your game objects to a pivot and try using Sprite.SetViewPort() to clip them, but I think I heard somewhere that clipping doesn't
' always work or doesn't work with OpenGL or something. So black vertical bars would work better. Of course a user might desire that the image fills the screen more than they desire that
' the aspect rartio be correct, so you might want to just not bother with that at all.
' ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Function SetProjMatrixScale(Width%=800, Height%=600)
?Win32
Local D3D7Driver:TD3D7Max2DDriver = TD3D7Max2DDriver(_max2dDriver)
If D3D7Driver
Local Matrix#[] = [2.0/Width, 0.0, 0.0, 0.0,..
0.0, -2.0/Height, 0.0, 0.0,..
0.0, 0.0, 1.0, 0.0,..
-1-(1.0/Width), 1+(1.0/Height), 1.0, 1.0]
D3D7Driver.device.SetTransform(D3DTS_PROJECTION, Matrix)
Else
?
' If on platform other than Win32, or using OpenGL run this code.
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
glortho(0, Width, Height, 0, 0, 1)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
?Win32
EndIf
?
End Function
This code does not appear, as is, to be intended to allow you to write a game for one aspect ratio and play it in any other, it appears designed for you to write a game for one resolution and play it in any other... preferably of the same aspect ratio.
If you do it properly, you only need to support one generic aspect ratio which then adapts to whatever the actual aspect ratio is.
Which is what I've done. I wrote the game for 16:10, and it then stretches to fit everything. This is the only way to "support" _ONE_ generic apsect ratio and have it "adapt" to whatever the aspect ratio is.
If you do anything other than what I've done, then you're not supporting one aspect ratio, you're supporting FIVE aspect ratios.
Ie, you're designing your game around 5:4, the aspect ratio which is the most square, and then allowing more of the playfield to be visible in more rectangular modes like 16:9... (A potential nightmare for 2D style games where more playfield means bigger levels or special attack patterns for aliens) OR, you're designing the game around 16:9, and then displaying black bars on the top and bottom of the screen in all other modes. (Which simplifies things greatly.)
But regardless of which you chose, you're still "supporting" more than one aspect ratio by going those routes.
Also even the black bar solution isn't without its issues...
Because 16:9 is the widest aspect ratio, to make the game work in all aspect ratios, that would have to be the "default". But 16:9 is only used by people who have their PC's hooked up to a TV. Many more would be using 16:10. So all those 16:10 users with normal widescreen PC monitors would end up with black bars on the bottom of the screen.
The only good solution to that then would be to have the game squash vertically a bit in 16:9 res, and be letterboxed in everything else, except 16:10.
Which I'm sure you'd agree is a good solution, because you don't have a PC hooked up to a monitor and don't care about those people. Just as I find it hard to care about the poor 5:4 users. :-)
I'll just stick with the most popular one on the PC now, 16:10.
Well that's up to you, but I guarantee that won't be the most common aspect ratio of your users. You're confusing most common aspect ratio of a new monitor with most commonly used aspect ratio.
I'm not confusing anything with anything. I know 4:3 and 5:4 monitors are probably still on the most PC's, but 16:10 is now the most popular monitor style being sold, and tons of people got new screens on black friday, and people will eventually upgrade so in the next 2-3 years, most everyone will have 16:10 screens. SO... If what I'm concerned with is the longterm viability of my game, and not the immediate sales potential of it, then supporting 16:10 is okay, because that's not going to be obsolete anytime soon.
But... Maybe folks here are right. Maybe I should support 4:3 and other aspect ratios.
I am worried though that there was another issue with putting those black bars on the screen though. And I think it had to do with where the screen origin would be after the transform. But hopefully I am worrying about nothing. It might be an issue for other folks who would have to add some value to the position of everything in their game after the fact, but I used my sprite system and have a pivot I put in the middle of the screen which I attach everything to already, so I should only have to reposition that to fix any issue. And the black bars would just be sprites drawn over the edges to erase anything that goes into that extra playfield area, which would otherwise require the game to compensate on those screens.
So... You may have convinced me to look into it.
Ugh too wordy, but I'm not going to edit all that crap. :-)
I think it's pretty cool to be able to support all available display modes but it definitely does present some issues. Say for example you have a shootemup or some game which has a hi-score. People playing in widescreen see more of the playfield. If you network two players together and the other player doesn't have a widescreen display, and if they're playing against each other, it's possible that player 1 will see player 2 appear on their screen before player 2 can see player 1. That's an inbalance and could be considered unfair. And when if someone playing in widescreen has a little more reaction time to adjust to oncoming enemies, such that they get a higher score than players who play at 4:3? Do you then identify that in the hi-score table? Do you have different hi-scores based on the aspect ratio of your view of the game world? Or do you let everyone get away with it?
Also if you're looking at the difference between widescreen and normal screen, it's possible that having a normal screen lets you see more of the game world vertically, given that maybe you are stretching your widescreen game world horizontally to show the same horizontal game width. So then this person with a tall screen has an advantage over those with wider screens.
Trying to target multiple proportions of viewpoint and to then having a comparison or competition within the game between players generally is going to prove to be unfair, unless you narrow down how much of the display each player's view takes up so that they both experience the same proportions, but then this is not making any use of their full display.
It's kind of an impossible situation, the way I see it. I think it is cool if you write your game to be able to run at 2560x1600 and also all the way down to 640x480, and to make your graphics high enough quality that they look detailed at high resolutions without cheap stretching. But it's certainly not without its ramifications.
The shootemup I'm creating is pretty flexible in terms of display size, it's going to be able to run at up to 2560x1600 and down to 640x480 and everything in between. The on-screen display/hud is flexible such that it tries to keep things proportional and dynamically sized to make use of the space. I just provide a bunch of options to the player as to how they want the screen to be arranged, given the display proportions. Having a wider screen lets me put some stuff at the edges of the display whereas for a narrower screen it's better suited being a thin bar across the whole display. I guess it's best to adjust positioning based on overall screen proportions.
That said, supporting real high resolutions and also widescreen means you have to think about image quality. Low-res graphics made for 640x480 resolution, scaled up to run on a 1920x1200 display is barely going to look any better. All you'd get out of it is more precise object positioning/scrolling but no better detail. What I do (or plan to do) is to have a high resolution graphics resource and then scale it down at the start of the game and upload it to use the minimal texture space possible. Scaling down blurs things a bit, though, but at least then you get high detail at high resolution, memory permitting.
There are other types of games that maybe aren't suited to multiple resolution or aspects, though. One way or another, the view of the game world impacts the game.
One other thing to consider - what happens when you rotate your game world 90 degrees so the user can play with their monitor turned on its side? Widescreen now becomes a 10:16 aspect ratio, very tall and narrow, great for a vertical shootemup perhaps, but very unfair if that person were playing against someone who is viewing horizontally at 16:10.
Games should not be locked to any resolution any more. There is no reason for them to be. Back when 800x600, 640x480 or even 320x240 resolutions were expected, raster graphics were an acceptable requirement for any game aiming to have reasonable rendering speeds.
Now, however, graphics have advanced to the point that vector graphics can be done completely smoothly in 2D just as they are in 3D.
The only limiter at this point is the display, which definitely has a longer lifetime than the actual computer. I think it is a valid assumption that most (and by "most" I mean over 90%) of computers - even running casual games - will happily deal with SVGs.
SVGs give us more than compatibility, too. There are many technical gains there, including the ability to freely scale things without the destructive impact we see when scaling raster graphics.
I often use vector graphics as a reason why the games that come with the GNOME desktop environment are actually very impressive, even compared to those that come with Windows Vista. Vista's may be nicer looking at first glance, but if we ever get 12800x8000 resolution displays, they will be left in the dust while GNOME's look just like new. For accessibility, SVGs are a great thing since they let the player resize the game in windowed mode, completely intuitively. Granted, that ability is not immediate and not possible in all cases, but it is much easier with SVGs than with rasters.
vinylpusher, re integrated graphics:
They may have their desktop at 1280x1024 (quite common) but this may be a 32MB graphics card. Double-buffer a 1280x1024 32bpp screen and you're using 10MB of that already. It may also be that the 32MB isn't dedicated RAM, but grabbed from system RAM, meaning very slow accesses.
Damn, this is a very good point, as it likely applies to a large percentage of users. Guess I’ll be providing a configuration tool / launcher for my game after all…
I doubt the "get a bigger monitor" trend is going to continue for much longer. There's only so much room on our desks.
You can resize a game window in realtime easily enough regardless of how you draw the graphics.
The idea of using fully scalable graphics is quite appealing so long as that doesn't mean limiting your creative freedom, ie if you want to set a specific `dot` within an area you should still be able to do so, as if it were a pixel bitmap. Also rendering scaled vector art in realtime IS still a lot slower than just drawing textured quads. And when you do scale your graphics up to a high resolution display, what extra detail are you going to see that you don't see at a lower resolution? More levels of a gradient? Not poo-pooing it, but advanced vector graphics in realtime isn't quite viable yet.
Unless you can point me to some examples?
sswift: 1280x1024 LCD's have a 5:4 aspect ;)
And those are popular on mostly what... older laptops?
Pretty much any 19" non-widescreen monitor has a native resolution of 1280x1024, so they're a whole lot more common than you might think.
After all widescreen really is a fake sales gimmick - you get less overall vertical realestate *so that* it looks like you have a wider display - unless it actually is wider than a regular one.
More specifically: a 19" 'normal' screen gives you less square inches of screenspace than a 19" widescreen:
Remember, the size of a montitor is measured diagonaly. also remember that good ol' A^2+B^2=C^2 pythagoras thingey. They add up to:
"A 19 inch 4:3 aspect ratio monitor is 15.2 inches wide by 11.4 inches wide giving you a viewing area of 173.3 inches. But, a 19 inch widescreen monitor is 16.1 inches wide by 10.1 inches wide producing a viewing area of 162.2 inches."
In other words, a 19" widescreen gives you 11 square inches *less* space than a non-widescreen would.
Somehow, I have a feeling that being able to use 11 square inches less of expensive LCD panelling would look awful tempting to the monitor manufacturers... The whole slow move from regular LCD to widescreen LCD might be more of a manufacturer's push than a customer demand...
Never really thought about it until now but what about the new eee pc.. and the hordes of similar machines coming out no doubt... It has a screen resolution of 800x480... does anything support that resolution ?
I doubt the "get a bigger monitor" trend is going to continue for much longer. There's only so much room on our desks.
I dunno. When I got my 24", initally I was like "Holy crap this thing is huge... maybe I should return it and get the 22" instead." having just upgraded from a 19". But then I got used to it... And now, less than six months later I'm like "You know, a couple more inches of screen real estate would be nice."
Though you're right the trend must end eventually, unless our living rooms become where we do our net browsing, and then the sky's the limit.
But for desktops, I'd guess we'll max out around 24"-26" for normal users and 28"-32" for power users like graphic artists. And for gamers, I predict a lot of screens 2-3x as wide as normal and equivalent to a normal 26" widescreen in height.
But who really knows? When screens become as thin as paper and can be hung on the wall behind our desks, then maybe they'll be twice as wide as our desks and instead of running apps fullscreen people will just pull the window they want down to eye level. Cause even with this huge 24" screen I have, I still find the stupid tool windows in Photoshop get in the way of editing images. I can barely stick two images side by side and compare them. And when trying to compare 3-5 images, they've gotta be so tiny I can hardly see anything. So there is definitely a need for bigger screens for people who do graphics work.
why not get one of those projectory thingies :)
I doubt the "get a bigger monitor" trend is going to continue for much longer. There's only so much room on our desks.
True... Plus an annoying thing of (very) large monitors is that they also tend to get higher resolutions / smaller dot pitch... So fonts, icons and toolbars get really tiny if you run the screen at its native resolution...
I only just switched to 1280x1024 myself, and spend forever tweaking the display settings and appearance so I can actually read the text and see the toolbars on my screen. :-?
(Still beats the blurryness of running 1024x768 on a screen with a higher native res, though)
Anyway -- We got a few 24" screens at the office, and I find them too large myself. The catch is that I can no longer see the entire screen at a glance like I can with 19", unless I move it far enough away that I can't read the text anymore. scanning back and forth across the screen the whole time hunting for the info you're looking for gets annoying real quick.
How long until you think
HMDs replace monitors, and that we'll have to worry about peripheral vision next? ;/
Nah next will be a neural interface ;)
How long until you think HMDs replace monitors, and that we'll have to worry about peripheral vision next? ;/
For general purpose computing? Never.
Simply too cumbersome, and too annoying. Can you see grandma wearing one of those to type an email?
I'm sure that kind of thing will find some specialty uses, but it will never replace monitors as a whole.
I doubt the "get a bigger monitor" trend is going to continue for much longer.
You're right. Soon everyone will have 20inch+ montors and won't need to buy a bigger one. ;)
Maybe when screen size gets big enough for everyone they'll start increasing the dot pitch so that the resolution goes up without the inches increasing.
Dont worry, in 20+ years you wont need a monitors or TVs, you will have a DVI socket in your forehead :P
Can someone advise on the most common resolution for each aspect ratio I've posted below? I'm thinking I'll just detect the aspect ratio of the native resolution then set it to the most common.
'Normal:
'4:3 - 1024x768
'5:4 - 1280x1024
'Widescreen:
'16:9 - 1280x800
'16:10 -1680x1050
There's a fair amount of 16:10s running 1440x900 in the notebook/laptop territory, my MacBook Pro included.
(trying to aim for the lowest common denominator per aspect ratio?)
Dont worry, in 20+ years you wont need a monitors or TVs, you will have a DVI socket in your forehead :P
tarnation, there was me thinkin' I'd get by without hardware add ons to my heed before I retired. Ho hum. But the way the leccky bill is going up I'm sure a frontal lobe interface would save money in the long run - as long as you'd secured a member of the fairer sex before hand that is. Otherwise- whats the point ?
Hmm according to this site in 2006:
http://www.screen-resolution.com/common-screen-resolutions.php1024x768 was at 57%. And higher resolutions at 17% which is almost equal to 800x600 at 20%. I can only imagine that now in 2008 that 1024x768 must be MUCH higher as well as the higher resolutions stat.
800x600 DIE!!!
Alas, there is a terrifying number of people who lower their screen resolutions so they can read text.
It's not really a question of crappy monitors anymore, but rather: When will absolute coordinate GUI toolkits die?!
Alas, GUIs with flexible application font sizes are only used with the operating systems with the least market share. Great...
Basically you have 4:3(CRTs), 5:4(LCDs), and 16:9/10(Widecreen LCDs). 1024x768 will cover 4:3 and 5:4 while 1280x800 will cover 16:9/10. 32 pixel difference in height. Just have a "Widescreen: On Off" select on the options.
Just one problem. On my system 1280x800 is not a selectable resolution in the display settings, nor does Blitz report it. So I'm pretty sure that's not a common resolution for PC's, since I have a Geforce 8800GT, and if that doesn't support it, there goes a big chunk of your audience.
That leaves you with 1280x960 and 1280x720, neither of which are 16:10. So you'd basically be forcing pretty much everyone with a widescreen display to run in a non square pixel mode.