yairm210 / Unciv

Open-source Android/Desktop remake of Civ V

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature request: Put resource point value for worker tile improvement priority in the settings.

The-Talik opened this issue · comments

Before creating

  • This is NOT a gameplay feature from Civ VI, BNW, or outside - see Roadmap
  • This is NOT a gameplay feature from Vanilla Civ V or from G&K - If so, it should be a comment in #4697

Problem Description

I'm not exactly sure how tile improvement decisions are made, but I assume it's something along the lines of each resource having a point buy (ie, food at 1.2, production at 1.1, etc), and the code totals them up and picks the best one. Specifically for the player (not the AI) it would be nice to be able to tweak that in the settings, especially as some mods have resources in different abundances. As an example, I'm playing Alpha Frontier and food is incredibly easy to come by -- my main city is population 48 and generating an excess +110 food/rnd, so I'd rather prioritize other things, like production.

An alternative solution might be to have workers change improvement priority based on the city's Citizen Focus.

Another nice-to-have, that's related, would be for workers to deprioritize food tile improvements once a city has enough population for every tile +specialist.

Related Issue Links

No response

Desired Solution

na

Alternative Approaches

na

Additional Context

No response

You haven't got an answer yet because that's a bit way off (and possibly RL). From a coder perspective, tile value for automation is a bunch of hardcoded functions, and the first imaginable increase in flexibility would be to have them moddable in ModOptions.constants - Modder job, and same rights for AI and human players, and for everybody in a multiplayer game as well. Even that would be a major chore as there's more such code than you would expect, evaluating stuff for where to place city population, city focus, where to send a worker to improve, or where to settle - the code is meshed but still not just a single place.

Also, AI is not my specialization around here - maybe someone will get a flashing lightbulb that, maybe, just maybe, parts can be improved wiith your inspiration without bringing a card house down or costing a few man-months points in effort. Not me though.

Lastly, any more Options and we'll need to completely overhaul the UI - data-driven with abstract option definitions as data, priorities, a "novice level / expert" setting omits lower priorities from the UI, search and sorting, and so on...