Factorio-Access / FactorioAccess

An accessibility mod for the video game Factorio, making the game accessible to the blind and visually impaired.
Other
20 stars 9 forks source link

add a map searcher #218

Open ahicks92 opened 1 month ago

ahicks92 commented 1 month ago

Not sure that this is the greatest idea or whatever but I've been tossing it around. A heuristic map searcher:

The list returned would start with exact matches, then list off anything that matches mostly, etc. ranked by number of conditions met, with weighting toward whatever is first in the list. It wouldn't be intended to be perfect, like for example just randomly picking 1000 points would be fine by me, and we could even do things in the background or just tell a player who's walking, I don't care about that (it's a detail, lots of choices).

The gap it fills and one which we don't seem to have a good solution for is finding places to build. It's possible to go out to 251x251 with the cursor and that can sometimes be useful, but it's waaaay less efficient than a glance at the map and way smaller than you'd get as a sighted person who charted too. Sometimes you just want to find a place to build an outpost, you know?

LevFendi commented 1 month ago

This is functionally a lot like the scanner tool but more generalized. What other kinds of search conditions do you imagine to add and how do they compare to what you can do with the scanner?

ahicks92 commented 1 month ago

The scanner handles "single objects". We could special case some of these as I proposed over there. But, I might do:

Which is "I want iron/copper close to each other and no water" (you might increase the tile counts)

Or you could ask for iron/copper/water/uranium, which allows making sulfuric acid provided some crude oil (given the unlikelihood of all together, I'm not including crude oil--but you could, that's why it's heuristic, you get "the best").

You could: not trees within 500 tiles. Get a big empty space.

Or coal + water within 50, to find convenient steam.

It also can basically be used for "I want to build not on top of resources".

And all of that would work with mods.

But it's sort of low priority because really this is most useful post-endgame and we need to tackle e.g. fast travel to make more fundamental things scalable.

Another interesting extension would be including rails: "iron within 50 tiles of rail" (finds some) "iron not within 30 tiles of rail" (leaves space for a train station). Obviously this one is kind of specific but again that's why I keep saying heuristic; if you don't get a perfect match have some we think are close.