Skip to content
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

Reworking Fabricate's User Experience #137

Open
misterpotts opened this issue Sep 11, 2023 · 3 comments
Open

Reworking Fabricate's User Experience #137

misterpotts opened this issue Sep 11, 2023 · 3 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@misterpotts
Copy link
Owner

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.

@misterpotts misterpotts added help wanted Extra attention is needed enhancement New feature or request labels Sep 11, 2023
@elizeuangelo
Copy link

First I would like to say this module got me totally by great surprise! I was totally not expecting something like this to exist, its beautiful and works where others couldn't. I'm willing to help on the project where I can. I'm going to take a better look this weekend and syntethize my opinion.

@misterpotts
Copy link
Owner Author

misterpotts commented Sep 16, 2023

I have a lot of half-formed thoughts codified in sources and unwritten principles that should be in the contributing guide, just to warn you. On the plus side I'm aware of my deficiencies and more than happy to take feedback on and improve things!

Please let me know if you have any questions, here or over on my discord!

@misterpotts
Copy link
Owner Author

I've done my best to pre-empt those questions by adding principles to the contributing guide. The "half-formed thoughts" will hopefully end up as separate Issues in the backlog, or they'll get addressed in the conversation about this Issue!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants