Construct 3 suggestions & ideas

Suggest and vote on ideas for Construct 3! Please note this is only one aspect of planning. We do not guarantee any features here will be implemented, even if they are top-voted ideas. The aim is just to collect feedback. Remember to search for existing submissions before adding an idea, describe your ideas as comprehensively as possible, and vote for plausible ideas that are well thought out. Please see our full guidelines on suggesting features.

0 VOTE

New pixelart renderer

It's useful because currently the ways to display pixel art are very limiting. You either get bad deformed and flickering pixel art or you get black bars. There is no good way to implement pixel-art that works for both mobile and desktop.

 

It would be useful to all of the pixel game developers out there using construct, and there are many.

 

It could be achieved in many different ways.

I think the easiest way would be using a shader like this one https://www.shadertoy.com/view/MllBWf but that'S not what im looking for, only go for this if the better solution is impossible.

The best way to improve pixel art in construct 3 would be to allow for a pixel art specific renderer. It would scale up the whole window at integer values like 1x,2x,3x,4x, etc with point sampling, and then scale the resulting render or texture to the canvas size with linear sampling, blurring out any pixel artifacts that happen when pixel art is rendered at non integer values and preserving the low download size and memory usage of pixelart, but also keeping the pixel art clear and chunky and beautiful.

 

I've tried many things to overcome this with workarounds like upscaling my art before importing it into construct and setting the sampling to linear, but the problem with this is that it drastically increase memory usage and download size, and also the images are sampled from their spritesheet so instead of getting that good blend to remove artifacts, all of the edges become transparent which is no good 

  • Eleanor Jacques-Morel
  • Oct 15 2018
  • No status
  • Attach files
  • Chris commented
    October 15, 2018 16:43

    Why does point sampling and pixel rounding not work? Also if you're going full screen you can use "letterbox integer scale". If your game will be windowed (not fullscreen), you can control the window size and the layout scale to be integer scales manually in the event sheet.

  • Eleanor Jacques-Morel commented
    October 22, 2018 09:03

    Why does point sampling and pixel rounding not work?

    Because it looks like garbage and everything is trembling https://puu.sh/BP3uj/5229f8c539.mp4 and the text looks horrible with the uneven pixels.

    I don'T get why no one is in favor of something like this, is it because you had problems making your game work with pixel art and there are tons of things you cannot implement because of it and you want the next people making pixel art games to face the same things ?

     

  • Eleanor Jacques-Morel commented
    October 22, 2018 09:43

    Watch what happens when i set everything to scale 4x and quadruple the layout size and let sampling to linear https://puu.sh/BP4bs/ff1960d815.mp4 the shaking is gone but it looks blurry as heck

    when set to point sampling the shaking is back https://puu.sh/BP4dl/41c2098543.mp4

    It needs to upscale the image a couple times, but less than the window's actual render size and then smooth out all of those point sampling artifacts. The another issue is that trying to cram in upscaled art dosen'T fix it either because linear sampling still samples from the spritesheet for invisibility so i get gaps between my sprites.

     

  • Admin
    Ashley Gullen commented
    October 22, 2018 14:41

    If letterbox integer scale with point sampling doesn't produce evenly sized pixels or has artefacts, please file a bug.

  • Chris commented
    October 22, 2018 15:04

    The only games I make are pixel art games and I've never had an issue. I use point sampling with integer scales and the pixels are crisp and zero artifacts. So I'm just curious why you're having problems.

  • Chris commented
    October 22, 2018 15:16

    In your video it looks like you're scaling the layout by NON integer scales, so yes point scaling will look bad.

     

    After re-reading your post It sounds like you want a different texture filtering algorithm that's better than linear? I thought at first you wanted pixel perfect, which Construct 2/3 does very well. You just want it to look better at NON integer scales?

  • Eleanor Jacques-Morel commented
    December 09, 2018 23:34

    Yes. I want it to look better at non integer scales. I'm trying really really hard to make it work at integer scale see https://yoyoeleanor.itch.io/strawberrypunchstresstest?password=unpetitjenesaitquoi

    but when you try it on mobile devices (or emulate them using ctrl+shift+j) and then try different devices and aspect ratios  you get stuff like this 

     

    and  most of the screen is wasted space and it's unplayable. I want pixel art to look good at non integer, to have the edges of the pixels blend to prevent double pixel artifacts like I see in pretty much every single pixel art game made in construct. Other pixel-art games instead render the image at a set integer scaling  like 1x-2x-3x-4x and then take that render and scale it to the screen with some filtering to remove double pixels and make the final image look good

  • Eleanor Jacques-Morel commented
    December 09, 2018 23:49

    I suppose that I could just make the game non integer on mobile so that it looks kinda bad but it's playable,

    also thank you for fixing those bugs i submitted