3 UI/QoL Ideas: Unified Area Manager, tweaked Restrict Tab, Drag & Drop Work Tab

Started by Shrek, July 26, 2018, 11:43:23 AM

Previous topic - Next topic

Shrek

The "Home" area has some special properties that cannot be applied to other areas that make it unique, such as the ability to decide where colonists decide to clean, repair and firefight. For a Rimworld beginner who is at the start of a learning curve to the nuances of the game, keeping things simple works well. However, for the more experienced player who has acquired familiarity with the game and wants more control over their colony, the all-in-one approach of the "Home" area is rather limiting. Personally, I would like to be able to choose where my colonists do cleaning jobs, but this may not necessarily be where I want firefighting to occur, which in turn may not be where I want buildings to be repaired. I've spent some time figuring out how the user interface could be tweaked to accommodate the need of both groups of players and the result is portrayed in the two images I've uploaded. Also, it's been a while since I've played the 1.0 unstable, so I may be unaware of some changes that may have occurred.

1. The universal area manager.

In vanilla Rimworld, three areas are automatically created at the start of a new game: "Home", "Area 1" and "Animal area 1". However, when the Area manager is accessed ("Architect" > "Zone/Area" > Right-click "Expand allowed area" > "Manage areas" OR "Restrict" > "Manage areas") only "Area 1" and "Animal area 1" are displayed, while "Home" is omitted. It would be nice to have "Home" unified with the other areas, as it would allow me to easily compare it to the other areas when I hover my mouse over it.



To simplify things, I've gotten rid of the "New animal area" button while leaving only the "New area" button. To replace this feature and allow an animal area to be set, I've introduced a checkbox function. This also happens to present the perfect opportunity to expand the different properties of the "Home" area, allowing the advanced player to choose what they want it to cover, and additionally allow them to be able to create a new area with or alter an existing area to have certain properties. Why is this better and how might this work? Have you ever opened up the "Animals" tab looking for the zone you just set up and the reason it's missing is because you created an area for HUMANS? With the old system, you'd have to create a new animal zone and redraw all the areas up by hand. With a checkbox system, all it would take would be to uncheck "Allow Colonists" and check "Allow Animals".

A different possible scenario might be when you've set up buildings in an area on the local map, far away from the majority of your base. In the current game, to get colonists to repair said building, you'd have to apply a "Home" area onto it, but this would also mean colonists would try to put out a bushfire that occurred on the far side of the map. Being able to separate "Firefight" from "Repair" by selecting one but not the other was the main inspiration for this whole idea.

A further feature that I've introduced is "Forbid Colonists" and "Forbid Animals". This would come in handy when you've started a new colony on a map with an insect hive. Instead of having to use "Restrict" > "Manage areas" > "Invert" followed by "Architect" > "Zone/Area" > "Clear allowed area", it would simply be a matter of selecting the area where you don't want your colonists to go. Also, if "Allow Colonists" and/or "Forbid Colonists" is unselected, it would not show up under the "Restrict" (colonists) tab, and the same would apply for "Allow Animals" and/or "Forbid Animals" in regards to the "Animals" tab.

With some inspiration from the Allow Tool (Haul++/Haul Urgently) and Priority Clean, I'd also suggest some ability to create a Clean++/Priority Clean/Clean Urgently area that is separate from the default cleaning area.

Meanwhile, to maintain beginner-friendliness, or if there are some other hidden properties of the "Home" area that I'm unaware of, or for whatever reason that the game would break if there were no "Home" area, I also propose a button which allows any area to be designated the "Home" area. This one-click button would automatically tick the checkboxes that are relevant to the "Home" area. The first image I've uploaded would demonstrate what the revamped area manager would look like on a fresh game, with the idea being that "Home", "Area 1" and "Animal area 1" would start off with exactly the same functionality it currently has.

In addition, having a universal/unified area manager could theoretically be taken advantage of by mods such as Prison Labour and Giddy-up. It might also prevent the "Architect" menu from becoming overloaded.

2. The advanced "Restrict" tab.

