Может быть более элегантное решение, но вы можете просто выполнить запрос для каждой категории.Сначала получите список категорий:
SELECT DISTINCT(category) FROM `games`;
Затем возьмите каждый из результатов и запросите 12 строк:
SELECT * FROM games WHERE status = 'game_published'
AND `featured` = '1' AND `category` = $category LIMIT 12;
Конечно, вам нужно добавить какую-нибудь строку ранжирования (изаказать), чтобы получить top 12.
Примечание : может быть способ сделать это с помощью одного запроса, но в настоящий момент он ускользает от меня.