Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Larger Resolutions Give Players Advantages  (Read 3041 times)

0 Members and 1 Guest are viewing this topic.

Strikerklm96

  • Jr. Member
  • **
  • Posts: 74
    • View Profile
    • Email
Larger Resolutions Give Players Advantages
« on: August 29, 2014, 11:06:41 pm »
In a multiplayer game, if one person has a larger resolution screen, and the game is being displayed in a Viewport with no zoom, then the player with the higher resolution can see more of the game world.
This has the potential to be unfair to players with lower resolutions.

The other problem that comes up is that monitors can have different aspect ratios, so it isn't just a simple matter of zooming one view or the other.

This would seem like a common issue in gaming. What are some good/popular resolutions to this problem?

Ideas I have had:
1. Zoom player views so they can all see approximately the same area of world.
Issue is that zooming views distorts the number of pixels a sprite SHOULD be taking up, so maybe a 256x256 sprite only takes up 200x200, or 400x400 pixels, depending on the zoom number. This looks weird.

2. Lock the Aspect Ratios and resolution by putting black space on top or bottom of screen so it is sized correctly.
Issue is that this would be really annoying to people who have nice monitors and can't use them. Plus, then I have to dictate the lowest common denominator of monitor. That would be stupid.

3. Decide on a max X and Y resolution, like 1920x1080, and anything above this gets black space to fit. AND Players have the option of deciding their viewport, so a player with a 800x640 screen (lol) could choose to display UP TO the 1920x1080 world viewing max. Then, they could decide whether they really cared about the advantage in viewing area, or the distortion caused by it. But I would allow them to type in their chosen viewport size, so this person would probably want to choose 1600x1280 to keep with their aspect ratio.
« Last Edit: August 29, 2014, 11:18:39 pm by Strikerklm96 »

Ixrec

  • Hero Member
  • *****
  • Posts: 1241
    • View Profile
    • Email
Re: Larger Resolutions Give Players Advantages
« Reply #1 on: August 29, 2014, 11:17:19 pm »
Not that I have any evidence for this, but......if we're thinking of something like a multiplayer FPS game, then I would expect field of view to be the metric of interest, not resolution.  Having a slightly higher-rez monitor doesn't seem like it would give you much extra peripheral vision.

After a little bit of googling, I found almost no one claiming that more pixels is a competitive advantage because it lets you see more.  The closest I saw is the idea that more pixels means more visual detail, especially at long range.  That one sounds much more plausible to me, though I'm not sure it can or needs to be solved (we can't really force everyone to use the same resolution, can we?)

imo, this is unlikely to affect the vast majority of players, and the handful that do care about extreme competitive fairness are going to play on dedicated servers with people they know anyway.  There are many other things (eg, internet speed) which probably affect players much more and are completely out of your control, so I just wouldn't worry about it.  These complicated restrictions are just going to annoy all the players who don't care.
« Last Edit: August 29, 2014, 11:32:37 pm by Ixrec »


Stauricus

  • Sr. Member
  • ****
  • Posts: 369
    • View Profile
    • A Mafia Graphic Novel
    • Email
Re: Larger Resolutions Give Players Advantages
« Reply #3 on: August 29, 2014, 11:44:01 pm »
just don't measure things in pixels.
use the size of the screen as parameter to zooming and positioning elements.
example:

#include <SFML/Graphics.hpp>
int main(){
    sf::Vector2i resolution;
    std::cout << "Enter Width of the window: ";
    std::cin >> resolution.x;
    std::cout << "Enter Height of the window: ";
    std::cin >> resolution.y;
    sf::RenderWindow window(sf::VideoMode(resolution.x, resolution.y), "SFML window");

    sf::RectangleShape rect1(sf::Vector2f(resolution.x*0.49, resolution.y*0.49));
    sf::RectangleShape rect2(sf::Vector2f(resolution.x*0.29, resolution.y*0.49));
    rect1.setPosition(resolution.x*0.01, resolution.y*0.01);
    rect2.setPosition(resolution.x*0.7, resolution.y*0.5);
    rect1.setFillColor(sf::Color::Green);
    rect2.setFillColor(sf::Color::Red);
    while (window.isOpen()){
        sf::Event event;
        while (window.pollEvent(event)){
            if (event.type == sf::Event::Closed)
            window.close();
        }
        window.clear();
        window.draw(rect1);
        window.draw(rect2);
        window.display();
    }
    return 0;
}

the rectangles always have proportional position and size, no matter what the resolution is.
you can use this to set up the view size, sprites, and everything else.


edit:
http://forums.na.leagueoflegends.com/board/showthread.php?t=2806186
geez, is that true? sounds like a severe design flaw to me :P
« Last Edit: August 29, 2014, 11:50:59 pm by Stauricus »
Visit my game site (and hopefully help funding it? )
Website | IndieDB

Ixrec

  • Hero Member
  • *****
  • Posts: 1241
    • View Profile
    • Email
Re: Larger Resolutions Give Players Advantages
« Reply #4 on: August 29, 2014, 11:54:34 pm »
Use sf::VideoMode::getDesktopMode and/or sf::VideoMode::getFullscreenModes to get the resolution.

Also, as Strikerklm96 himself mentioned, stretching everything in arbitrary directions is going to make the game look weird.  FPS are more than just colored rectangles.

Stauricus

  • Sr. Member
  • ****
  • Posts: 369
    • View Profile
    • A Mafia Graphic Novel
    • Email
Re: Larger Resolutions Give Players Advantages
« Reply #5 on: August 30, 2014, 12:09:27 am »
you don't stretch everything in arbitrary directions, you need to keep the aspect ratio of the window.
but if you are going to change from 4:3 to 16:9, for example, then i only see 3 options:
1) let the screen look weird;
2) let some people have a bigger view;
3) leave black empty spaces on the screen border;

if i remember correctly, a game that uses the third approach is Diablo II.
« Last Edit: August 30, 2014, 12:12:20 am by Stauricus »
Visit my game site (and hopefully help funding it? )
Website | IndieDB

AFS

  • Full Member
  • ***
  • Posts: 115
    • View Profile
Re: Larger Resolutions Give Players Advantages
« Reply #6 on: August 30, 2014, 12:24:53 am »
Just use a view with a fixed size, regardless of resolution, but considering aspect ratio. No need to zoom things or anything, you just place the sprites the same way as before.

For instance, if the aspect ratio is 4:3, then your view could be 1024x768, so players playing either at 640x480 or 1280x960 will see the exact same things on screen, stretched.

If your aspect ratio is 16:9, then you could make the view 1200x675 or any pair of numbers close to 1024x768 but being 16:9. It will not be the same as 4:3, but it will be close enough to not make any difference, so regardless if they are playing at 1366x768 or 1920x1080, they will always see 1200x675 on screen, again, stretched.

Either do that, or always use a view of size 1024x768 but add black lines to the sides depending of the aspect ratio. Personally, I prefer the former: I didn't buy a widescreen TV to play with huge black bars on the sides, didn't I?
« Last Edit: August 30, 2014, 12:41:52 am by AFS »