Prova con:

codice:
SELECT g.id AS g__id, g.producer_id AS g__producer_id, g.description AS g__description, g.name AS g__name, g.published AS g__published, g.cover AS g__cover, i.id AS i__id, i.path AS i__path, i.game_id AS i__game_id
FROM games g
LEFT JOIN images i ON g.id = i.game_id
WHERE g.id != ? AND g.id IN (
  SELECT g2.game_id AS g2__game_id
  FROM games_tags g2 LEFT JOIN tags t ON g2.tag_id = t.id
  WHERE t.name IN (?, ?, ?)
  GROUP BY g2.game_id
  ORDER BY COUNT(g2.game_id) DESC
)