0
\$\begingroup\$

I have an isometric grid with 64x32 diamond images. Each tile is a class, each instance is in a 2D array.

Players have different screen resolutions and the grid must take up the whole screen. Additionally, every player should always see the same tiles (so nobody has an advantage).

The only thing I could think of was to change the tile size: Bigger screen, bigger tiles.

I suppose I could do this by resizing my existing tile images, but is there a better way?

\$\endgroup\$
5
  • 1
    \$\begingroup\$ It seems like you already have a solution. So what exactly is your question? \$\endgroup\$
    – Philipp
    Feb 13, 2014 at 17:23
  • \$\begingroup\$ If there's no obviously better way to do this than image re-sizing, how do I figure out which size image to use depending on the resolution? If there is an obviously better way, what would you suggest? \$\endgroup\$
    – Nicolas M
    Feb 13, 2014 at 17:25
  • \$\begingroup\$ You correctly said yourself that having differently sized images is the only way you can do this. There's no way of having differently sized versions of the same images other than by resizing those images. (Whether you do that procedurally or ahead of time is a different matter, but largely irrelevant.) What is it you still need help with? \$\endgroup\$ Feb 14, 2014 at 0:54
  • \$\begingroup\$ Just watch out that scaling the same assets to different screen resolutions won't always look great, especially for pixel art. You may need to consider using multiple sets of assets, or padding/framing, to get the look you want on each supported resolution. \$\endgroup\$
    – DMGregory
    Oct 14, 2016 at 21:18
  • \$\begingroup\$ This question is asked so often that I firmly believe that there needs to be a website dedicated to the answer. It would be a single page with only one sentence: "There is no way to do this, so stop asking; give up and move onto 3D like everyone else." \$\endgroup\$
    – Krythic
    Oct 15, 2016 at 0:54

1 Answer 1

0
\$\begingroup\$
  1. Define 'supported' default resolution: 4:3, 16:9.
  2. In 16:9, plan your grid as a 4:3 and put it on the left side of the screen, and have menu/control items on the right side of the screen (the side having a black or more appropriate background).
  3. In 4:3, have your grid full screen but your menu/control items as overlays over your grid.
  4. On other resolutions, check if it's more like a 4:3 or for a 16:9 and set up screen accordingly, then stretch/compress the result before displaying it full-screen.
\$\endgroup\$
2
  • \$\begingroup\$ Thanks! isn't 16:9 the same as 4:3 though? \$\endgroup\$
    – Nicolas M
    Feb 13, 2014 at 19:05
  • 1
    \$\begingroup\$ No. That's basic maths... These are ratios: 4:3 is something like 1024x768 while 16:9 is more like 1920x1080 (1080p, full hd). 16:9 and 16:10 are considered wide-screen. Check what's the most common setup of your player and optimize for that. \$\endgroup\$
    – Vaillancourt
    Feb 13, 2014 at 19:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .