For designing intuitive games
Narrative is the game design version of affordance. Consider what aspects of the narrative can make your game's objects make sense without explanation. For example, if a player comes across a key, it's easy to understand that it will probably open a door somewhere.
You don't have to be tied down to these, but know that players will bring in expectations from games similar to yours. This is especially important when it comes to control schemes. If you're making a platformer, jumping should probably be triggered by the w key, the A button (on controllers), the spacebar, or the up arrow.
Instead of outright telling the player what happens, have them see for themselves. If you can, design encounters such that the outcome illustrates a point about the game system. But as always with Usability, make sure the player is in control. Try not to use quick time events, cutscenes, or other mechanics that move control away from the player.
Give players time to think about the challenges you've given them, and give them appropriate space to try out different solutions. Don't make your game too harsh without good reason. If you're going to make the player fail often, make sure it's fun and rewarding.
Just tell them. As long as you do it in a non-obtrusive way, it's better to just get it out of the way than to keep them guessing. Try to give them the minimal amount of information though, and don't ruin the fun.