если нужно то что ты именно перечислил, то есть по любому. у меня были созданы библиотеки, в них было любой вывод спрайта, скроллирование и тп.
при написании чего либо,возьмем тех же вормсов, просто указывал минимальные данные(координаты,что угодно)обращался на макросах к ней, соответсятвенно при компилировании все вставлялось проблемма решена. Scenergy(конечно не игра,но работа там была гигантская с использованием библиотек) полностью на макросах забацан. при его дальнейшем создании(если бы появился 3 номер), достаточно было бы давать данные и все. создание заняло бы минимум времени(учитывая что все готово). кароче я говорю что это на самом деле не трудно. что-то конечно по любому пришлось бы писать с нуля,без этого никак.
конечно это не движок в некотором смысле, но сделать его можно было бы за короткое время,данные подсовывать надо все равно