The experienced player could take advantage of having a multiple-selection mode in addition to an advanced view. Right now with the current game, I pretty much dump everyone into the same area because it's too much work to give everyone different areas based on what they do. If I start mining out an area or expand a building out, then for 10 colonists, I would have to expand this area 10 times. The multiple-selection mode would allow for a more modular control over colonists by allowing different areas to be combined.

For example, I'd be able to create areas named "Lab", "Workshop" or "Military", for example, and restrict the appropriate colonists to the areas relevant to what they do. Engie is a builder and a crafter but not a researcher, so I'd allocate her to "Workshop" and "Military", but not "Lab". Niklas is another builder, so he'd also be allowed into the "Military" area, and you'd imagine what I'd do if I had other builders. If I expand my fortifications, all I'd have to do is adjust just the "Military" area and this would get applied to Engie, Niklas and any other people I've given "Military".



Then one day, a raid comes in the form of a siege. Instead of having to meddle around with tracing every corner of overhead mountain for every colonist I have, I could just use the forbidden area to tell them where not to go. One important feature of the multiple selection mode would be to have forbidden areas taking precedence over allowed areas. This would mean that if the "Kitchen" or "Crop" areas happened to overlap with the forbidden "Siege" area, colonists would not be allowed there.

Another possible situation might be a normal ground raid occurs and some of my fortifications get destroyed while others are damaged. Colonists like Croc, Voort and Skippy would not be allowed in this area under normal circumstances, but in this case because structures have been damaged, they are allowed into the "Military" area, provided they are allowed to repair structures. But Engie and Niklas will still be the only people allowed to do any other non-repair tasks, i.e. constructing turrets, hauling.

As for the Rimworld beginner, I believe the current "Restrict" tab is fine, and all my suggested additional features would be hidden behind a button for "Toggle advanced view". The current single selection mode, with choosing a particular area causing the behaviour of deselecting the previously selected area, would also stay in place as default. All the options hidden behind the advanced view would have "Home" as the default area selection.

At the end of the day, the way I've designed these two tweaks is with backward-compatibility in mind. That is, these new features would be implemented in such a way that if an existing Rimworld player or beginner to the game didn't want to use them, they could play the game almost exactly as it currently does.

3. The drag & drop "Work" tab.



I feel that it would be more intuitive to organise colonists' work priorities by being able to rearrange them by moving them up and down in a list, as opposed to giving them arbitrary numbers that ultimately end up getting myself confused (yes, I know how to use the "Work" tab, but after a while I tend to forget things, and ultimately end up redoing the numbers from scratch). With a list, it's also much easier to recognise who has been given too much or too little work.



An extra feature I would add is the ability to have a "Critical Priority" where a colonist will prioritise certain work over everything else, including sleep, eating and joy/recreation. Of course, one would have to be careful with this feature - accidentally putting Research into this category could be very, very bad if unnoticed.

When I originally posted this idea (https://ludeon.com/forums/index.php?topic=42603.msg419944#msg419944), I had not considered the "Shift + Click on the work type to change priority for all colonists" function that exists in the current numbers system for priorities. I've since figured that a similar mass-organisation feature could be implemented with a drag and drop system, and we could even take it further by introducing the Control key as well. The first implementation (image 3), with the Shift key, would change the work priorities of all colonists, relative to its current level (i.e., If we drag Engie's Grow priority up six spaces, everyone else's Grow priorities would move up six spaces, or the top of the list, in the case of Crow and Raywolfen). The second implementation (image 4), with the Control key, would change the work priorities of all colonists, on an fixed level (i.e., If we drag Fox's Grow priority to the seventh position from the top, everyone else's Grow priorities would be moved to the seventh position, or at the bottom of the list if they don't have enough jobs).



This third ideas is unlike the first two, in that while I've tried to keep it as similar as possible, ultimately, it changes the way work priorities are organised (but for the better, in my opinion).

The mods that inspired these ideas:
Allow Tool (UnlimitedHugs)
Cleaning Area (Hatti)
PriorityClean Mod (fyarn)
Job Splitter (Fuglypump)
Work Tab (Fluffy)
Priority Treatment (Shotgunfrenzy)