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

Proposal: Alternative crafting GUI to accomodate new features better #28170

Asmageddon opened this Issue Feb 11, 2019 · 2 comments


None yet
3 participants
Copy link

Asmageddon commented Feb 11, 2019

Example mockup picture:

  • In the above picture, magenta items are ones that player doesn't possess, but can craft, an example of a feature that would be possible with this GUI, as changing current ingredient could promptly update possibility of crafting the others. This is a demonstration rather than a direct proposal. See #27718 for that discussion.

    • Recursion depth of more than 1 probably shouldn't be allowed. On the other hand, choice disassembly recipes(e.g. bundles of rags), should be.
  • It would also be possible to update description based on components used to craft the item, e.g.

    • Disassembly string
    • Food nutrition values
    • Display of how the recipe affects weight and volume, e.g. 2.5L -> 0.75L for the bundle of rags item.

Another possibility would be to hide uncraftable or unnecessary tools and components altogether, such as:

  • Mind that the above example hides everything, despite the fact that doing so produces no space savings for components 2 and 3.

For tool/component selection, there are three main options I see:

  1. Pressing [key]/[shift+key] switches to next/previous selection. This option would work best when there's just 2-3 alternatives, and probably be clunky everywhere else.
  2. Pressing [key] brings up an item choice dialog, such as what already pops up when crafting. This option could also comfortably display how many additional components will need to be crafted
  3. Pressing any of the keys switches to a different input context, such as this mockup, where up/down switches slots, and left/right switches component:

All colors and layout are of course just for demonstration purposes, I'm mainly creating this issue to facilitate discussion.

I think that something akin to what I'm proposing will be necessary as the crafting system moves forwards towards more dynamic results(like food already) and other advanced features that the current GUI is incapable of properly accommodating.


This comment has been minimized.

Copy link

Photoloss commented Feb 12, 2019

hide uncraftable or unnecessary tools and components altogether

This definitely needs to be a toggle and OFF by default, sifting through available crafting options and identifying what you lack is one of the main ways of determining short-term progression goals.

Recursion depth of more than 1 probably shouldn't be allowed. On the other hand, choice disassembly recipes(e.g. bundles of rags), should be.

I'd prefer a setting to adjust recursion depth defaulting to 1 as more powerful CPUs should be able to handle it. Provided we can somehow cache disassembly/"uncrafting" recipes. What happens if someone looks at the "rag" or "bundle of rags" recipes? Those could loop back into themselves even at recursion depth 1.


This comment has been minimized.

Copy link
Contributor Author

Asmageddon commented Feb 12, 2019

@Photoloss From a very cursory look at the crafting inventory code, it would not be infeasible to alter it in a way that is relatively efficient for recursive crafting, e.g. when an item is reserved for crafting, it is removed from the current inventory, it wouldn't be difficult to add a map storing those reserved items, and re-adding them into the crafting inventory pool when the slot is changed.

And I agree about hiding unavailable options, I just felt like mockuping it :-P

Another thing that would be possible would be to have recipes that can produc multiple different results, e.g. for the modular turrets, it would be possible to have a single inactive armed defense turret umbrella recipe, which depending on the integral firearm you add, produces a specific turret.

It would also be possible to dynamically update stuff like craft time and chance, e.g. using an electric screwdriver or the integrated toolset instead of a screwdriver set ought to take less time, whereas using makeshift vs standard vs industrial duct tape likely would affect difficulty of crafting. Though that would need some additional display, to convey that switching tools/components affects the craft speed/chance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment