Без движков - это очень трудоемко. Любая современная игра имеет в основании ту или иную библиотеку, которая берет на себя типовые задачи: вывод графики, вывод звука, обработка ввода и т.д.
Сделать это можно на любом языке - от C++ до Javascript, под любой популярный язык найдется библиотека для разработки игр (и вероятнее всего не одна).
Unity - вполне вариант. Насколько знаю, позволяет делать игры как для десктопа, так и для мобильных платформ.
Если хочется чего-то менее монструозного (ближе к "настоящему" программированию, а не "конструктору") - то я бы рекомендовал посмотреть Kotlin. Это официальный язык для разработки под андроид и он же прекрасно будет работать на десктопе. Лично я "щупал" связку Kotlin + libGDX, меня вполне устроило.