Dealing with resolution in 2d games

38 replies [Last post]
Posts: 1691

This is a split from another thread, so don't mind the first few posts if they seem out of context.

Discuss your views on how to deal with varying resolutions in a multiplayer 2d game.

Possible configurations:

1. Variable resolution, and variable world view area

  • More of the world is shown as your resolution increases
  • Preserves original art size (no stretching)
  • Greater view area can lead to unfair advantages
  • At higher resolutions, the art can become quite small in comparison to the rest of the screen.

2. Variable resolution, static world view area (automatic sprite scaling)

  • Stretches all art
  • Can be done either by drawing each individual sprite stretched, or drawing normally then stretching the whole screen in the end (the latter likely leads to worse quality)
  • Doesn't solve aspect ratio issues

3. Variable resolution, static world view area (using multiple sprite sets)

  • No limit to the number of resolutions you can support
  • Everyone can run in their native resolution
  • Insane amount of work
  • Difficulties in having to distribute separate sprite-sets (unless they are generated at runtime)
  • Can be eased by using high-resolution sprites then scaling them down, or by using vector sprites, but that doesn't solve everything
  • Doesn't solve aspect ratio issues

4. Static resolution, static world view area

  • Not everyone will always be able to support a single resolution
  • You most likely end up stuck on a lower resolution
  • Fails to take advantage of better hardware
  • Doesn't solve aspect ratio issues

Some resolutions not specific to a single point above:
These can be applied to any of the configurations mentioned above, and usually can even be mixed-and-matched.

Dynamic world view, but static world view for "important" objects:
Show some stuff (e.g. map, background, GUI) in the whole screen, while others (characters, items, etc) are only synchronized and drawn based on a static resolution for the world view. So expanding will show you more of the map and give you more space for your GUI, but not show you NPCs, other players, items, etc any earlier. This is a pretty common approach in 3d games where things far away just kinda fade off. Single-player games even use it as a way to draw less.

Using zoom to allow everyone to view as much of the world as everyone else:
You can always add zoom support, allowing everyone (no matter their resolution) to zoom the world view out to a static maximum. This way, a user on a lower resolution can zoom out to see just as those with high resolutions can. It brings much worse quality, but that is their choice. However, it would not be uncommon for people to play zoomed-out but complain about the visuals at the same time. This also does not help with aspect ratio differences.

Posts: 143

Any chance for a move to a 720p resolution by default and a full-screen option.

Posts: 1691

Ellimist wrote:
Any chance for a move to a 720p resolution by default and a full-screen option.

Fullscreen has always been supported. 1280x720 will definitely not be the default, since not everyone can support that. 1024x768 is still quite a common resolution.

http://store.steampowered.com/hwsurvey

Of course, you are free to choose whatever resolution you wish for your own game. Though unlike 3D models, I feel 2D doesn't benefit nearly as much from increased resolution.

Posts: 143

The people who can't support it have a EeePC labtop like me. That thing doesn't play even the simplest games. It also doesn't truly support 1024x768 without scrolling horizontally.

Anyways yah I can change the resolution myself so its not a big deal.

That HW survey does say 1280x1024 is the most used by a large margin though and none of the 4 LCD monitors or 2 LCD TV's I have can run 1024x768 Tongue (Nvm 1 of them can with extremly blurry effect)

Posts: 1691

If they don't support a lower resolution, you can just as easily use their native resolution and stretch the screen to fit it.

The hard part with bitmap art is you only really get to pick one resolution to design for... unless you want to show more of the screen, but that isn't fair for a multiplayer game.

Posts: 465

I would actually go with showing more of the screen, it just looks so much better. Screen size doesn't really affect fairness in an RPG, and its really important to have pixel perfect resolution for sprites. I know many games don't do it, its not because of balance though but more because everyone had small screens anyway back in the day, and now that people actually have big screens it ruins the look of the game.

Posts: 1691

