Jump to content


Photo

Developing a Game around Resolution(s?)


  • Please log in to reply
29 replies to this topic

#1 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 07 August 2012 - 03:43 AM

Hey all! I'm at the very beginning of creating what I hope is my first major project, and I've been running into a few walls in my thought.

The major problem, at the current moment, is resolution. This might not sound like much, but it's a serious issue, so please bear with me.

It may help if I describe my prototype a little further. I'm attempting to create a largely environmental and atmospheric puzzle game, where a large
majority of the game revolves around exploration and slowly getting to grips with the world. Anyone who's played Seiklus or Fez will know the idea.
Essentially, art, design, and detail will be a major part of the final appearance of the game, as well as the player's ability to appreciate the imagery.

So here's where the issue lies. I'm going for a style in which each room is designed cinematically - framed like a static shot that you can walk through, accessing
doors or other transportation in order to reach other rooms. Seiklus did something similar to this, but its camera was also able to move along a single axis in most rooms,
with the exception of a few "free camera" areas in the overworld. And Fez avoids this issue entirely, as the rooms have no borders other than water and open air, and the
rooms that do have borders have the stability of being designed for a single resolution: it's a console game, so the native resolution is globally the same.

With that said, here's something to look at: a resolution benchmark test. Please run it and take a screenshot of what you see with Print Screen. (It's force fullscreen for now.)
DON'T edit the image in any way: I'm running a test to see how well my test engine can correct itself to arbitrary resolutions. So keep the black borders, as there most likely will be some.
Upload it to a site like Filesmelt or Imgur, and then post the link to this thread - the more samples I have, the more reliable I know the engine is.

Edited by Splaff, 08 August 2012 - 07:01 AM.

  • 0

#2 lukesterspy

lukesterspy

    Robofish

  • GMC Member
  • 762 posts
  • Version:Unknown

Posted 07 August 2012 - 06:38 AM

One possible way would be to make the game drop to a resolution exactly half that of 1920x1080 (960x540). Technically most computers nowadays should be running at resolutions that can support at least one of those sizes. If you used a pixel art style that is a little more retro (by spriting, for example, a 64x64 image and stretching it to 128x128 upon completion), halfing the size of the game window wouldn't look that bad. Granted, this would still leave you with a black border on a lot of computers if you are planning on making the game work primarily in fullscreen, and it sounds like you might be trying to avoid that. If you are going for a cinematic effect however, a black border can add to that feel (in my mind, it would be similar to watching the widescreen version of a dvd compared to the fullscreen version).

Edited by lukesterspy, 07 August 2012 - 06:42 AM.

  • 0

#3 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 07 August 2012 - 06:51 AM

I had an idea: if I were to design the game's graphics and scenery at 640x360, would it be acceptable to automatically
set the game's resolution to a multiple of 640x360 if the player's monitor is large enough?

640x360 would be graphics that were 1x1 to 1x1 - no scaling up.
1280x720 would be graphics that were 1x1 to 2x2 - doubling the size (to achieve the retro effect).
1920x1080 would be graphics that were 1x1 to 3x3 - tripling the size (to achieve the retro effect).

I like this configuration in particular because it both supports the "non-scaled" version of the game
for extremely poor monitors, and also supports both HD 720p and HD 1080p, simply by the scaling.
Are there any other similar solutions, or is this an unacceptable way to do this?

Edited by Splaff, 07 August 2012 - 07:46 AM.

  • 0

#4 TerraTwilight

TerraTwilight

    GMC Member

  • GMC Member
  • 27 posts
  • Version:GM8

Posted 07 August 2012 - 07:42 PM

I had an idea: if I were to design the game's graphics and scenery at 640x360, would it be acceptable to automatically
set the game's resolution to a multiple of 640x360 if the player's monitor is large enough?

640x360 would be graphics that were 1x1 to 1x1 - no scaling up.
1280x720 would be graphics that were 1x1 to 2x2 - doubling the size (to achieve the retro effect).
1920x1080 would be graphics that were 1x1 to 3x3 - tripling the size (to achieve the retro effect).

I like this configuration in particular because it both supports the "non-scaled" version of the game
for extremely poor monitors, and also supports both HD 720p and HD 1080p, simply by the scaling.
Are there any other similar solutions, or is this an unacceptable way to do this?


