How do you keep customer needs, preferences, and item tags from becoming tightly coupled?
I'm working on a small potion shop sim where each customer has:
- a specific problem they want solved
- personal likes and dislikes
And each potion has:
- effects that solve certain problems
- an element
- a category
The issue I'm running into is that every time I tweak one part of the system, a bunch of other parts start drifting too.
For example, if I adjust a potion so it better solves one customer problem, it can suddenly affect:
- which customers it feels valid for
- whether that customer's likes/dislikes still matter enough
- whether element/category tags are doing useful work or just adding noise
- how many potions feel too similar
I'm still early, so I'm trying to avoid locking in a structure that's already too tangled before implementation really starts.
For people who've designed systems like this before:
- How do you usually separate "solves the customer's problem" from "matches the customer's taste"?
- Do you prefer a tag-based setup, a scoring model, or something more explicit?
- How do you keep item identity clear without every variable interfering with every other one?
I'm not really asking about final balance numbers yet. I'm more trying to figure out the cleanest structure for the system before I lock too much in.
If there's a common pattern for separating "problem solving" from "taste matching," I'd especially like to hear how you model that.