Видимо, прежде всего нужно придумать целые классы достаточно простых игр с какими-то достаточно простыми типами взаимодействия игрока с игрой.

Попытаться абстрагировать и спрятать кухню этого взаимодействия -- свою кухню для каждого класса игр.

Потом можно и вперёд.

Один тип -- игра Блэкбокс и Минёр.
Там все взаимодействия сводятся к кликам по каким-то полям,
а в конце раскрывается конфигурация.
(Это всегда двумерный массив, а клики приходятся на пару i,j -- это и можно абстрагировать, чтобы осталось задать действие на клик i,j, причём можно предусмотреть и правый клик, и с нажатым Ctrl, и т.д.)

Может быть, показать, как делается самая простая игра из такого класса, -- и предложить придумать свою?

Там, наверное, можно абстрагировать и варианты раскраски квадратика (кликнули -- стал желтым, или появился/исчез красный крестик и т.п.).

Усложнить возможностью использовать стрелочки.
(Написать процедуру-реакцию на нажатие стрелочки, и дать просто механизм подключения такой процедуры -- по умолчанию пустой -- в игру.)

Можно ли придумать игры с "тасканиями мышкой"?
Где взаимодействие состоит из протяжки мышкой из i0, j0 в i1, j1?

Вообще можно так абстрагировать достаточно много вещей, но предлагать их постепенно.
И пусть выдумывают игры и головоломки (игра "15" в эту схему вписывается).