Choices
Players want to have lots of interesting choices on their turn, and feel like they're in control of what they're doing. Gameplay is choices.
Be generous with options, but stingy with resources that pay for those options.
You do want the player to have interesting options on their turn, but not do too much.
If there are ten things, but you can only afford one, that's still an interesting choice.
Ten choices
A player should have ten different things they can do on their turn.
This is not a rule, just a thought exercise and sanity check.
Particularly in the late game, Magic players often lacked choices. They had few or no cards in hand, and half the cards they drew were useless land cards. However, in recent years, this is much less so. The designers now let players much more easily draw cards, and there are many cards which can return, or have ongoing effects.
Access
Monopoly has very poor access. Monopoly looks exciting, but isn't actually fun.
Look at your game's components. Look across the board, and at all the cards, tokens, tiles, and chits. How much of it can I interact with, this turn? This is what I call access.
This window of choice should include much of the game.
Access gives the player a feeling of control. The absence of access gives a feeling of powerlessness, or, at best, makes people feel like they're building a ship in a bottle.
In Machi Koro, players buy cards from ten piles. I like the game, and have tried out a few different combinations of cards. However, the game has low replayability, as these ten piles are always the same.
In the "Harbor" expansion, the game shuffles all the piles of cards, and many more, into a giant deck, from which ten random cards are displayed. This destroyed the access, as I could no longer buy the cards I wanted. I had to just buy from the ten random cards. Much of the long-term strategy went out of the game.
In one of my prototypes, players could move one space per turn. However, this gave them only a few possible spaces they could go to. By simply allowing players to move up to two spaces per turn, they could reach far more spaces.
If you're a beginner designer, worker placement is an excellent foundation for a game. In a worker placement game, there's a board of spaces. On each player's turn, they put one of their workers on an unoccupied space, and do what it says. Typically, once players run out of workers, they're all returned, and a new round begins.
Choice loss
In general, don't let the game (or other players) take away a player's choices.
Losing players should still have lots of choices. If a player is attacked, or suffers misfortune, they should ideally lose resources that do not pay for choices (such as "health" or points). They should generally not be prevented from taking their usual choices.
In general, don't let the game (or other players) take away a player's choices.
In Magic, you play land cards, which pay for you to play creatures and spells. There used to be more "land destruction" effects. If you destroyed enough of your opponent's lands, they couldn't play their spells. It was profoundly unfun, and isn't done any more.
Do not incentivise choice loss. Players will try to play the game optimally, and will unknowingly reduce their choices (and therefore fun), if it helps them win. "Ah but it was self-inflicted unfun-ness, and they chose it after all..." is still not a type of fun.
Do not make the number of choices dependent on the game state.
Avoid adding penalties to choices, during the game. It's often the same as just taking the choice away. "You lose 1 health whenever you use an item this turn" often just means "don't use any items this turn." And, if you reduce the penalty, the player will then just ignore it.
Also, do not force a player to do something, where they once had a choice. If you force them to do something, let it be in addition to their regular choice.
Never interfere with a player's regular one card per turn card draw.
Can't
Don't use the word "can’t".
Removing a player's choices might be interesting for you, the designer. For the players, it is not. I've made this mistake countless times.
In the Radlands expansion, I was trying all kinds of outrageous camp card designs. They variously: said you can't play people cards, you can't "junk" cards (discard cards for a small benefit), can't restore (heal) etc. These all gave some powerful bonus, but they were miserable to play.
Applying "can't" to an extra ability is fine. You're not losing something you already had. "Gain a magic potion. You can't drink it this turn" is perfectly fine, as is "move 3 spaces, but you can't go through a village."
Incentivise
Try to incentivise, rather than restrict. Give an extra benefit for doing the desired thing, not a penalty or prohibition that stops you doing something else.
In my farming game, I wanted the terrain to matter, so I made the terrain different colours. There was one for each category of tokens, and you had to put the token on the matching terrain. This extra restriction made the game painfully difficult, so I went back to letting players put tokens anywhere, but gave a bonus if you put the token on the matching terrain.
In my gangster game, I realised that having to move adjacently was too restrictive. However, it was still interesting. So, I made some special player powers that gave you a benefit whenever you moved adjacently, and also made a few spaces that you could only move to from an adjacent space.
If you have unique player powers, or other effects that change the game, they should be positive. Prohibiting or penalising things is almost always disliked by players. Try it out, if you want to see for yourself. Even making them neutral effects that simply change how things work, is often annoying for players.
In my gangster game, each player has a criminal "profile" dealt to them at the start of the game. These change the rules for that player, for that game. Junkie had to spend his money to buy health every turn, and Loner gained information instead of gang members. These characters were thematic and fair, but they were annoying to play. Almost all profiles are now positive, giving an extra ability.
Restrictions
There may be restrictions on how a player can use an action. These may be costs, spatial arrangements, absence of other players, or other conditions.
Avoid putting more than one restriction on an action, or it will just be too hard to do anything. Trying to actually do something will be the game, rather than it being about the choice of what to do.
If something has a cost, make the cost the only thing that can stop the player doing it. If there's another condition, avoid having a cost.
If I have the magic potion, just let me drink it. Don't make me wait until it's a full moon. If I've got money, let me spend it. Don't force me to travel to a merchant as well.
I like worker placement. I don't really like "dice worker placement", where you roll dice, and then place the dice. Each die has strength based on its number, and many spaces require a certain number. I'd rather the game be about doing my thing, and competing with the opponents over the board spaces, not about matching dice to actions like this. (Having dice worker placement necessitates that other restrictions be reduced.) Perhaps if I had a worker placement game that was too simple, I could convert it to dice worker placement.
A friend's Wild West game had guns. To use a gun, the card had to be upright, and then you'd turn it sideways for a while, to show it was "used". The guns also required that you used bullets. This was one restriction too many, and made the guns difficult to use, and feelbad. I suggested that guns not turn sideways, leaving only bullets as their restriction.
In my gangster game, there are locations you can go to, and they have costs. You want to go to a location that does something useful for you, and you also have to be able to afford the location's cost. However, you don't move around the board. You can just go anywhere. If you could only go to adjacent spaces, that would be a second restriction, which would be too many.
In one of my prototypes, the players would fit various pieces onto their boards. There are lots of games like this, and their pieces usually have wacky shapes. However, in my game, players would build upwards, putting pieces on top of various other pieces. I got rid of the wacky shapes, and just made them all rectangles.
Also remember that the purpose you're using the action for can be a kind of a restriction too, as not all actions are useful all the time.
Always-available actions
There are things that players must be able to do in your game.
You cannot rely on random events, to give the player a good turn, or to make the game progress. A player should not be unable to move, or have to "waste" actions, for instance.
There should usually be a few weak always-available actions, as fallback choices, for when the player can't do anything else useful.
In my pirate game, the player rolls dice, and these have various action icons on them. However, the player may fail to roll the actions they want. So, I have a list of always-available actions. The list includes "Row", which lets the player move one space, and "Go Fishing", which gives them two fish (the currency of the game), and "Wait", which is an expensive way of making the tide high, so that players trapped in pools can escape.
In my gangster game, I've just made sure that there are enough locations to go to that it's impossible that they're all taken at once. Also, of the twenty locations, fifteen are random, but the other five are always the same. These five locations contain everything that's important (or necessary) for the game to function, if the other fifteen cards are deficient.
In one of my prototypes, there was a space that any number of people could go to. It gave out a bundle of basic resources. This enabled the player to do a wide variety of things on their next turn.
In a friend's Wild West game, you can pass your turn, and get two dollars plus a tornado. The tornado is great here, as it resets a row of cards, which will give the player even more choices next turn.
In Radlands, you can always spend all your 3 water. You can always draw another card for 2 water, and you can use the Water Silo to save an unspent water for a future turn.