Suggestion: 16:9 widescreen modes in AGS

Started by GarageGothic, Wed 08/02/2006 12:46:50

Previous topic - Next topic

GarageGothic

Seeing as most laptops these days have 16:9 or 16:10 displays, I'm wondering what the options are of running AGS games on such a display without stretching, showing black bars on the sides of the screen or running in a window.

From a coding point of view, I find it an interesting challenge to make a game that runs in 4:3 as well as 16:9 resolutions. But I'd like to know if it's actually possible. Since AGS can use 640*400 resolution which is 16:10 aspect ratio, I am wondering whether it would be possible to make a game that ran in both resolution, only showing a certain part of the screen (top part by default) in widescreen resolutions and the full screen area in 4:3 aspect ratio?

Edit: I know it's not currently possible, since there's no choice between 480/400 in the setup menu. So basically I'm asking CJ if this would demand major changes to the engine, or it would be a trivial matter to allow viewport flexibility.

RickJ

Why not just ask for a couple of 16:9 resolutions be added to the game setup.  We already have scrolling rooms, so on a wider screen you would get to see the whole background or at least a larger part of it's width.   I think the technical and practical aspects of adding more and/or higher screen resolutions have been discussed here many times before so I won't go on, except to say that I have always been in favor of higher resolutions.   

I don't think schemes involving stretchig, clipping, etc would be of much use for games that were never designed to be played on a wide screen or that don't have scrolling rooms.   


GarageGothic

No, the thing is that AGS already has a widescreen ratio (640x400) - the main issue is that you have to compile your game for either that resolution or 640x480. The player can't choose between the two in the setup menu. Also, widescreen resolutions aren't necessarily higher than normal resolutions, and that's not what I'm asking for. I merely want to be able to display my background in a widescreen format without any stretching, a wish that has become even bigger after trying to run Gabriel Knight I and II on my girlfriend's widescreen laptop. More and more people are replacing their desktop computers with laptops, and it's getting hard to find a modern laptop with a 4:3 aspect ratio (my main reason to sticking to the old aspect ratio when I chose my laptop was actually that I wanted to use it for AGS work).

Yes, the games would have to be designed for it, to avoid important screen information getting outside the viewport. But since many games don't use the whole screen area for backgrounds anyway (i.e. the LucasArts games), it wouldn't be very difficult to detect which resolution the player was running and change to a different GUI that didn't take up the non-background part of the screen.

Dorcan

#3
In the setup menu, you have the option called "Force Alternate Letterbox Resolution", which does what you need. Once checked, a new line is added in acsetup.cfg, forceletterbox=1, and the game runs in 640x480.

GarageGothic

#4
I will check up on this, but as far as I know, all that does is to add black bars on the top and bottom of a 640x400 screen to fill out the remaining 60 pixels. My idea was to be able to use the full screen in either format.

Edit: Quote from the manual "The "Force alternate letterbox resolution" option is only available for 320x200 and 640x400 modes, and tells AGS to actually run at 320x240 or 640x480 instead, with black 'letterbox' borders at the top and bottom of the screen. This is useful because some computers no longer support the 320x200 or 640x400 resolutions, but do support the letterboxed versions."

Pumaman

Really, this sort of feature should be provided by the graphics card drivers on the laptop ... I'm surprised that there's no setting in Display Properties to allow this sort of thing, considering the huge number of games that run at square aspect ratios.

GarageGothic

#6
Perhaps I'm just bad at communicating, but I think you are misunderstanding the issue. The only thing drivers would be able to do is:

1) Stretching/squashing the 640x480 screen, deforming square pixels into horizontal rectangles

2) Displaying the 640x480 image centered on the screen with black boxes on the sides

3) Possibly cropping the full screen image, so that there's screen area outside the visible viewport (i.e. being able to move the mouse cursor off-screen)

As I said in the original post, I'd specificly like to be able to use a widescreen aspect ratio: "without stretching, showing black bars on the sides of the screen or running in a window."

