Правила игры, проверка правил?
Я бы ввел в таблицу  games_rules параметр type, который может принимать значения:
'choice', 'range'.
В случае choice параметр options содержит json
key=>value
В случае range
min=>{MIN_VALUE}, max=>{MAX_VALUE}
Дальше делаете классы для каждого type, которые знают свой формат options, знают как проверять условия и какой рисовать контрол (select,input & etc). Оборачиваете все это дело в фабрику профит.
Моё личное мнение:
- У Вас неправильный подход к организации хранения игровых данных. 
Избавляйтесь от лишних таблиц с правилами, т.е. загоняйте все данные в одну таблицу. Вам нужна одна таблица с состоянием игры и правилами сразу. Проверку на возможность условий (правил) нужно выполнить на уровне скриптов, как и серверных, так и клиентских. С таким подходом вся ваша работа будет с одной таблицей, никаких сложных запросов и мучений.