Лучше взять Unity, это самый оптимальный выбор.
Если очень хочется С++, и ничего больше, то можете всю логику поместить в DLL, написанную на C++, а потом её подключить к игровому проекту на Unity.
Посмотрите также в сторону Unreal Engine - это действительно хороший и удобный движок, с красивым кодом внутри, из которого можно легко лепить то, что вам хочется, и дорабатывать под свои нужды. И там как раз используется C++. В ряде случаев Unreal даже лучше Unity (в плане отсутствия ограничений). Но главный недостаток (для вас) заключается в том, что это монстр, он тянет с собой кучу всего, и игра получится тяжелее, чем на Unity. Тем более, что у вас карточная 2D-игра.