bake wrote:
Screen size doesn't really affect fairness in an RPG

For an offline game, that is more likely to be true. But for a multiplayer-game, you are giving a clear advantage to those using a larger resolution. If you have any player-vs-player, it is especially unfair.

You also have to take into consideration the server. For one, you'd end up with users with varying view areas, making things quite a deal more difficult. Or you have everyone assumed to have the largest resolution, wasting a ton of resources persisting entities out of view to most users. And how do you handle NPCs? Should a NPC be able to see someone before they can see them? A lot of 2d games utilize the concept of "out of sight, out of mind". If you don't see any NPCs around, and you didn't just run from a fight, you can assume that nothing is chasing you. It'd suck to go half-way down a hall, then start preparing for the next battle while you think you are safe, only to realize that your low resolution prevents you from seeing the 20 monsters that you ran into the sight of. Being able to see NPCs earlier (or just about anything earlier), even if it doesn't mean you can attack earlier, does give you more prep time. You can see ambushes from farther away, keep an eye on your party members from a distance, etc.

So I have to disagree - a larger view area in most online games result affects fairness (depends on the gameplay, but in most all cases, it is a problem to at least some degree).

Posts: 465

You only have to look so far as to blizzard spending millions on shoving sc2 down everyones throats as an e-sport (so balance is a very high priority). They also have different view sizes depending on aspect ratio of your screen, its also quite a lot Tongue ( sorry for using sc as an example but yeah) There are quite a few potentially competitive games with different view amounts depending on your settings, much more competitive than would be in an RPG. Although I agree somewhat, its an imbalance issue that shouldn't be in highly competitive games. I am 110% positive, that this won't even be a problem with NetGore games especially seeing as you are more concerned about the look of your game. Tongue

Its not hard for the client to send the resolution or viewport of the screen to the server. Its open to exploits, but you could fix that. Maybe be allowed to change the resolution from "auto" to something else, the reason being that competitive players who care that much would not give a damn about graphics anyway. Usually players who play 3D competitive games have their settings on lowest for best visual clarity. I don't know any RPGs where I would give a damn how much you could see even in a PvP sense, I don't even care on competitive games because your skill as a player makes 99% of the difference compared to how much you can see in a millisecond. Tongue

You have some good examples, but I don't think they justify butchering the pixel art like most 2D games do but made back when it couldn't be butchered. Diablo on pixel perfect resolution would look way more awesome, regardless of imbalance. Its almost unplayable playing on a massive screen. It also eases the strain on the artist who then doesn't have to draw to a specific resolution.

In regards to monsters running away, this happens in all games where the NPC could "see" you but still has no idea where you are and walks away. Monster vision really seems more like a gameplay mechanic than something that would be affected by how much you can see, different monsters have difference "seeing" range I would have thought. Monsters following you after you think you've run away, in RPGs this actually brings back some memorable moments, I think its one of those glitches which actually add gameplay value. Obviously for me, it isn't an issue. Once you know how much you have to run before you have escaped doesn't take long to figure out.

Keeping an eye on party members and things like prep time. This is more to do with your skill as a player, being able to adjust to the metagame, gamesense, and awareness. There are plenty of people who can have all the vision in the world and still come up with bad preparation. For example in Runescape classic PvP, you never stepped into the wilderness, but you moved around scouting for winnable battles. Once you found one you would down a strength pot, and engage. Preparation for a pker was literally more to do with being a lvl 20 something strength based warrior with mithril equips or a mage with the right stats and equips.

Posts: 465

Spodi wrote:
This is a split from another thread, so don't mind the first few posts if they seem out of context. Create graphics in very high resolutions (such as 4x or larger in size than your target resolution), then scale them to the target resolution (same approach as an earlier point, but you are focusing on down-scaling instead of up-scaling)

Actually this seems like a very viable alternative if you aren't doing pixel art.

Posts: 1691

