Skip to content

Reworking Fabricate's User Experience #137

@misterpotts

Description

@misterpotts

Description

I want to rework Fabricate's user experience in significant ways:

  1. Remove the Recipe Crafting App, accessed by editing an owned instance of a recipe
  2. Remove the Component Salvage App, accessed by editing an owned instance of a salvageable component
  3. Add a new "Crafting App", accessed by opening the Actor's sheet and clicking an item in the menu bar
  • Browse and search owned and known recipes more easily
  • Craft recipes directly from this window
  • Optionally change the selection of components to use when crafting (Fabricate will pick some sensible defaults)
  • Browse and search owned components more easily
  • Salvage components directly from this window

I also want to rework Recipes:

Recipes will now have Materials (formerly requirements) and Products (formerly results).

Materials will be a set of zero or more MaterialGroups.

A Material Group comprises:

Ingredients
Catalysts
Essences

Optionally, you can also attach these to a Material Group:

Active Effect Sources (active effects from these will be transferred to created items in the product group)
Effect Macros (each of these user-defined scripts will be run on the item data for each item in the product group, after any active effects have been transferred)

Individual material groups can be hidden from users.

Products will be a set of zero or more ProductGroups. They are functionally identical to Result Options today, with the option to hide individual product groups from users.

You will be able to override which material group(s) are consumed and which product group(s) are produced in the crafting check macro.

There will be 3 types of Recipe (a recipe must be exactly one of these types):

Material-Driven Recipe
Material Independent Recipe (the default)
Alchemical Recipe

Material-Dependent Recipe

Each material group is connected to a product group. The selection of the material group determines which product group is selected. When presenting these to users, the linked options are always shown together.

Material-Independent Recipe

Any material group can be used to produce any product group. This is how Fabricate works today.

Alchemical Recipe

An alchemical recipe may only have one product group. However, when crafting, multiple material groups can be matched based on the user-provided components.

Benefit(s)

I think that this rework to Recipes puts Fabricate in the position of being able to implement any and all crafting systems. Certainly it covers all of the major official and 3rd party systems I'm aware of for Dungeons and Dragons 5th edition. Ultimately, that is Fabricate's goal: to enable you to build your own crafting systems, with their own rule sets, from the simplest to the most complex.

Potential Implementation(s)

This is where I'd like some help! I'm looking for someone, or several someones, to help me to wireframe this change and refine the UX, including the terms used, how things are described to users when crafting, how the crafting system manager can offer the additional complexity in Recipe creation, but remain simple to use, and so on.

Additional Context

I'm looking for volunteers, not UX designers to hire. Hopefully you see this as an opportunity to shape a Foundry module that you'd personally like to use and are excited to be a part of it. That's my own motivation, and I'm hoping to find a like-minded person or persons.

A little disclaimer about my Patreon: I'm incredibly grateful to my Patrons for their contributions and support, as it makes me feel like others share my vision for Fabricate and want to see it succeed. I want to deliver for them! However, I have consistently paid more money to Patreon every month than I make from supporters, so I just don't have any money to hand out to other contributors to Fabricate. I can't promise that will ever change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions