Author Topic: About GUI scaling.  (Read 3826 times)

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
About GUI scaling.
« on: October 17, 2017, 09:46:08 pm »
From Sergey Shipkin on kickstarter:

Quote
I see, huh. Thank for the detailed reply! I read a bit of forums and I see I'm not the only concerned about the overall "perceived size" effect. AIWC was "small" like everything was compact and tight from the UI to the ships icons. It has that unique feel of having a lot of handles and buttons to play with and generally I like this approach (for some people it can look overwhelming for sure), the game feels deep right from the first sight.

AIW2, on the contrary, feels "big" and kinda toyish, unfortunately, like a mobile game designed for touch screens. I saw the UI scale option but it works kinda weird just making everything smaller and not actually increasing the capacity. Oh, and also please add an FPS limiter of any kind, my GPU fan goes wild while it draws 500 frames per second!

I hope you'll find a middleground between these designs! Nothing seems to be set in stone yet except the core gameplay principles and there's plenty of time. Knowing your relentless pursuit polishing each and every game to perfection I don't doubt the success!

My response, which I figured was worth also posting here:

No problem at all.

In terms of the sizing, I suppose it's a bit of a "rubber band effect." One of the things that was complained about most in AI War Classic was how small the UI was, particularly on high-density screens. It's been a running complaint with a lot of our games that just looking at the GUI makes people uncomfortable and unsure what to do.

We started the process in TLF a teensy bit, and then a lot more into Stars Beyond Reach (RIP), where we wanted to make efficient use of screen space while also letting people drill down into information. A consistent complain from non-hardcore players of our games was that we were surfaciing SO much information that it was hard to tell what was significant. Our solution to that has been a general mindset shift to try to surface the most important information more prominently, and then allow for added info by context as needed. Even the expert hardcore players don't need the wall of text every time they look into certain tooltips, as that's going to slow down scanning the data with their eyes.

I know none of that is directly what you were mentioning, but it is all related in my mind.

The other thing we have to bear in mind is that we have people running 4K screens that are huge (like me), high-density 1080p screens that are hard to read at default windows resolutions (also like me), or running high-density displays like retina or the surface pro (which I sometimes test on), or are running at 1024x768 on a monitor of unknown size and clarity. The brightness and contrast is unknown and varied. Etc.

I think that problem has gotten a lot worse over the last few years. When AIWC came out, basically there was a pretty consistent pixel density to inch ratio. Some people would be a bit out of the normal range and would complain, or would have eyesight issues or how far they sat from their monitor issues, and so on. But the extreme range of experiences was not there.

Right now the UI looks pretty toy-ish I think partly because of the way the icons are designed and the way the actual tooltip box background looks. I really hate that background, I'm not sure why we're using it. But there hasn't been a good reason to switch it, and basically Blue did some really awesome earlier prototypes of the GUI that we showed during the kickstarter that are what I want to move toward.

One of the potential challenges we have is running the risk of becoming too monochromatic with the GUI, though, where all the icons start to bleed together and you can't tell what is what. The other risk is that things look too colorful and cartoony, like they do now. Rubber band effect again: the earliest versions were too hard to distinguish in terms of icons in the HUD, so I had Blue go the other direction, and now we need to find the middle again.

I'll also note that the GUI is supposed to scale in portions based on the screen size, and we haven't really tuned that properly yet.

I mentioned I play on a 4K screen, and it's a 42" TV or something along those lines. I sit about 3 feet from it, and it replaced my giant array of three monitors I previously had. I wanted to be able to test all the various types of resolution scaling, and that was the final type I was missing, although also it just plain out gives me more work-room than I had before, too. Regardless, most of the time I play with AI War in a window that is 900x600 or so, incredibly small, and then the rest of the time I play at something like 2400x1200. On the really tiny version, everything remains readable and usable, which I'm happy about. Some things move about in a wonky way that I don't like, but mostly that's settling down. When I play on the larger size, then things look more like Keith expects in terms of positioning, and things feel more natural, but yes I do feel like I've got old-person magnifying spectacles on -- or like it's a phone game, that's a good analogy.

Basically we have to ask ourselves what we want the default experience to be when someone comes into the game with a resolution larger than 1080p. If they are coming in at 1920x1080 or lower, then we should assume it's a standard-definition monitor and have sizes that feel natural. That's not the case right now.

But when it gets larger than that, do we assume a higher-density pixel display, or do we assume a bigger monitor? There's no way to check that in software, unfortunately -- in any OS, that I'm aware of. There are "dpi settings," but those don't actually relate to true monitor size. It's all relative, since your OS doesn't actually know the physical size of your monitor; prior to HDMI, possibly with the exception of DVI-I and whatever Apple was using, monitors were passive receivers pretty much.

Soooo... long story short, for people running higher than 1080p we're going to have to guess on the default scaling and it will either be cartoonishly large or incredibly tiny if we guess wrong, or just right if we guess right. With the rise of high-dpi displays outside of Apple, I don't know which guess is going to be accurate more of the time.

