Legacy GM Fullscreen scaling

Zuurix

Member
Hey guys,

I use window_set_fullscreen() in my game and currently, I am using aspect ratio scaling. I think the game looks better that way, but some of my players would like that there would be no black bars, that appear if using aspect ratio scaling.

In global game settings, you can choose between aspect ratio scaling and full scaling.
I want to let players choose that from in-game options.

My question is - how to do that? Maybe there's a simple function for that? Or code?
I've looked at manual, but couldn't find anything about that.
 

Zuurix

Member
surface_resize(application_surface,display_get_width(),display_get_height())
Yeah, that works. The only problem is that something happens with graphics.

Original:


Scaled with surface_resize():

I'll look at what I can do with application surface. Thank you =]
 

RangerX

Member
I think your question is not that simple. (or maybe it is, I dunno)
First off all, if you take care of the scaling and letterboxing yourself in your game instead of using GameMaker's options, it will be easy to figure out options for your players. In order to take control of everything, glance at my thread:
https://forum.yoyogames.com/index.php?threads/how-to-properly-scale-your-game.995/
The "pixel perfect" method basically makes you control everything.

Now in order to not have blackbars there's different approaches that are suiting different games.
- If you just stretch the application surface, this will deform your graphics for many people.
- You can adjust the view according monitor size, but each player will have a different playfield view (and imagine peeps with 4k monitors)
- You can mish mash a couple of things, stretching, overscan and whatnot. But this becomes a nightmare to accomodate everyone.

The only way to make sure EVERY player is having the same experience with the game is to make the game identical on any monitors and have letterboxing at certain sizes because there's too many different resolutions out there.
Besides, letterboxing is much more elegant than blur coming from uneven resizing, deformation or affecting the experience in any way because of a different playfield size.
 

Nux

Member
to remove black bars you can multiply the view height by the current monitor's aspect ratio. then set this value to your view width; the width of the view will become directly proportional to the view height.
 

zendraw

Member
i think itsbest for you to check PixelatedPope`s videos on this matter.
its very clear about what options you have.
 
Top