bake wrote:
You only have to look so far as to blizzard spending millions on shoving sc2 down everyones throats as an e-sport (so balance is a very high priority). They also have different view sizes depending on aspect ratio of your screen, its also quite a lot Tongue ( sorry for using sc as an example but yeah) There are quite a few potentially competitive games with different view amounts depending on your settings, much more competitive than would be in an RPG. Although I agree somewhat, its an imbalance issue that shouldn't be in highly competitive games.

While that is a balance issue, you also have to keep in mind that it is quite a lot different. In StarCraft, while you get to see more, that stuff was never invisible to you in the first place. It is just the convenience of not having to scroll over. While it does serve as an advantage still, you don't actually change the visibility. Similar is with a FPS - higher resolution and quality allows you to see better, surround-sound makes it easier to hear where people are, but you do not get to see something you couldn't before.

bake wrote:
Its not hard for the client to send the resolution or viewport of the screen to the server.

The complications I mentioned are more about gameplay. Yeah, it is easy enough to send it over, and it wouldn't be a hard task to make use of it on a per-user basis instead of a global constant, but when it comes down to gameplay, its a bit different.

With everything I didn't quote, you make valid points. But also have to keep in mind it greatly depends on the game itself. You will have to design your gameplay differently if you want variable view ports.

Something I haven't seen mentioned yet is the consequences of a larger view area - that is, everything being smaller on a real-world scale. I have seen some games where the expansion of the view just makes everything seem too tiny, and that itself ends up detracting from the visual quality.

Another approach might be to design to a specific resolution (maybe a little higher than your target audience), then let the rest be handled by zooming. If people want to see more on their low-res monitor, they just zoom out. It looks far worse, but at least they aren't at a tactical disadvantage. You could combine this with multiple graphic scales, too, so that really high resolutions just use larger sprites instead of expanding more.

Posts: 180

The way Haven & Hearth does it is that you increase the resolution to whatever you want but it will stop rendering important things such as npcs, and various objects in a set range.

Not a good image but I'll get one that show's what I am talking about.

Basically if you have the resolution at a godly size it will only show a certain area of objects but will still show the ground everywhere else.

Here is the topic that discusses how it works.
https://www.havenandhearth.com/forum/viewtopic.php?f=5&t=5083&p=58614&hi...

Posts: 1691

Hmm, that too is a good idea. Would need a proper transition to not make it look awkward, but I have seen that used quite a bit in 3d games. Also still doesn't help with resolutions being too high since, although you would see a lot, the actual important stuff is in a relatively confined area and very small. But then you could still just release a "HD" sprite set and let people use that instead.

Edit: Damn, the visuals on the game are amazing. I wish I had a cool looking game. Or even just a game. Sad

Posts: 143

lol its hard enough to make high resolution 2D at let alone making even bigger resolution art. The problem I find is there is a severe lack of skilled 2D artists. There are guys like buddy at vanillaware making some awesome high quality art for games like odinsphere and grimgrimiore but there not working for free Tongue

Posts: 458

Well zoomed out mode for plain "walking around" is unnecessary as we have a Minimap.
Thats what "I" use for navigating then...

I like the Idea of 1024x768 as standart Resolution because any older Notebook can easily run it.

Its surprising how many people play games on "Purely Office-build PCs" (near 2ghz, 1gb ram, Geforce 2 or less Laughing out loud)

Well yeah that said,
Whats important to me for Netgore is a support for Netbooks.
Many have them, and its one platform where people will not prefer huge free MMORPGs.
(Our Games should be able to compete with them gameplay wise, but many many pay attention to 3d graphics)

So yeah, having 1024x768 as standard and a downscale option to 800x600 is the way I would go.

The downscaling would have to look nice though...hmm...
Though in this case I believe minimizing the view range wouldnt be too bad,
as these players wouldnt be the hardcore PVP nerds.

Keep the "Player Range" for attacks and spells within 800x600 range and its "fair enough".