If we assume that larger displays at a smaller DPI are the norm, and adjust for that, then things may be so small on high-DPI smaller monitors that people can't adjust the settings screen it's so small. Then again, it may prompt them to go to the settings screen more rapidly. And it's probably a more familiar problem to them, since lots of programs don't scale up properly.

If we guess higher-DPI is the more normal thing, then for people with large monitors with a standard DPI (like my 4K TV setup) things will be cartoonishly large. That also might be somewhat expected... I guess? Then again, it might not drive people to the settings as fast. Then AGAIN, this is probably more common in the short term (22" monitors or whatnot are getting increasingly common it seems, although so are high-DPI laptops...). And despite it being cartoonishly large for some folks, it's not unusable for anyone, and they can be pointed to the appropriate settings.

So that's kind of the battle that we go through, aside from just finding sane defaults in general. Right now things are too large, but the good news is that if we can show it in a too-large fashion, we know that the game still functions that way if someone with poor eyesight is trying to play on whatever DPI. If we design the game such that things are at a more sane size from the start, then the oversized version likely won't fit at all. As it stands, scaling down the oversized one would probably just be adjusting a few numbers in a few xml files, and then presto things show up smaller, don't show as cartoony, and give you more play space -- more play space than you would likely have if we started with a more average size to start with, since we're having to be more conservative with our use of space right now.

Ultimately this is not where I want to end up, feel-wise when it comes to the scaling, but I definitely want this to be in the milieu of what people can choose to see, scale-wise, and not have the game feel cramped even if it does feel cartoony. Our playerbase trends older, and is only going to get more so as the years of maintenance and expansion on this go on, so having what is essentially a "comfort mode" be extremely usable if cartoony-feeling is something that makes me really happy. I won't be using it, personally, but that is why I test in such a small window during normal development; it forces me into an experience that could be uncomfortable, and then lets me make sure it's not (by complaining to Keith if it is; I don't want to take much credit there).

The really big win has been making this whole system so flexible that it can handle all of the above cases, and that's a big kudos to Keith. Seeing all the use cases and specs from me on that, I think he wanted to tear his hair out. Now it's all about fine-tuning the actual functionality, and then finding sensible defaults for scale. And of course making it look good.

Hopefully that provides useful insight. :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: About GUI scaling.
« Reply #1 on: October 18, 2017, 10:56:15 am »
I went ahead and split this topic, since a lot of it became about fonts: https://forums.arcengames.com/ai-war-ii/about-fonts-in-the-game/
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline FalseMyrmidon

  • Newbie Mark II
  • *
  • Posts: 24
Re: About GUI scaling.
« Reply #2 on: October 18, 2017, 03:58:08 pm »
I assume you've thought of making an assumption of the most common monitor size based on resolution?  Ie:

1080p - 22"
1440p - 27"
4k - 32"

For example (guessing at the most common screen sizes here).  You could even have people's screens go up or down an inch without it being affected too badly.  Would feedback about what scaling factor looked good for what size screen/resolution be helpful?

Also, I don't think your 4k 42" TV would be a common configuration but could be way off base there.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: About GUI scaling.
« Reply #3 on: October 18, 2017, 04:11:44 pm »
Problem is that a lot of times something that is done is spanning multiple monitors, and that's particularly common in our crowd.  You also have people who are on a high-density display of some sort, and 1080p is easily anywhere from 11" to 17" on laptops, to larger on some desktops or even TVs.  1440p could again be a 17" laptop very very often, or a 21" high-density monitor.  4K and its cousins vary quite a bit.

Incidentally, I expect the TV approach to become more common -- switching to that for me was cheaper than replacing two smaller monitors, and gives me more screen real estate.  Best Buy just sent me an email today about $299 4K tvs (not that I want another or something), and a few years ago it was hard to find a 1080p 22" monitor for that.

I'm just wary of making too many assumptions that we'll then be stuck with for another half-decade or so.  Just asking people what looks good on their setup is probably better than trying to guess all the permutations.  But supporting all the permutations is a big thing.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline chemical_art

  • Core Member Mark IV
  • *****
  • Posts: 3,952
  • Fabulous
Re: About GUI scaling.
« Reply #4 on: October 18, 2017, 10:12:05 pm »
GUI is actually a reason all my attempts to get into the game has stunk. My game won't expand beyond its base size. There is no option to maximize. I need to see why is that. But the whole system is too messy so I can't get any relevant data.

Also, 32" screen of 1080p. Hey, it was $160.
Life is short. Have fun.

Offline BadgerBadger

  • Arcen Volunteer
  • Hero Member Mark III
  • *****
  • Posts: 1,229
  • BadgerBadgerBadgerBadger
Re: About GUI scaling.
« Reply #5 on: October 18, 2017, 11:29:05 pm »
Does the settings menu not work for you? I can change my window width and height, or just set it to use Fullscreen.