You could say that before playing it, a game has an unknown chance of being bad, and that chance is the same for each game you never played before (unless it has very positive reviews, of course). Knowing this, you could define a certain weight for each aspect of the game. When doing so I usually assign a very low weight to music because, in the worst case scenario, you can just mute it.
Graphics are nice, but when I was young I played games like the
MS Dos prince of persia (my screen had no colors back then, just black and green), the weight I assign to graphics is very low as well. On top of it, I really hate when developers focus too much on graphics and neglect something else that might really make the difference. There are a lot of situations where developers focused too much on graphics and had to neglect other aspects of the game because they ran short on time. As long as game graphics are acceptable, I am fine with playing the game.
Story and gameplay have the highest weight. However, as I mentioned, the story is something that you experience by playing the game - unless incredibly obvious bad design choices were made and the story proves to be terrible from the very first dialogue lines.
To decide if a game is worth playing I start like this:
Code:
Story.weight =~ Gameplay.weight
Graphics.weight < Story.weight
Music.weight << Story.weight => Music.weight = o(Story.weight)
Based on those assumptions I continue defining a formula to see how bad a game can theoretically be (I calculate its chances of being bad). I start assuming that every aspect has the same chance of being bad or good (thus it starts at 0.5) and then modify that chance as I play based on what happens. It is somewhat similar to relaxing edges when calculating the shortest path in a graph.
Code:
InitialBadChance = Story.weight * 0.5 + Gameplay.weight * 0.5 + Graphics.weight * 0.5 + o(Story.weight) * 0.5
# The last part being a small o means it can be omitted
initialBadChance = Story.weight * 0.5 + Gameplay.weight * 0.5 + Graphics.weight * 0.5
If one thing is bad at the very beginning of the game the chance of it being bad suddenly turns to 1. Since Gameplay has a higher weight than Graphics in my opinion, and it is also something you experience from the very beginning, I can change that chance of being bad quite soon. However, if the thing being bad is Gameplay, things turn ugly quite soon.
Code:
CurrentBadChance = Story.weight * 0.5 + Gameplay.weight * 1 + Graphics.weight * 0
# I am assuming graphics are good here.
# Since Graphics.weight < Gameplay.weight
Story.weight * 0.5 + Gameplay.weight > 0.5 * (Story.weight + Gameplay.weight + Graphics.weight)
If it turns out having a higher chance of being bad compared to an unknown game, why should I keep investing time playing it? Trying a new one makes much more sense to me.