Let me explain in more detail, what I imagine. Say you have a 640x480 game running in classic LucasArts style with an interface taking up the bottom 60 pixels of the screen. This is what you see if you play on a 4:3 monitor. However, if you start the game in a widescreen resolution, the program detects the alternate resolution and adjusts the GUI accordingly, turning it to popup-modal, activated with a key or whatnot), allowing the background graphics to fill out the whole width and height of the screen.
I just thought that since it's possible to turn a 640x480 game into 640x400 by just changing a setting before compiling, it might also be possible to do it at runtime or just as an option in winsetup (not too different from the "alternate letterbox mode", except in reverse). It wouldn't even be necessary for the engine to positioning the image or remap the screen coordinates since this could be handled in scripting. Even locking the mouse so the cursor couldn't move beyond (mouse.y==300); What I'm asking for is pretty much to add a mode to "cut off" the bottom part, passing the top 640x400 area of the screen to a 640x400 viewport, in a way that the widescreen monitor would show it full screen.

Pumaman

Ok sorry, I misread your post as "without stretching, and instead showing black bars on the sides of the screen or running in a window" -- so I assumed you wanted solution (2).

What sort of resolutions does your laptop support? Unless the width is still 640 or 800, you're going to need some manner of stretching or black bars in order to use the full width of the screen...

For example, if your game was written at 640x480, but your laptop had a special 640x300 resolution, then it would be possible to have it cut off the bottom part when running on the laptop.

But if your game was 640x480 and your laptop had a 700x400 resolution then that would need black bars at the side or stretching in order to work.

GarageGothic

Of course it depends on the native resolution of the specific laptop screen. And I never thought it would be possible to avoid stretching altogether - that's just something you must expect from any 2D graphics on a TFT screen (my own 4:3 laptop monitor is 1400x1050, and full screen 640x480 games look fine). When I said "stretching", I rather meant deformation of the screen dimensions. I was rather depressed to see a short, fat Gabriel Knight running around on the screen, and imagining what my own game would look like on such a display. I have a lot of experience creating web sites that adapt to the screen resolution (not aspect ratio though, that was before 16:9 became widespread), so I started to toy with the idea of creating a game that would adapt to the screen format.

There's still the issue of small variances in aspect ratios. It would seem that 16:10 is a bit more popular for computer screens although 16:9 is the official widescreen format introduced by TV. I do however think this difference is negligeble. The main issue should be that the pixels remained more or less square when running full screen.

I don't know how this should be solved technically. I just thought that since AGS already supported 640x400, and does perform a kind of cropping when compiling a 640x480 game in this resolution, it might be possible to allow both aspect ratios without too much extra work.

Pumaman

Quote from: GarageGothic on Sat 11/02/2006 21:57:16
When I said "stretching", I rather meant deformation of the screen dimensions. I was rather depressed to see a short, fat Gabriel Knight running around on the screen, and imagining what my own game would look like on such a display.

This is where I would say it's the video card drivers responsibility to provide left/right black bars in order to stop the "short-fat" effect.

Really, I'm not sure that this is something that AGS could tackle, or at least I can't see how it could do so.

GarageGothic

Ok, thanks for considering it though. It would just have been nice to avoid the black bars (I even heard that they can actually "burn into" the TFT screen if you run in alternate formats for a long time, because the rest of the pixels wear down quicker, so you get noticable difference between the edge pixels and the rest of the screen).

Either way, I made some experiments with the 640x400 format running full screen without "alternate widescreen" format. And it looks exactly like a widescreen TV or video game image do if you watch it on a 4:3 ratio TV/computer screen (a lot of console ports have both modes, GTA III comes to mind). For that reason I thought that the same resolution would give a perfectly proportioned image on a 16:10 screen (16*40=640, 10*40=400). So it seems AGS can tackle it - is anyone with a widescreen laptop able to confirm how such an AGS resolution shows up on their monitor? The question is just where in the process the resolution must be decided. DOES it have to before compile or could it be done at runtime? Since switching between the two formats in the editor and quicksaving takes less than a second in my 60+MB game, it would seem that none of the art resources have to be reformatted in any way. So I assume it's a matter of resizing the viewport and positioning the graphics within this.

Volcan

How about adding 640x360 resolution? It would be cool to play ags games in full screen on 16:9 monitors.

:) :)

Wyz

This is an ancient topic. Since AGS has been open sourced and someone created a branch that enables custom resolutions. I could not find it just now, but ask around. :)
Life is like an adventure without the pixel hunts.


Volcan


Gilbert

Please report your problem in that new thread. This is now outdated and locked.

SMF spam blocked by CleanTalk