This last idea sounds like a great one, and it also sounds totally doable to me, just as long as you are actually willing to compromise the quality and resolution of the graphics during the design phase. If, however, you are not willing to go there after all, then I can only come up with two other possible solutions that seem plausible.

One, is that you just bite the bullet, and inform the user that the game may only be run at the original resolution point that you mentioned or higher. Other games have done this before, and the truth is that the entire medium can really only grow fully sometimes when such things are pushed.

The other is that you have the game be able to switch viewpoints, something as if you were walking around in real life, and had with you a pair of binoculars everywhere you went. The default, or "total," perspective, would be the image that you see when you first enter a new location, and then you could switch to the other "close-up" view when you want to look at things a little more closely. These two viewpoints could be entirely independent when it comes to what kind of graphics reservoir the game is choosing between, so you wouldn't even have to worry about what kind of graphics compression the program would otherwise be doing to the image. You could just resize the original art to suit your needs during a "pre-rendering" phase using whatever art program you'd like.

I hope that helps!
  • 1

#5 lukesterspy

lukesterspy

    Robofish

  • GMC Member
  • 762 posts
  • Version:Unknown

Posted 07 August 2012 - 08:32 PM

I had an idea: if I were to design the game's graphics and scenery at 640x360, would it be acceptable to automatically
set the game's resolution to a multiple of 640x360 if the player's monitor is large enough?

640x360 would be graphics that were 1x1 to 1x1 - no scaling up.
1280x720 would be graphics that were 1x1 to 2x2 - doubling the size (to achieve the retro effect).
1920x1080 would be graphics that were 1x1 to 3x3 - tripling the size (to achieve the retro effect).

I like this configuration in particular because it both supports the "non-scaled" version of the game
for extremely poor monitors, and also supports both HD 720p and HD 1080p, simply by the scaling.
Are there any other similar solutions, or is this an unacceptable way to do this?


That sounds like a good solution to me too. The retro effect will look cool in a cinematic style game. I would recommend using a pretty saturated (or unsaturated? whatever it is called when you lower the saturation) color scheme aswell...greyed-down graphics would probably add a lot to the cinematic effect.
  • 1

#6 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 07 August 2012 - 09:47 PM

Thank you both so much for your input.

One, is that you just bite the bullet, and inform the user that the game may only be run at the original resolution point that you mentioned or higher. Other games have done this before, and the truth is that the entire medium can really only grow fully sometimes when such things are pushed.


I thought about doing this, but I figured it would be extremely arrogant of me to enforce that the experience of my visuals is more important
than the worth of the money or time of the people playing my game. Plus, as I am planning to sell this for a few dollars (as it is my first major project),
I figured it would be extremely unwise to limit "who can play it" just by something as unpredictable as the end user's screen resolution.

The other is that you have the game be able to switch viewpoints, something as if you were walking around in real life, and had with you a pair of binoculars everywhere you went. The default, or "total," perspective, would be the image that you see when you first enter a new location, and then you could switch to the other "close-up" view when you want to look at things a little more closely. These two viewpoints could be entirely independent when it comes to what kind of graphics reservoir the game is choosing between, so you wouldn't even have to worry about what kind of graphics compression the program would otherwise be doing to the image. You could just resize the original art to suit your needs during a "pre-rendering" phase using whatever art program you'd like.



I think I may do this, but only in specifically large areas - and even then, the "big" full shot will only be presented as a baked cinematic.
I definitely wouldn't want to consider doing two sets of art pieces for every area, as the game isn't based on tiles in the standard sense:
the areas are actually made as pieces of unique art. And doing two LoDs for art on a game of this proposed scale sounds terrifying to me.

I've updated the topic post with a resolution benchmark test.

Edited by Splaff, 08 August 2012 - 07:00 AM.

  • 0

#7 Faygris

Faygris

    GMC Member

  • GMC Member
  • 18 posts
  • Version:GM8

Posted 07 August 2012 - 11:08 PM

Spoiler

  • 1

#8 TerraTwilight

TerraTwilight

    GMC Member

  • GMC Member
  • 27 posts
  • Version:GM8

