Search Unity

Creating a 2D game world map for metroidvania (Ori style or Hollownest).

Discussion in '2D' started by Metthatron, Jun 14, 2022.

  1. Metthatron

    Metthatron

    Joined:
    May 26, 2017
    Posts:
    6
    Hello,
    I am planning to start working on the map menu system of my game like the ones mentioned in the title. So after an unfruitful search online with different keywords (all minimaps...sigh), I am torn over whether to use :
    • A stencil based approach by drawing a downscaled map on DCC tools, porting it, then blurring the uncharted zones at the beginning, then flagging the pixels on a render texture (which is not optimal since the game world could evolve in the future)
    • do some other technique. (I am lacking ideas and inexperienced, sorry..)
    To be honest, even for the first idea, I am unsure how I should exactly transform my world space to map space. This is my first time tackling such a case and if any one could guide me in the right direction to recreate such maps and the algorithm/logic behind them, that would be super nice. I am at an intermediate level and have a decent understanding of shaders / C#.
    Environment is URP, using unity's 2D suite.
    Thank you very much for your time.
     
  2. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    38,745
    There's so many ways of doing this, ranging from pre-snapshotting the level yourself, dropping that in and gradually revealing it, to procedurally doing it at runtime. Each way has plusses and minuses... I think you need to pick one and explore it, then if you don't like it, rip it out. With source control, reverting arbitrarily-massive changes is one click and done.
     
    Last edited: Jun 14, 2022
    Metthatron likes this.
  3. Metthatron

    Metthatron

    Joined:
    May 26, 2017
    Posts:
    6
    We were thinking of procedurally building the map at first but that's too overkill and resource intensive for the size of the project, I believe. I will look into pre-snapshotting the level. This will be good time to prototype it so git comes in handy as you said.
    Thanks for the feedback.