Posts: 1691

High resolution pixel art is one thing, but high resolution art isn't as much of a difficult for non-pixel art.

If it makes you feel better, a lot of artists feel the same about programmers. Tongue Both have to bring something truly promising to the table, otherwise they'll just think the other sucks.

Posts: 465

Ellimist wrote:
lol its hard enough to make high resolution 2D at let alone making even bigger resolution art. The problem I find is there is a severe lack of skilled 2D artists. There are guys like buddy at vanillaware making some awesome high quality art for games like odinsphere and grimgrimiore but there not working for free Tongue

There isn't really a severe lack of skilled 2D artists. You will find that on the artists side, they also have a severe lack of skilled programmers. I also have that philosophical standpoint that says you can be both, you just have to put in the effort. Anyway the problem is that people don't like doing work for other people for free, on a project they don't care about, unless there's money involved. Smile

Why spend time doing art for a demogame, when you could be spending that time producing art for your own game. Art, like programming, is very time consuming. No one wants to waste time. There needs to be an incentive to do art for the demo game, no exactly money incentives but something that would keep people interested enough to do art for it. For example I will sometimes lean towards going, okay maybe I should do some art for the demo game because I feel bad lurking on netgore and not doing anything, and then I always end up with the conclusion of "If i could do that, why don't I just got off my lazy ass and finish the art for my game".

Edit: Sorry posted this before i saw spodis post, which says the same thing in a lot more efficiently readable manner. Smile

Posts: 143

Yeh thats my problem. My LCD's can only run 1280x1024 or above.. my netbook can only run 800x600. Nothing I have can run 1024x768 xD

But really its not a big deal to change the resolution in the engine (I hope)

EDIT: and yah I am talking about non-pixel art. I would never make a game with pixel art as its the general consensus that it looks really old, cheap and generally just bad. People can go on about how im a graphics whore but at the end of the day so are the players.

Posts: 465

Not exactly. Blazblue is a fairly popular game that recently came out on the PS3, that uses pixel art for its sprites. A lot of korean MMO's use pixel art for their graphics, but yeah i see what you mean.

Posts: 143

Blazblue like KoF12 also had dozens of artists working for almost 2 years to produce artwork because the game has to run at 1920x1080 on the xbox and PS3.

If I had that kind of workforce then yah no problem making some nice high resolution pixel art. But for smaller teams (2 to 5 artists) your looking at some heavy photo-shop manipulation, low resolution pixel art or vector art.

for some good heavy photoshop manipulation check out grimgrimiore or Odin sphere. Both of those were created by one artist using hand drawn outlines scanned in and colored and manipulated in photoshop. It also uses limb based animations for alot of monsters. It only runs at 640x480 resolution (playstation2) but some of the graphics were huge and could easily be used at higher resolutions.

Posts: 1691

I find even simple, indy pixel art looks pretty good. That image Infernal Reaper posted a few posts up, for instance, is pretty much your standard "good quality indy pixel art", and it looks great. To me, pixel art brings a very "comfortable" feel to the game.

Posts: 180

Pixel Art it my comfort zone as well. I wish I could create awesome pixel art like Haven & Hearth.

Well I guess it takes practice and study. =\

Posts: 458

Ellimist wrote:
Yeh thats my problem. My LCD's can only run 1280x1024 or above.. my netbook can only run 800x600. Nothing I have can run 1024x768 xD

But really its not a big deal to change the resolution in the engine (I hope)

EDIT: and yah I am talking about non-pixel art. I would never make a game with pixel art as its the general consensus that it looks really old, cheap and generally just bad. People can go on about how im a graphics whore but at the end of the day so are the players.


reading that quote "scaling up to a higher resolution" would make sense...

didnt know there were monitor uncapable of 1024x768

Posts: 143

We decided to go with 1280x1024 with no support for other resolutions. According to that hardware survey its the most used resolution. Besides its much easier to scale down at the cost of the camera view size.