Posted 08 August 2012 - 12:33 AM

DL link not working for me. :( When I click on "benchmark.exe" on the page there the .exe file that I get is only about 3 kB, and it doesn't do anything. Perhaps there's something else I could try?
  • 0

#9 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 08 August 2012 - 01:01 AM

Thanks for benchmarking, Faygris! +1 for contributing.
The view is rendering properly; does it seem comfortable?

TerraTwilight, I'm not sure why the download link isn't working for you; I can get it just fine.
Try this mirror instead? It's Dropbox, so it may be more reliable.
  • 0

#10 TerraTwilight

TerraTwilight

    GMC Member

  • GMC Member
  • 27 posts
  • Version:GM8

Posted 08 August 2012 - 03:12 AM

Thanks for benchmarking, Faygris! +1 for contributing.
The view is rendering properly; does it seem comfortable?

TerraTwilight, I'm not sure why the download link isn't working for you; I can get it just fine.
Try this mirror instead? It's Dropbox, so it may be more reliable.


Thanks muchly, that worked.

Spoiler


This feels just a tad bit short of "comfortable" right from the outset, but I imagine that I would be able to get used to it quickly enough, sort of like when I would play Myst, which also had a somewhat gutterboxed appearance on my monitor.
  • 0

#11 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 08 August 2012 - 03:31 AM

800x600? Is that your main monitor, or were you using another one?
I wouldn't expect someone to have a size that small as their default. Posted Image

But then again, this is why I'm testing compatibility!
  • 0

#12 TerraTwilight

TerraTwilight

    GMC Member

  • GMC Member
  • 27 posts
  • Version:GM8

Posted 08 August 2012 - 06:14 AM

You were in luck, that is actually my default monitor resolution. And because of that, it made it possible to see that your benchmark test even held up at that small of a size!

It looks to me like your test code held up quite well.
  • 0

#13 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 08 August 2012 - 06:54 AM

Currently around 7 people have tried the benchmark, and so far there has only been one issue with interpolation.
However, with my prompting, he found a setting for his graphics card that was attempting to "smooth" the graphics of his applications,
and once it was off, the art looked fine again.

This is a relief to me! Now I actually have a bit more focus on what I'm doing, artistically and design-wise.
Could I have a few more people try the benchmark? I'd love someone with a ridiculously large monitor to test it out.
  • 0

#14 Faygris

Faygris

    GMC Member

  • GMC Member
  • 18 posts
  • Version:GM8

Posted 08 August 2012 - 10:47 AM

Thanks for benchmarking, Faygris! +1 for contributing.
The view is rendering properly; does it seem comfortable?


Well, it's okay. But for your cinematic aspiration it doesn't really work that well.
The borders are too thick for my taste. Okay, I have a 16:10 screen and you should certainly develop the game in 16:9, so I will have some borders anyway. But I think my resolution is quite usual today. And (although TerraTwilight proved me wrong already :D) I think that most gamers today have a resolution equal to or higher than 1280x720. Your 640x360 resolution seems way too small to me, since I think you planned to make it in a much higher resolution (if I got that right).

I don't understand resolutions that well, but would it look too bad to just stretch the game to fit the users screen width?
  • 0

#15 Nocturne

Nocturne

    Nocturne Games

  • Administrators
  • 16802 posts
  • Version:GM:Studio

Posted 08 August 2012 - 11:33 AM

Why not compromise and make it 1280x720, then scale DOWN if smaller and scale UP if larger? that way you aren't dong 3x scaling on any assets, just 2x and your graphics can be more detailed and larger.
  • 0

#16 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 08 August 2012 - 04:44 PM

I knew I'd get these questions eventually.

Well, it's okay. But for your cinematic aspiration it doesn't really work that well.
The borders are too thick for my taste. Okay, I have a 16:10 screen and you should certainly develop the game in 16:9, so I will have some borders anyway. But I think my resolution is quite usual today. And (although TerraTwilight proved me wrong already :D) I think that most gamers today have a resolution equal to or higher than 1280x720. Your 640x360 resolution seems way too small to me, since I think you planned to make it in a much higher resolution (if I got that right).

I don't understand resolutions that well, but would it look too bad to just stretch the game to fit the users screen width?



Alright, time to explain why I'm doing it like this in the first place - and this is why I'm asking for help, so I can go for more efficient solutions.
The game's graphics are pixel art. When you scale pixel art by any scale that's not an integer value, it immediately loses the pixel edges, which more or less ruins its fidelity.
That's with interpolation on - if interpolation is turned off, then you get lots of lovely artifacts where the program tries to compensate and draws some rows or columns twice.
This is why I can't stretch the game to anyone's resolution while remaining graphical fidelity, because not everyone's resolution will be in a perfect ratio to the game's.
It's lame compensation, but I don't know any other way to handle it if I want to have my art intact (and trust me, I do.)

640x360 is the bottom of the barrel: only monitors that aren't large enough for the 720p would ever see it. It's for good reason, too: the 360p doesn't get the same "retro" effect
as the others, because the pixels aren't being scaled up to an appreciably visible size. It's the "standard size" - the resolution at which pixels are 1x1 blocks.

Why not compromise and make it 1280x720, then scale DOWN if smaller and scale UP if larger? that way you aren't dong 3x scaling on any assets, just 2x and your graphics can be more detailed and larger.


This is also an issue.

Currently, I'm doing the game in a retro style, meaning that the pixels are bloated up into 2x2 blocks at 720p and 3x3 blocks at 1080p.
I WANT this effect - this is why the 640x360 resolution is the "lesser" one in my opinion, because you can't see the pixels as much.

If I were to make 720p the game's native (1x1 pixels), as opposed to 360p, then BOTH of the other resolutions won't work:
halving the size of the 720p screen (for 640x360) would immediately lose half the fidelity of the original, and I can't scale
it up to 1080p either, as scaling 1280x720 to 1920x1080 is a factor of 1.5, which would turn the pixel art into mush/junk.

My idea isn't an impressive solution, but that's why I came here: I'm looking for an idea that can handle it better.

Edited by Splaff, 08 August 2012 - 04:46 PM.

  • 1

#17 TerraTwilight

TerraTwilight

    GMC Member

  • GMC Member
  • 27 posts
  • Version:GM8

Posted 08 August 2012 - 08:11 PM

I totally understood your perspective about doing things the way you've done them up to now even before your last post, and I still don't see any better alternatives given that you really want to keep the art fidelity intact.

To bring up Myst again, that game also has pixel-perfect art, and that game does not stretch or anything to fill up differing widths of monitors. It just gutter-boxes. I really do believe that it's something that most players will simply get used to, after a while anyway, if the game is good enough. ;)

The only other realistic option that I still see is the one that we already discussed, about creating more than one size of each image in a pre-rendering phase using an anti-aliasing technique. Since you already let us know that that would probably be a hassle for you, I say go with the plan you have now.
  • 0

#18 Faygris

Faygris

    GMC Member

  • GMC Member
  • 18 posts
  • Version:GM8

Posted 08 August 2012 - 11:15 PM

Okay, I get it now. I didn't know you were going for a retro-style pixel look. So in this case it works quite well like in the benchmark.
But does it really look that much worse as a stretched image with interpolation? I also love retro-style with big pixels, and with interpolation it reminds me a little bit of old games played on an old TV screen. But never mind, I'm sure you know what you want, so it's fine like this.
  • 0

#19 Splaff

Splaff

    GMC Member

  • GMC Member
  • 71 posts
  • Version:GM8

Posted 08 August 2012 - 11:54 PM

Unfortunately, it does look far worse with interpolation. Posted Image Here's a side-by-side comparison:

Posted Image


These were both taken in 1080p (3x3 pixels). At 720p it's pretty bad, but at 1080p+, the quality of the art is seriously degraded, and it's extremely noticeable.
This is what I'm trying to avoid, because I seriously do think it has a major effect on the presentation of the game.
  • 0

#20 Faygris

Faygris

    GMC Member

  • GMC Member
  • 18 posts
  • Version:GM8

Posted 09 August 2012 - 10:07 PM

Unfortunately, it does look far worse with interpolation. Posted Image Here's a side-by-side comparison:


Okay, thank you for that! It's interesting for me to see. While I think that the right one doesn't necessarily look bad in general, I understand why that doesn't really match what you want to achieve.
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users