One of my favorite games of all time is probably Spider-Man (2018). When looking analytically at the game from a design perspective, I can identify several key game mechanics that enable the game to be as enjoyable as it is.
Firstly, the game is presented in an open-world format, meaning that the player is capable of choosing what it is in the game that they would like to engage with, by actively selecting which objectives they would like to set for themselves. For example, if the player enjoys the combat in the game, they can choose to actively seek out more random crimes to fight on the streets of New York. If they like to solve logic puzzles, they can seek out the in-game research missions. If they enjoy working with the in-game locomotion system most, they can decide to go on missions that make most use of it. For example, they could swing around the city of New York looking for Pigeons in one specific side mission.
Additionally, the in-game combat mechanics, as with many other things in the game, offer the player with many creative methods to eliminate enemies. These range from stealth takedowns, to combos, to even unstoppable finisher moves. While swinging around the city of New York, the game also offers the player with the ability to perform trick moves while swinging, as well as the option to launch off of objects in the world or determine which building to launch a web towards.
For me, these mechanics offer me a dynamic that elucidate a clear feeling of fun. When I feel like it, I can engage in combat cleaning up crime on the streets of New York swinging through New York, and at other times, I can channel my inner scientist and work through circuit puzzles.