New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Area action", a QoL feature using zones to get stuff done quickly #53290
Comments
There is currently functionality to define custom item zones, and I THINK there's a way to save one such definition. For sorting out loot I'd definitely want to use such a target zone that I'd gradually refine (and modify over time, as the priorities change). I may well want to have several such custom target zones for use in different environments. As per 3., I don't think it's useful to split targeted items between companions. It's more efficient to have them all go through all items at the tile they're at before moving to the next one and it will probably result in fewer cancellations due to blocked paths than separating the tasks. Also, that's how unsorted zones work currently, so there would be no need to change anything in that logic. Also, I'd like this to interact seamlessly with the "normal" zone system, so you could set up zones using this new UI, complement with additional target zones, and then get to work, or do things in the reverse order, i.e. start with the "additional" zones and then invoke this UI (and get to work immediately).
The biggest zone management improvement I can think of is not on the list referenced, however, and that's awareness of the third dimension. I think we're moving towards the ability to use base basements to a larger degree (if for no other reason to get liquids to stay liquid), and the ability to get companions to bring loot brought back down into the basement would be quite useful. It would also be very useful when dragging loot out of labs and other multi Z level structures. I believe this has been mentioned as a suggestion before (and possibly in the last week or so). |
Great stuff Patrick. Zlevel zones are a separate issue but one I'll add |
I think this is an amazing idea that will greatly improve the game but I would just like to interject a little something. Is there any reason for specifically using a circle for the quick zone actions? I feel like the current zone system and this new quick zone system could be improved by adding more shape options. A few shapes that could work would include convex polygons (draw by the player by moving the cursor to the corners hitting a add corner button and then hitting a confirm button), line segments, or as you mentioned circles. The option to use other shapes would allow for the easy pulping of a radius around a turret, the easy cleaning of just a rectangular room, or fully utilizing storage in a strangely shaped space. |
I don't interpret the "radius" as a circle, but rather the current "box" system used for zones, reduced down to a square for UI ease of use. Other shapes don't really work with the underlying grid, as you'd have to determine whether a tile intersected by a zone boundary are inside or outside (it's not hard technically, but it's a challenge to get people to understand whichever implementation you decide on [e.g. any part inside = inside, >=50% = inside, any part outside = outside]). If you want to tailor it to match strangely shaped spaces you're better off using the existing zone system (which would then have been enhanced with with whatever functionality that gets added by this set of changes, as the functionality available should be the same, with only the UI differing). A use case I have where I actually need weirdly shaped zones is vehicle disassembly zones, where I have to add the tiles the wing mirrors are at, while excluding all the other tiles surrounding the targeted vehicle, as I definitely DON'T want to dismantle the lifting "vehicles" that have to be placed there to get the companions to be able to remove everything. I do this by drawing one zone over the vehicle itself and then a single tile deep zone from one mirror to the other (adding the wing mirrors separately works as well, but that's one more zone to define and one more to remove afterwards). |
Too many options are a problem for the quick system. They'd be great for persistent zones. I'm not married to the circle, but I think both of you are missing the crucial "flood fill"stage. First you designate a rough area to include, then you use flood fill to exclude inaccessible regions. That means if you're in an enclosed space, the zone will just autofill it. If you're outside, I think a circle is a good tool because all points are equally distant when pathfinding. If you have complex terrain you want to specifically and carefully exclude, you may want to use a persistent zone rather than an area action. These are designed to be "zoop, zoop, done" without a difficult interface with lots of options. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered. |
Is your feature request related to a problem? Please describe.
Many actions in this game (and any game) require repetitive mundane actions with player input. A classic example is "searching all the bodies after a battle", or in our game "pulping all the zombies". There is no reason this should require constant player input: an AI can do this very simply.
We already have the framework to get an AI to do this for you. Using that framework would not only make it easy for players to automate their avatars to do boring actions, but also would be a very easy stepping point to order NPCs to do it.
Solution you would like.
Leverage the
zones
mechanic to create temporary zones in a limited area, immediately perform a zone action in that area, and delete all relevant zones. For this issue, I don't suggest adding any new mechanics to zones (that will come in a follow up issue). This issue is only about a UI to define and assign the zones.Process
enter
to confirm location and move to step fiveResult
This allows a quick and easy way to define a zone and rapidly do a simple mundane action in that area, such as sorting out all of a particular type of loot. By allowing NPCs to be assigned to the zone, you can conceivably ask NPC1 to gather all weapons while NPC2 gathers all food and you gather all clothes. As we add more zone activities that relate to this command, the ability to assign NPCs to the zones will become very powerful.
Describe alternatives you have considered.
Initially I considered just centering the zone on the player, but that is difficult when we start including NPCs in the mix.
Additional context
This is the first step of a larger project that I suspect will have vast qol and NPC management implications.
The text was updated successfully, but these errors were encountered: