Если нет реальной трехмерной графики, то на чем угодно. Это может быть и неизвестный вам фреймворк.
Но что вам даст ответ? Предположим, вы выяснили, что это полуигра полуприложение сделано на Unreal Engine. Странно решение, но вот так оказалось. Что дальше? Побежите изучать этот движок?
Кто бы что на чём ни делал, лучше думать своей головой при принятии решения, а не просто делать "как у них". Ещё куда ни шло посмотреть, как устроено приложение, и взять идеи, с пониманием, зачем и почему так сделано. А почему разработчики выбрали именно такой движок, а не другой, они вам не расскажут, пока вы с ними не познакомитесь.
И у вас наверняка будет не 100% клон (хотя кто вас знает), а другое приложение, так что и решение будет основано на других исходных данных. Даже если клон, то зачем копировать неудачное решение?
Поэтому исходите из поставленной конкретной задачи, которую вы делаете. Она имеет специфику, от которой зависит не только выбор архитектуры, но и все последующие решения.