I am interested in implementing a map for my 2D action platformer. The map will be accessed when the player presses a certain button, and will show—at a very coarse grain—the sections of the world that the player has previously traversed. The sections are of various shapes and sizes, and I do not intend the map to show every platform and detail of each section, just a coarse grained shape of them and the various connections between them.

Ultimately, I want a map that looks similar to the one in Hollow Knight:

enter image description here

I am wondering what are some techniques for implementing this kind of map? It is hard to find info on how to implement this kind of map because of search result noise related to level design.

I image that I need to create an image of my final map, then define various areas on top of the image and link them to various area triggers in my level. When my player enters an area trigger in the world, I can send signal to the map to reveal and highlight the corresponding section of the map.

Is this a common technique?

How else could I implement this kind of map?

The engine I'm working in isn't important, so feel free to describe techniques in an engine-neutral way.


closed as too broad by Kromster says support Monica, Philipp, DMGregory Aug 1 '18 at 2:36

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 5
    \$\begingroup\$ The method you describe sounds like it would work. Have you run into any trouble implementing it that we might be able to help you with? Or a downside to this method you'd like a strategy to overcome? Under an open-ended "what else could I do," we could keep coming up with alternatives until the cows come home, but if you already have a strategy that works for you then that might not be a very productive use of everyone's time. ;) \$\endgroup\$ – DMGregory Jul 24 '18 at 10:45
  • 1
    \$\begingroup\$ I agree with @DMGregory, I've thought of a couple of ways one could implement this, each with its own pros and cons, I'm pretty sure there are more than enough ways to do it, but there is no "proper way". Try your idea, and if it doesn't work, make another question of why it didn't work, and what you expected. It would be easier for users to answer it then. \$\endgroup\$ – TomTsagk Jul 24 '18 at 11:19
  • \$\begingroup\$ Thanks for the advice! I will work on implementing this and see if I run into any problems. If I do, I will narrow down the question. \$\endgroup\$ – GoldenGremlin Jul 24 '18 at 14:21

Browse other questions tagged or ask your own question.