A core component of making a game fun is giving the player the joy of discovering. The brain likes to spot and remember patterns, figuring out a game’s mechanics and finding it's secrets feels good, we get a dopamine (happy hormone) kick. Subtly reveal underlying systems to the player, have multiple ways to achieve goals, while applying jeopardy, rewards and penalties. Have lots to find, lots of random, lots of variety.
Game juice is essential too. Juice is the game's feel, a virtual sensation - the language of game design. A game's feel makes it fit it’s theme and tone, but crucially it's also central to the player’s involvement and how enjoyable the experience is. It's both visual and sensorial, the game world becomes enticing while being responsive and contextual to the player’s actions... shake the screen or momentarily pause the action to emphasise a moment, place subtleties and charm in movements and animations, randomise sounds, make that shiny thing really shine!
Juice needs to be layered on top to double down on what the game’s about at it’s core, to compliment the underlying mechanic whatever that may be (for platform games emphasise the jumps and everything associated with them!). The player connects with the game, like they're really touching and influencing it. It's ultimately about making games look, feel and sound great; so they're alive, reactive and inviting. Juice makes games much more fun.
We slipped up while making Toy Town, our initial version felt a little too functional over fun. But after applying these fun thoughts we landed on a really exciting and satisfying game.