Increasing GF's Resolution...

Discussions regarding the development of the mod "Grim Fandango Deluxe"

Moderator: ScummVM Team

User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Increasing GF's Resolution...

Post by JohnnyWalker2001 »

This is something that's been talked about since the beginning of the project, but now we have some fantastic looking models to play with, it's really becoming something worth investing time in.

Even by just increasing the resolution by a factor of two, you can improve the quality of the game drastically:

Image

Both are the latest GFD models. The one on the left is how Grim Fandango currently looks. The one of the right has its resolution doubled. (The backgrounds remain identical.) Quite a difference!

Unfortunately I have absolutely no idea how upping the resolution of the game might be achieved, so I'm just throwing this out there for any keen developers... :)
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

There is (disabled) code in ResidualVM that allows rendering at 1280x960, effectively doubling the resolution. This only works ok for the OpenGL-renderer, as OpenGL doesn't really have any issues with scaling, whereas the software renderer (which already is rather overworked) would have to do a lot of extra work to scale the 2D-elements.

Right now, this functionality is there, and has had rudimentary testing, but it is disabled, as we were aiming to have a properly well-tested release, without any possibilities of additional issues caused by extra functionality.

The point being, it is feasible, as long as you don't want it to work for the software rendering too.

Those who are interested in experimenting, should have a look at the setupScreen-function in engines/grim/gfx_opengl.cpp, if you change the first 3 lines so that every instance of screenW and screenH are replaced by screenW*2 and screenH*2, you should, in theory get a 1280x960 window. But then again, I haven't looked at that piece of code for atleast a few years.
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

That's great news! I have no problems with it being Open-GL only, either. Maybe you guys could take another look at enabling it as an option (even if it's only via the residualvm.ini)? :)
Alexitoplayer
Posts: 2
Joined: Wed Dec 04, 2013 12:08 am

Progress report

Post by Alexitoplayer »

Hello
How's the progress of the game?
Nitrus
Posts: 177
Joined: Wed May 18, 2011 9:49 am

Post by Nitrus »

About increasing the resolution, I've tried out what somaen said and that indeed is the code, although with a bit of a twist.
I guess your display must support the resolution you're trying to achieve as native, otherwise SDL will throw an error.
E.G. My laptop has a 15.6" display, and maximum resolution is 1366x768, so when I tried to double the resolution of ResidualVM ( multiply by 2 ) I got:

Code: Select all

...
WARNING: Couldn't create 32-bit visual, trying 16-bit!
Could not initialize video: No video mode large enough for 1280x960!
Actually, it worked when windowed, but crashed when I tried to launch it fullscreen, or ALT + Enter into it, so it might be the resize.

Then instead of doubling, I just inserted a fixed resolution of 1280x768 (which my laptop supports), and it worked great. I could really see the difference, and it's quite smoother.
P.S. I tried all of this on a dedicated nVidia card, so OpenGL was clearly supported.
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

But you will get noticable aspect-skewing, right?
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

Weird... but interesting! How can it know the "native resolution"? Do you mean the same resolution as Windows?
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Re: Progress report

Post by JohnnyWalker2001 »

Alexitoplayer wrote:Hello
How's the progress of the game?
The game is fine. The mod's status is in the thread called Project Status
Nitrus
Posts: 177
Joined: Wed May 18, 2011 9:49 am

Post by Nitrus »

@JohnnyWalker2001: Yes, by 'native resolution' I meant a resolution that Windows supports, e.g. my optimal one is 1366x768, common ones are 640x480, 800x600, 1024x768, 1280x960, 1680x1050 etc., it all depends on the display device really. About knowing the native resolution, I think that's an SDL thing. E.G. I can run a 4000x4000 window if I'd like, but not fullscreen. Maybe it's just a simple check to see if the height/width that you're trying to achieve is bigger than the one your display supports.

Just as an example, here's a 5333x4000 image (4k x 1.333AR), ran it fine in a window, not able to run it fullscreen.

@somaen: Yes, I do get noticeable skewing, but I get that either way when I go fullscreen, even with no upscaling at 640x480. Here are some images below, all of which are taken at my optimal fullscreen resolution ( 1366x768 ):

Image Image Image Image Image
Gotta love the way how even the textures look better.

P.S.: I couldn't find a method to take screenshots, is there one? Prtscr doesn't work when fullscreen, I guess because of the GL. I took these with some SDL Surface Scale code I put in.

P.P.S.: On today's machines, the upped resolution, the recreated textures, recreated backgrounds ( with some patience ), and the deluxe models could really lead to the game looking as good as today's games.
The only limitations I see currently are recreation of the videos (which is highly doable from an animator's point of view, the animations aren't that hard as the characters are skeletons, and there wouldn't be too much skinning / weight painting ), and the hierarchy of the models, which makes the models chopped up in different pieces, so we get the effect of arms being separate from body, etc. If only they made animations to be handled by polygon groups or something... :)
And to think that only two years later, EMI uses skeletal animations and morphing.
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

Looking at those pictures, I must say that the Deluxe-manny is a bit too bright, and has lost the shadows on his jacket.

As for the complete redoing, that would perhaps be a bit iffy, as you'd be ending up in a situation where you're basically distributing more or less all the data that is needed to play the game, in a filtered, or reanimated form. Which means that you're going to have to look into the legality issues a bit more.
Nitrus
Posts: 177
Joined: Wed May 18, 2011 9:49 am

Post by Nitrus »

I guess so, but we'll never distribute the binary, and for it to be played through ResidualVM, it still needs to detect the md5 of the original files in order to let people play with modified content. What I'm trying to say is that you'll always need to have the original in order to play it with modified data.
On the other hand, I'm not educated in law, so everything I've said could be irrelevant :)
Alexitoplayer
Posts: 2
Joined: Wed Dec 04, 2013 12:08 am

Post by Alexitoplayer »

Perhaps the tie and neck should have a black outline.
manny should maybe have a little more shade.
And manny looks a bit fat
Nitrus
Posts: 177
Joined: Wed May 18, 2011 9:49 am

Post by Nitrus »

The color changes are viable, but are you saying he looks fat in the images, or have you actually tried it out yourself?
The images are stretched, which is why he might appear fat, and if you haven't tried it out yourself, here's how you can do that:
http://forums.residualvm.org/viewtopic.php?t=258

EDIT: You can take a look at the ridiculously large image to view him in the correct aspect ratio.
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

@Nitrus WOW. The game looks SO much better at higher resolution. I'm amazed (and pleased) that its effect is so profound... If only we could figure out how to make it work :)
somaen wrote:Looking at those pictures, I must say that the Deluxe-manny is a bit too bright, and has lost the shadows on his jacket.
The new textures are identical in colour and brightness to the original ones. Could it be something to do with the model itself? Personally I think the new Manny looks great.
Nitrus
Posts: 177
Joined: Wed May 18, 2011 9:49 am

Post by Nitrus »

Since I was actually able to do it, I think it would be fairly simple. But because I haven't really looked at how ResidualVM's display layer really works, the way I did it was butchering the code, really. I was passing fixed values for the width / height, and that's not the way to go.
As it really is just as simple as somaen suggested, I'd wait for somebody more knowledgeable in the area to provide a more elegant solution, otherwise I'd probably have to spend time acquainting myself with the sdl-backend, to figure out a way to make it able to run fullscreen. Maybe not, as I said, I haven't really looked at it.

About Manny, maybe he could use a bit of a darker shade beneath the jacket flaps, but ultimately I have to agree with you, I think he looks good as he is.
Post Reply