Основная проблема "своего движка" совсем не язык.
А алгоритмы, математика (в т. ч. высшая) и даже видение архитектуры движка (в первую очередь). Это уровень не начинающего программиста. В этом смысле без разницы C# или C++. Скорее всего Вы упретесь в математический аппарат а то и еще раньше на уровне архитектуры если Вы новичок будете 100500 раз рефакторить код.
Без обид. Я уже видел много раз "я напишу свою ОС", "я напишу свой движок" - просто как правило люди не понимают объем работ по незнанию. Аминь
Если Вы осилите полностью _сами_ даже движок Castle of Wolfenstein в том самом первом _псевдо_ 3D 40 летней (!) давности - для Вас это будет подвиг. Без шуток