How do I create a map reveal like Noita's?

0 favourites
  • 4 posts
From the Asset Store
A template which allows you to customise the controls of your game.
  • Hi everyone, I'm trying to create a map reveal with a fog of war style but I wanted it to look similar to Noita's (https://www.youtube.com/watch?v=9nXx_1GZclc&t=1407s).

    I'm looking for something that gradually reveals the areas where the player has Line of Sight to, but I want to be able to control the opacity and the time to reveal it depending on how long the player had that are within their Line of Sight, again, like the video above.

    However, I'm talking about a bigger map with a Full HD resolution.

    I've tried different approaches in the past using tilemaps as a mask that shows the tile the player has had line of sight to and using this mask with a destination out effect pasting it to a Drawing Canvas that was initially all black.

    If I use only an object pinned with the destination out effect over the mask it allows for the player to see behind walls if they get close to them, which is not what I'm looking for.

    The test file I've attached doesn't have the blurred effect I'm trying to achieve and it also has issues in performance for bigger maps/layouts, and if the Line of Sight distance is increased (which means that more checks for the tiles are done each cycle). It also pushes the GPU to 80% sometimes.

    Does anyone have any suggestions on different approaches to achieve the type of map reveal I'm going for, let's say, if you were trying to do the same one in the video but for big Full HD maps, without compromising performance?

    https://www.dropbox.com/s/mczodui84t0un2b/MapRevealTest11.c3p?dl=0

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Here's the basic concept.

    dropbox.com/s/in2hjgjvesrzeth/noitastylefogexample.c3p

    You're unlikely to match Noita's optimization of pixel level physics efficiency with a high definition game. That's not an engine issue.

  • You can paste a sprite into a dark filled Drawing Canvas with its drawing mode changed.

    Better would be changing the opacity of a mesh vertex, but that's a feature request...

  • Thank you oosyrag, I'll check the file you sent when I get home! Yeah, I'm not looking for the pixel physics, just the map reveal type of thing, that gradual blurred reveal.

    Thanks for the suggestion newt, I've tried some similar things but I never got it to work properly. I'll take a look again. I'm now trying to use arrays and it's been giving me some better results, I'll keep exploring.

    Thanks again, folks!

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)