Do you offer widescreen support?
Miscellaneous Forums/General Discussion/Do you offer widescreen support?
Hi,
just adding the final touches to our next Blitz 3D release (Interstellar Highway). It was developed solely on a widescreen laptop but the game runs in 1024 * 768.
So I figured hell why not add support for wide screen formats (specifically 1440 * 900) and that's what I'm doing now.
It's a bit of a pain cos I use Sprite Candy and things have to be resized / repositioned depending on the resolutions.
Anyhow was wondering whether anyone else caters for widescreen formats?
I don't. In fact I don't even offer resolution options, gasp! It's 800x600 or nothing.
*SHOCKHORROR*
Thats why your games are so tiny on my screen Grey :)
I haven't in the past but Widescreens are so common now I will make sure I do in future games. It should be as simple as scaling the camera along the X axis in B3D :)
both my mac and my laptop is widescreen.. :)
@Cygnus,
no as mentioned I use Sprite Candy and it's not that simple and scaling on the X axis will squash things will it not.
As most laptops these days are capable of running Blitz games and most are widescreen that's a huge potential market so I'm going for it...
You can use the Projection Matrix to either stretch to fit or to make additional viewing area available.
EDIT- It Blitz3D it's just camera scaling.
I've tried scaling the camera and it looks terrbily wrong.
hmm, It's all I need.
Something like "1/(width/height),1" as thre scaling should do it.
Yes, it would squash, but thats what you want to do, so that on a widescreen, it "squashes" to normal size ;)
Anyway, I can see where you're coming from- you probably wouldn't want to scale GUI gadgets (if they are pixel perfect for example...)
In which case, use two cameras?
@Cygnus
but a widecscreen format like 1440 * 900 doesn't squash meshes therefore they don't need squashing back into shape. It's just the viewport that's different.
Ah, yeah, haha, I just thought of that last night :)
800x600 is the casual game standard atm.
@Chroma
and if you have a widescreen laptop or monitor you would be happy to have black area left and right. I don't.
If you're using 800x600 in fullscreen, laptops will scale the screen up. Thats when the scaling technique works.
I do, or at least am planning to. I have a small demo I made to test it working. You have to really take into account aspect ratios if you want to do it properly since you'll need to be able to keep your objects in proportion.
I work on a 1440x900 widescreen display and wanted to be able to support that plus other modes including other aspect ratios, and have everything automatically be scaled to keep proportions. Setting up your own projection matrix (camera) is the way to go as Indiepath said. Then you have control over things being automatically sized without having to adjust any object coordinates or dimensions.
I also decided to go with a 0..1 coordinate system whereby, if you're locking the vertical proportion, the top of the screen is 0 and the bottom is 1. Then when you go to widescreen, that stays the same but the width changes, to like 0.. 1.2 or whatever. If you're trying to draw the same objects at predictable positions on screen and you're supporting multiple resolutions and aspect ratios, you can't rely on pixel coordinates any more.
I do. There's nothing worse than a game with distorted graphics. It's not 1993 any more you know.
There is NO need for distorted graphics. I'm 80% done with the widescreen version and looks great. Will post some example shots when I'm done.
Games that don't cater for widescreen get a thumbs down from me - like Flameduck says, this is 2007 and a large number of laptops and screens being sold are widescreen 16:10 or 16:9.
I hate seeing a 800x600 game stretched out, it looks awful and makes your eyes go funny. When you exit the game, your standard desktop looks really 'thin' vertically.
Basically I think you should cater for it. To not do so looks unprofessional and lazy.
Why *not* offer a widescreen option? For a little work (and it should only be a little, if you've planned it from the start), you offer a far superior visual experience to those users (and there are more and more each day) with a widescreen display.
Widescreen TFT's are /not quite/ the standardd yet, but it's not far off. I wouldn't be surprised to see all panel manufacturers supplying /only/ widescreens within the next 5 years.
Is there a way to autodetect widescreen though? Probably not...
Anyway not all laptops auto distort 800x600 do they? Some do the black lines instead.
Anyway not all laptops auto distort 800x600 do they? Some do the black lines instead.
If Laptops are setup like normal PCs, odds are very good that it's all configurable in the vid card drivers.
Anyways, regarding widescreen support, I don't see the hassle personally, you just need to code your cameras and GUI to work and re-position themselves correctly on different setups, similar to CSS coding.
Is there a way to autodetect widescreen though? Probably not...
Generally there are 4 different square pixel aspect ratios on PCs. 4:3, 5:4, 16:9 and 8:5. You can compare the current screen resolution with either of these ratios to figure out which it is. My GuiLauncher example (MaxGUI) allows you to filter out certain aspect ratios. The source should provide you with enough info to go on.
you can do it in windowed mode (3) (and get rid of the blitz title bar and border)
I had some code for this from this forum but am at work and cannot postit.
I would go for widescreen (at least as an option). Heck, make the game only in 16:9, and letterbox the 4:3 version. :) If you're doing a Mac version of your game, all new Macs, since the last iBook (a year or so ago) have widescreens.
At the moment I'm really loving the widescreen LCD I have at work, because I can rotate it and have a tall screen. It's great when working with code, browsing or any kind of text. I want one at home too. I currently have a widescreen 24" CRT monster at home which weighs around 46kg (100lbs). No easy way to flip that on the side. :-)
Interstellar Highway is great in 4:3 on my widescreen laptop (with black 'bars' either side) HOWEVER in 'true' widescreen (without stretching) it's much better especially as it's more of a landscape game rather than a portrait game.
Remember the old arcade machines? The 4:3 monitors used to be turned 90 degress....
Anyhow glad we have started this debate. I for one will be offering all future releases with 4:3 and widescreen support for the simple fact that...
1. I develop on a widescreen
2. Bigger potential market.
What I do is similar, I figure out if the aspect of the pixels themselves ie width/height gives you the same value as you'd get for a known aspect ratio, e.g. 16:10, and then make the assumption that the ratio is in proportion and size accordingly. The only problem is, it is possible to have modes which are not in proportion in terms of aspect - e.g. my widescreen monitor has a 1024x768 mode which stretches to fill a 16:10 aspect. There's no way to tell other than through user input. Unfortunately Max doesn't tell you what the aspect ratio of the mode is, which would be really nice. There's probably too many differences in the display hardware to do it consistently.
I'm definitely supporting it with my newer projects. Now that I have a few widescreen displays it has become increasingly important to me as a player and a developer. The upscaling for old native resolutions to widescreen is a hindrance in games that don't support it.
Also most not-widescreen LCD screens actaully have a 5:4 aspect ratio (1280x1024 max. resolution) rather than a 4:3 one. Making your game aspect ratio independant fixes this little issue as well.
Thanks for the tip FD. So examine the desktop res and work out the aspect ratio and then start the game in the same ratio. OK I'll consider this. It could be a cool feature to have on the list of bullet points: "widescreen supported"
Grey: Would be a col addition to your framework too ;)
I always went with a 16:9 aspect ratio in the last projects. Looks cinematic, good on HDTV-screens and on 4:3 screens at least you can save some performance on the gfx side.
my game supports resolutions from 800*600 up to 1920x1200 (even those 16/10,16/9,5/4 ones). i think this is a must nowadays. you can't go without them.
RiK: Yep guess so. It's not on the cards right now but I've added it to the to do list. My latest game will result in quite a few framework additions too probably.