Skip to content

Support imagescaleX/imagescaleY for tilemaps #782

@Wackytoaster

Description

@Wackytoaster

Reviewed guidelines

  • I have read and understand the suggestion guidelines

Checked for duplicate suggestions

  • I checked for existing similar suggestions

Summary

Pretty much every type of object (that has a visual component) has some sort of capability to set the image scale.

  • Sprite: Just set the scale to e.g. 50%
  • 9patch & tiled background: Image scale X / Y
  • Particles: has no direct setting for it but can effectively do it via particle size
  • Spritefont: has a scale setting
  • SVG: doesn't really need it

The only exception are tilemaps.

Possible workarounds or alternatives

I don't think there's one.

Proposed solution

Add the same Image Scale X / Y property as for 9patch/tiled background

Why is this idea important?

Let's say I make a game that should work on mobile and PC. I set the resolution to 1280x720. It looks crisp on mobile, but scaling that up on PC to fullscreen is gonna look like blurry mush (assuming trilinear filtering).

The solution would be to import the sprites at the maximum resolution I want to support at maximum graphical sharpness (e.g. 2560x1440 aka 2k) and scale them down to, in this case, 50%. They will scale up nicely and look crisp up to 2k resolution.

This is also somewhat implied to be recommended by the official tutorial: https://www.construct.net/en/tutorials/supporting-multiple-screen-17 since you shouldn't target a specific screen size, but rather a aspect ratio. It sounds very much like "just make it whatever resolution and scale"

Additional remarks

Why not just make the viewport 2k then and scale down instead? Seems reasonable, but I've tested this. A bigger viewport incurs a substantial performance penalty. Correct me if I'm wrong though, maybe my test was just not good (basically a bunch of sprites tweening between 0 and viewportRight, with different viewport sizes and the sprites scaled up/down accordingly to retain the same visual) so I'd prefer the viewport to stay on the lower end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions