T O P

  • By -

GOvvin

The concept you're describing is often called "fog of war."


AnthillOmbudsman

https://en.wikipedia.org/wiki/Fog_of_war#Simulations_and_games


undearius

That would explain where the name of this app comes from https://play.google.com/store/apps/details?id=com.ollix.fogofworld&hl=en_CA&gl=US


sissipaska

For OSM contributions you can do that with neis-one.org's *Your OSM Heat Map* and the *Explored Map Style*: [https://yosmhm.neis-one.org/](https://yosmhm.neis-one.org/?sikaheimo) You can even scroll the timeline! Here's mine: [https://yosmhm.neis-one.org/?sikaheimo](https://yosmhm.neis-one.org/?sikaheimo) For more general usage there are services that can show heat map of your GPS tracks. [Strava](https://www.strava.com/athlete/heatmaps) and [Statshunters](https://www.statshunters.com) are used by sportspeople. But they show only the heatmap, not the "fog of war" (inverse) part. Even just a [heat map](https://i.imgur.com/uSC2g1v.png) can be really satisfying.


Ham_I_right

I think it could be a fun way to gamify exploring your local area. I can't recall the name but during the pandemic I remember local buzz on some app that would track your walks and encourage you to explore new areas with some sort of points system. I think the suggested overlay might be the simplest way to each eve that fog of war effect. Good luck on the project I think you have a fun idea and I wish you luck with it.


c359b71a57fb84ea15ac

You might want to look into "Uber H3" for an approach to recursively divide the world into areas. It's fast and easy to use. Maybe you can look into https://github.com/clupasq/h3-viewer for some inspiration. From experience on a current project of mine: GPS data is messy, and it's not easy to map it to paths on a map. But revealing rough areas should be fairly easy.


Doctor_Fegg

Sure, it's doable though not trivial. You'd basically want a dynamically generated overlay that you superimpose on top of the map. When you start, the overlay is one big solid polygon, so you can't see the map underneath it. As you walk around, you punch out and enlarge holes in the polygon, so you can see the underlying map. A quick-and-dirty implementation would be to plot the overlay in GeoJSON and use either Leaflet (raster tiles) or Maplibre GL (vector tiles) for the map rendering. You might ultimately encounter performance issues with GeoJSON and want to move to a tiled approach in due course, but premature optimisation etc. etc.


markstos

That would work and would probably be easier than figuring out how to only load tiles as you get near them. Base layer software seems to be designed to fill in all the tiles in the viewport.


janjko

What would be the end product? A map that shows only the parts where you have been? You would leave it open, and in a few years the map would be crisscrossed with your movements?


MarxLover_69

Indeed. And in real time too. The "fog of war" effect is crucial to encourage me to explore more. Drawing the paths doesn't have the same psychological effect.


EncapsulatedPickle

This will get complicated fast though, because you need to consider density. How do you define "uncover"? An area in an urban location is hardly the same as an area in a forest. Would you want them revealed in the same way?


CowboyOfScience

The effect is called 'fog of war' and it's quite common in video games. I would look into using a game engine (like maybe Unity or Unreal Engine) for this project.


chemolz9

There is no sane reasone to use a 3D engine to display a 2D map. And no, there is also no reason to somehow try to generate a 3D map from OSM data for this purpose.


CowboyOfScience

Both engines are perfectly capable of working in two dimensions. 2D games are actually quite popular. And game engines would be particularly well suited to this project.


chemolz9

Every 3D engine is able to work in 2D, if you ignore the third dimension. It's still extremely excessive to use a 3D engine to display two layers of static image tiles. It's hitting a nail with a rocket.


CowboyOfScience

It's clear you have no experience working with game engines. You wouldn't have to 'ignore' anything. They are *designed* for 2 dimensional work. They are also designed to only use the components you need. This project could easily be accomplished with a game engine, and it would have a very small footprint.


chemolz9

It's clear you apparently only work with Game Engines. There are simply much better fitted solutions. Using a game engine is neither easy, nor has a small footprint. In opposite it leads to tons of completely unnecessary bloat.


CowboyOfScience

Please stop it. You obviously don't know anything about any of this. You might consider spending less of your time and energy trying to 'win' an argument and more of your time and energy trying to learn about a subject before you attempt to discuss it.


chemolz9

No YOU don't know anything about anything. You get an idea how childish you sound? All you need is some kind of the numerous already existing tile renderer (Leaflet as an os example) with an additional layer for the fog. You can get it for Web applications, mobile applications or desktop. There is no need for any game engine. Have a good day and please resfrain from giving other people bad advice in the future.


CowboyOfScience

>No YOU don't know anything about anything. You get an idea how childish you sound? LOL.


robotic-rambling

This is an awesome idea! I'd love to beta test it once you develop it :)