Reducing Complexity
Reducing and avoiding complexity is one of the hardest and most important parts of game design.
Your game is three times too complex.
That's been my experience, from the game prototypes I've seen.
By hewing things off, at every level, you can make your game three times simpler.
Two systems
Try to build your game within two systems.
You don't just create whatever content you like, adding systems as you go. You start with the two systems, and build solely within them.
The key here is that complexity is so important that you should be sacrificing some gameplay to achieve it.
Magic has a system for using abilities, and a combat system. Radlands just has an ability system, which also contains offensive abilities. There is no combat system.
In my adventure game, there is a resource system, and there is a map you can move around on. You have seven different resources. There is no combat; you just lose health. There is no loot system; you just gain money. There is no reputation system; you just gain bounty. All cards either cause you to gain or lose resources, or they move you around the map. There is nothing else in the game, and everything I want to do, can be done within those two systems.
My games tend to consist of very few systems, but with many things packed into those systems. I then have a reminder sheet that explains what those things are.
In my farm game, there are no separate rules for different things. Everything is just a token you can put on your land. At the end of each round, each token does an effect of some sort. Within this system, I can create pretty much anything. There used to be "lords" who would come to stay. I made them just another token on your farm, and their effect was that you could feed them, and get points. There are invasive bandits, too. They are also a token, and their effect is that they take over some land.
After compacting most of my game into two systems, I then try to make those individual things each as simple as possible, or cull those that can't be simplified.
Make things work the same way
Find things in your game that work in similar ways, and make them work the same way.
Where a majority of things work a certain way, make that the only way. If some of the other things don't work well that way, redesign them, remove them, tolerate them, or (in a few important cases), use text, to make them work like they used to.
Feel free to experiment with multiple different ways to do things, but as development progresses, try to merge them.
Radlands once had a "range" system. Abilities could either hit anything, something of the opponent's choice, or something that wasn't protected by a card in front of it. These first two categories were in the minority, and were abolished. Now, abilities can only hit unprotected cards. Cards like Sniper (can hit anything) and Raiders (opponent chooses) were important, so they were kept, but with text that made them work in this unusual way.
If you really do need both categories, make sure the bigger category is the default rule, and then err on the side of making new things work the default way.
In my farm game, most tokens you take will go onto your farm. Some go to the Storehouse. Those are marked as such, while the farm tokens are unmarked.
Make two categories align.
In my farming game, actions could be free, or have a cost. Separately, they could be repeatable or once-off. This might seem to give four options, but two of those options were rare enough that I could condense this down to just actions that are free, but repeatable... or paid, but once-off. The other two combinations were rare, and not necessary.
Inherent combos
If you put everything in one or two systems, those things will inherently interact, because they're all doing the same kind of thing.
Radlands is loaded with combos. Why? Because the game is about very little. There are only people, events, and camps. The people and camps don't have all kinds of complex numbers, types, and categories. People are just *in play* or not. They can also be damaged (turned sideways). That's the design space. I managed to make enough interesting cards in this space, and they all interact with each other strongly, because the whole game is just adding and removing people from play, or turning them sideways.
The complexity bar
I don't worry about the complexity of individual components too much at the start of my design process. It's towards the end of the process that I apply a "bar". It's not a mathematical equation, but every rule and part of the game must add a certain amount of gameplay, per unit of complexity. This causes me to redesign and reword many things, and cut others. This bar gradually creeps up, and by the end of the design, almost everything is simple, and some things are gone.
You want to go over every single thing with a fine-tooth comb, asking "can I possibly remove this text/icon/concept/rule?" You can usually make something half as complex, but 90% as good.
Get rid of anything that creates an exception to the normal rules, unless you have lots of worthwhile things creating the same exception, in which case you should probably turn it into a rule.
Don't add rules
Never add a rule, in order to fix a problem.
This is a well-known piece of advice.
Instead, create components within your existing rules, that fix your problems.
Radlands had an issue that the game would snowball in the winning player's favour, with one player having a group of people in play that would wipe out the opponent's people, and leave them unable to recover. Rather than add rules to deal with this, I added the cards Radiation and Famine, which kill most of the people on the table.
In one of my prototypes, it was common for players to amass too many cards. Rather than create a rule that set a limit, I just added a little ability on a couple of cards, which forces players with very large numbers of cards to discard some of them. After that, players avoided building up too many cards.