Image Dimensions in Single Screen 2D

Blitz3D Forums/Blitz3D Beginners Area/Image Dimensions in Single Screen 2D

drankin(Posted 2003) [#1]
Hello Everybody,

I apologize if this question seems incredibly obvious, but I've spent the last 6 years doing mostly non-GUI programming and only recently decided to try video games with Blitz. Anyway, after working through the "Learn to Program 2D . . . " book for a while and reading through the posts here, I still don't feel like I know the answer to this question.

What's the "standard" way for determining the dimensions you should make your graphics in a single-screen 2D game? In other words, say I wanted to make a card game where 20 cards were laid out side by side on the screen. If the cards were 35 pixels wide each, then on a resolution of 800 x 600 or higher, this layout wouldn't be a problem. But, I'd like to give my users the option to set their monitor to whatever resolution they'd like. So, if they chose 640 x 480, with cards that are 35 pixels wide each, I'd only get about 13 cards going across the screen. Does this mean that as long as I want everything to fit on a "non-scrolling" screen, I have to make all my graphics for a target resolution of 640 x 480 and then just let the layout expand out on higher resolutions? Do I need to make copies of my graphics for several different resolutions and then choose the set of graphics I load based on the resolution the user selects? Maybe I should just set the resolution myself and not give the user the option? Anyway, as you can see, I can imagine a number of possibilities, but none of them sound that good to me. Is there a standard way of doing this?

Thanks in advance!

-Dave


semar(Posted 2003) [#2]
Hello drankin.

Nice question indeed.

IMHO there's not a standard here; you decide which size your game is going to be, but of course, you have to deal with the user's graphic card capabilities. For example, if you make a game that runs with a 1024X768 screen, and the final user has a gfx card that does not support that size, then the game is screwed up.
Same thing, if you choose strange 'non-standard' resolutions.

I would say, 640X480 is the most 'safe' resolution. Why ? Because is a resolution supported by most of the gfx cards, expecially old ones. That means, your game can be played on lots of machines.

If you want to have more screen space in your game, and obviously more details, then go for 800X600.

Since you decide a 'fixed' resolution, you do not have to redesign your sprites; and it is also true, that if you build your game to appear full screen in 640X480, it will still be playable in 800X600; the sprites will be smaller but more defined.

It's up to you really. You can give the user the possibility to choose the resolution, but then you have to make your program able to react to it and change positions of sprites and maps and such, accordingly.

In the other way around, if you decide that the resolution can't be changed, is less work for you.

From my experience, I would go for a fixed resolution.

Nowadays 800X600 is becoming the standard, as well as 640X480 was in the past. Anyway...

One thing I would give to the user is the possibility to run the game in full or windowed mode.

Just my though,
Sergio.


Bremer(Posted 2003) [#3]
You could create the sprites to be used with 1024x768 resolution and then use the resize command to shrink them if the user chooses a lower resolution. This way you don't need to have more than one set of sprites although you will loose a little detail when on lower resolutions.


drankin(Posted 2003) [#4]
Thanks! So, it sounds like it really just is up to me and how "user-friendly" I'm trying to be. Well, it's gonna be more work, but I think I want to go with the ways that give the user the option of what resolution they want and I'll just make the code flexible enough to handle the differences.

Thanks again!


cbmeeks(Posted 2003) [#5]
Problem with resizing images is that they never look good...not for something that needs to be detailed like cards.

I would suggest a static screen...some people are too ignorant of screen sizes and a choice like that may confuse them.

I would say stick with 640x480. 99.9% of graphic cards out there will support that...I mean, that's the mode MS uses for safe mode!

I *might* try 800x600 but if you are making a card game, and hope to sell it, you want to target the office worker who sits there on their cheap computer their boss bought them with its tiny 14" monitor running 640x480 who plays games all day...lol

cb


Sir Gak(Posted 2003) [#6]
You might try this: Design two card sets of images, one for 800x600, the other for 640x480. As the others have already pointed out, these two resolutions are pretty much the standard ones for the overwhelming majority of users out there. Just be sure to use the command to be certain whether a certain resolution mode exist on their graphics card.

GfxModeExists (width,height,depth)