Essentially, the game itself has categories that are meant to exist beyond and outside of card decks. This is meant to reduce the number of decks and help achieve the desired model of complexity.
For example, the “NPC” deck AND the “Encounter” deck could have an icon representing “Possible threat”. Meaning - they indicate that the characters will encounter somebody who can take a punch and can be dangerous (regardless of the incoming faction’s inclination to do so). The two decks are meant to be right next to each other. But the “NPCs” hold precedence over the “Encounters”, so that when a “threat” is supposed to be resolved - a top “NPC” card would be played, rather than the top “Encounter” card. Which makes the “threat” cards - a sort of a mish-mash of different card types that plays a certain role.
The idea is not to find an automated solution that would reduce the number of decks. That would take too much programming. Rather than that - the idea is to observe the decks and their dynamics in a simulated environment of an engine that can be used as a database that would serve the development.
I would love to literally filter the options and simulate events being resolved using the engine so that I can use that to build statistics that would demonstrate whether the game achieves all the desired goals.
Some of them would be - having a desired learning curve and having a desired difficulty regardless of the character choices taken by the player (so there’s always something to hope for and never a comfort zone that loses the player’s interest).
I would love to have these statistics (which I could manually input somewhere) so that the ultimate design goals are met.
It’s a complex game to design. I simply don’t have the mental capacity to learn a few hundred cards’ parameters by heart and filter it all like a database. Which is I am exploring the options of using a game engine. Games regularly apply similar mechanics. And they do well in visualizing such dynamics.