Posts: 44

I can't understand you fools.

Support any resolution. Render only so far with characters, npcs and other objects. After someone has been on a map more than what... twice they know the map and have a freaking mini map that shows a fixed area if they wind up getting lost.

An example would be a player with 4000x4000 resolution seeing a huge area of the map, but since the other players and npcs aren't rendered untill they get in range (say 15 tiles) it wont matter very much since the person with 1024x768 will still see the 15 tile range rendered on their machine. they aren't at a disadvantage since they know the area anyway and will see the other player at the same time that they get seen. If you're playing with a smaller resolution than 1024x768 fucking buy a new pc or gtfo my game.

tl:dr You're doing it wrong. Support any resolution by rendering as much map as possible and only render chars/npcs in a certain tile range.

Posts: 180

That's exactly what I was saying. Haven & Hearth runs exactly like that.

Support for all resolutions is very good. Limiting to just a certain resolution just doesn't seem like a good idea.

I usually set my games at the highest resolution it can handle because it is better that way.

Posts: 164

richardf wrote:
I can't understand you fools.

Support any resolution. Render only so far with characters, npcs and other objects. After someone has been on a map more than what... twice they know the map and have a freaking mini map that shows a fixed area if they wind up getting lost.

An example ... If you're playing with a smaller resolution than 1024x768 fucking buy a new pc or gtfo my game.

tl:dr You're doing it wrong. Support any resolution by rendering as much map as possible and only render chars/npcs in a certain tile range.

Don't have to be that... "mean" about it. But yeah, I agree. I think it's just the only reasonable way to do it. (good support for higher resolutions and just cut off somewhere for lower one) I think 1024 x 768 is a decent resolution. (most net books can support that right?)

@Infernal Reaper: That's a beautiful game. I really like the way it displays.

Posts: 1691

I disagree with the idea of it being the "only right way". Its a good way, but its definitely not ideal. Ideal is perfect quality in any resolution, and if equality is a concern (which it should be with an online game), the ability to see the exact same amount no matter your hardware. Expanding the view area but not showing stuff outside a certain range does NOT give better quality, it simply preserves quality. It also reduces absolute size of every pixel, resulting in a smaller view. As richardf mentioned, and as is a big point of the approach, you just see more of the map - something you probably already know. But as a result, you are essentially just filling your screen up with crap that people don't really need to see, and making what they do want to focus and do need to see much smaller.

While I still think it is the best reasonable approach mentioned thus far, especially for an indy game, it is not "flat-out" the best. And you are still imposing a resolution cap, but instead its a cap on useful content.

Posts: 143

Basically there only 4 resolutions people are using en-mass so its not that big of a deal to not support other resolutions. Lets see

800x640 - Netbook resolution, a very small market and most aren't gaming on them
1024x768 - The previous standard resolution, Pretty much any monitor that is running this CAN run 1240x1024
1280x1024 - The new "most used" resolution. Runnable on any HDTV, LCD or CRT
1920x1080 - The "other" resolution. If we allowed support for it then people running it would be seeing more of the map (not a problem) and everything would look extremely small (big problem, the character and some others are already very small)

So basically by only supporting 720p we basically support everyone except for netbooks, who at 800x640 would be viewing less.

One of the main reasons we want to lock the resolution is because we are trying to develop a competitive game so the matches have to be "controlled" or "fair", "balanced" whatever term you wast to use Tongue

Posts: 1691

You forgot most popular wide-screen ones, and that wide-screen comes in both 16:9 and 16:10.

Posts: 44

I was cranky that day... Sorry. Also: I'm running one monitor at 1600x900 and the other at 1440x900 so I have a good deal to say about this topic LOL.

Edit: Netbooks are for netting. Not gaming. Even if it is an old school super easy to run way awesome game.

Posts: 143

All of those are widescreen as far as I know 0.o

At least 1280x1024 and 1920x1080 are