One of the issues when it comes to trying to tell narrative and goals mostly through gameplay is how to make sure players see what they are supposed to see so they understand what they are supposed to do.
Some of those tricks can be quite subtle and non-intrusive, others take as much control away as full-on cut-scenes. It’s up to you to figure out what suits your game. Bear in mind that even the greatest examples of in-gameplay storytelling such as Half-Life 2 still have to take some control away from time to time. There’s no rule that those tools are inherently bad, although it’s generally a good idea to reserve any hands-on control over the player for critical events and when all else fails to get the point across.
1. Direct the player’s view
Forcing the player to go through a narrow space and limiting the amount of interesting things to look at creates tunnel-vision that focuses the attention on the view at the end of that space. This goes back to composition, in particular framing and negative space.
Use directional actions to your advantage
Another way of ensuring that the player will be facing the right direction at a certain time is to make sure he has to perform a directional action.
If the player can only vault over cover when facing it, you could block the path with a cover piece and trigger an event when he vaults over it. Or if jumping on crates to reach a ledge is really hard and unintuitive to do while facing away, you can assume that a vast majority of players will jump while facing the ledge and can see anything you want to show them when they reach the top.
This covers a wide variety of “contextual actions” that games offer, including vaulting, dropping down, opening a door or a hatch, turning a wheel, pulling a lever, pressing a button, climbing a ladder… as well as certain navigation modes, such as mountain-climbing along certain surfaces, sliding down a slope, crawling through a vent, dragging a wounded NPC…
Certain temporary states and control types, such as driving a vehicle or climbing a cliff can restrict the player’s field of view; combined with a way to detect in which direction the player is moving, they can be a good way to figure out if the player is facing the right way for whatever you have to show him.
Third-person games can also use their camera smartly to show the direction the player is supposed to go and to frame important events, especially critical during chase sequences in the Uncharted series for instance. It’s much harder to cheat like that in first-person of course so those games tend to rely more on full-on cutscenes instead. Gears of War makes it optional, prompting the player to hold a button to track an important event if he so chooses. As long as the transition is smooth enough and not jarring, those solutions can actually work quite well. In Mario Galaxy for instance, the camera is almost constantly making it obvious where to go.
2. Control the player’s movement
Temporarily enforcing a limit on the speed or stance of the player can help make him susceptible to receive goals, clues, spot subtler events, etc. This is often done when the environment needs to tell a story as the player progresses through it, to prevent him rushing through and missing the point, or the clues that would guide him around. It’s better though if you can make it compelling instead of enforcing it. For instance, building up tension and anticipation so that the player takes it slow by himself for fear of what might be around the corner, or establishing that his footsteps while running make him a target for foes.
You can limit the player’s movement by sticking him on a platform, elevator, vehicle driven by another character… While in general the main purpose is to hide what is essentially a cut-scene, it can feature basic but satisfying pallet-cleanser gameplay, and allows the story/objectives to progress while allowing the player to only have to deal with limited playable space/interactions/controls. That can also be a decent way of letting the player get a grasp of the layout of the environment before unleashing him in it.
Restrict / lock movement
There are times when no matter your willingness to not take control over the player’s actions, you may have to for the good of the game in general. In Half-Life 2: Episode 2 for instance, Alyx gets stabbed by a hunter and then saved by a vortigaunt while the player is trapped under debris. This forces the player to witness the scene from the intended angle, to not miss Alyx’s pain reaction and to make him feel helpless in this situation. That was critical for the game, but in the end it’s pretty much a cut-scene, as the only control the player has is to look around at a limited angle.
Other games pushed this method a bit further, with varying degrees of success. Take for instance the opening level of Metal Gear Solid V where the hero, still weak from his years spent in coma, moves through the environment along a path predefined by the points at which he collapses, leans on the wall to stand up, drags himself along objects… This feels less like control is taken away from the player, even though all he may actually be doing is stringing a sequence of animations together by holding the move-forward button.
This may sound bad, but some games manage to pull it off quite well, and it depends on the expectations of players and the focus of the game (e.g. “cinematic experience” vs. “role-playing”). To try and mitigate the negative impact this sort of trick can have on the player’s appreciation of your game, do not think of it as taking control away from the player, but instead as using any opportunity when the player relinquishes control (ideally willingly) to trigger whatever event or storytelling you want him not to miss. Like, instead of forcing the player to look at something, make it necessary for him to use a mounted weapon to defend the area, and place that mounted weapon in such a way that it is both well-placed to defend but also to spot that event that’s critical for him to see.
I mentioned before directional actions as a way to make sure the player faces a direction, well there is a fine line between that and taking control of the player’s movement, and another fine line between taking control of the player’s movement and playing a cut-scene. This distinction in the player’s mind is mostly determined by his expectations and the duration of the sequence.
If the player knows that pressing the Use key in front of cover makes him vault, he’s willing to have control taken away from him for the duration of that animation. If he goes through an ordinary doorway and out of the blue is grabbed by the boss and thrown over a railing into an arena, he may feel a bit cheated that he wasn’t given a chance to see it coming and avoid it or deal with it, but will get over it quickly since it only lasted a few seconds. If however his character starts moving around on his own, performing actions, following an NPC… you may as well call it a cinematic, even if the camera is the same as during gameplay or the transition back to gameplay is smooth.
Obviously the further you go down that path the more you can show the player and have well-choreographed sequences, at the risk of disconnecting him from the game and ruining his sense of agency.