Вам не нужно использовать 3D, чтобы получить «3D вид». Такие вещи, как повороты, движения или преобразования, могут быть предварительно записаны или воспроизведены в виде анимации или последовательности изображений и легко интегрированы в 2D-игру.
Единственное, что невозможно в 2D, - это свободно перемещаться по игровому пространству (например, свободно ходить или летать, произвольно поворачиваться и т. Д.)
Однако главной проблемой при выборе 2D или 3D должен быть игровой процесс. Есть игры, которые абсолютно нуждаются в 3D (шутеры, симуляторы), в то время как другие обходятся совершенно без (приключения, головоломки, ...). Таким образом, вам на самом деле не нужно решать, а выбирать более подходящее для вашей игровой идеи.
Лично я бы не стал использовать 3D в первой попытке игры, если это возможно, чтобы устранить все ограничения и неприятности, которые с ним связаны.
При использовании 3D вы, как правило, должны выбрать 3D-каркас, который будет сильно влиять на ваш дизайн программного обеспечения, внешний вид игры и общую производительность. Например, в Java3D есть сложная структура классов, которую вы должны настроить.
И много усилий идет на то, чтобы заставить эти 3D-вещи работать вообще. Простые вещи, такие как вращение квадрата, превращаются в матричные операции, включающие кватернионы. Каждый эффект должен быть сделан в сложном трехмерном мире, и таким образом, чтобы его двухмерный проецированный вид получился таким, каким вы его задумывали.
Не говоря уже о том, что 3D-приложения часто имеют очень стереотипный вид, который очень трудно преодолеть.
В 2D вы буквально избегаете одного измерения сложности. Вы делаете все именно так, как это должно выглядеть, вы можете использовать стандартные графические приложения и открывать форматы файлов, чтобы упростить рабочий процесс между дизайнером и разработчиком. А многие псевдо-3D-эффекты, такие как параллаксное движение, глубина резкости и предварительно обработанные изображения, позволяют удивительно выглядеть в 2D-мире.