Блог ☯

вторник, 11 апреля 2017 г.

Создание 2d игр и почему не делать 3d? Двухмерные и трехмерные игры

Любопытный вопрос - почему даже сейчас, со всеми технологиями, мы видим столько 2d игр? Почему люди до сих пор создают 2d игры и почему не делать игры в 3d?

Поговорим о разнице двухмерной и трехмерной графики и обсудим, какие недостатки есть у каждой, с точки зрения разработчика и игрока.

Ну и поговорим в целом про создание 2d и 3d игр.


Разница между 2D и 3D



Думаю не стоит говорить, что такое вообще 2d игры и что такое двухмерное пространство. Но если вы вдруг не знаете, это когда у вас есть две оси координат, X и Y.

3d игры и 3д графика - это подразумевает 3 оси координат, к X и Y добавляется еще и Z (высота).

Можно показать разницу 3d vs 3d на примере рисунка:

Создание 2d игр и почему не делать 3d? Двухмерные и трехмерные игры

Думаю понятно, где тут двухмерный рисунок, а где трехмерный

Хотите, можем немного уйти в философию и сказать, что на самом-то деле, оба рисунка - двухмерные, так-как любой рисунок имеет только 2 измерения.

Тут есть лишь ощущение глубины (трехмерности) и третьего измерения, реальное 3d нельзя показать на плоскости. Мы можем понять, что что-то 3d, только если программа, через которую мы смотрим на объект, позволяет нам менять угол и точку зрения.

Хотя тут есть довольно любопытные вещи.

Например, есть такая штука как псевдотрёхмерность

Создание 2d игр и почему не делать 3d? Двухмерные и трехмерные игры

Может быть вы помните какие-то такие гоночки? 

Так вот, тут создаётся ощущение 3d, хотя 3d тут нет. Просто объекты которые дальше - меньше, и наоборот.

По сути дела, любая игра с изометрической графикой - это псевдотрёхмерность.

Еще можно глянуть игру Казаки, вторую часть.

Создание 2d игр и почему не делать 3d? Двухмерные и трехмерные игры

Казаки II

Вроде 2d игра, а фиг поймёшь. Войска дальше от камеры - меньше. Кусты и деревья вдалеке - меньше. Создаётся ощущение 3d.

Ну и понятное дело, если показать вам чисто трехмерную игру, вы сразу поймёте что она трехмерная. А если бы вы не играли в неё и не знали, что она 3d, как доказать, что это не просто двухмерная картинка?

Создание 2d игр и почему не делать 3d? Двухмерные и трехмерные игры

Skyrim

Ощущение трехмерности могут придавать тени, освещение, размер объектов в зависимости от дистанции, но не всегда это означает 3д игру. Бывают редкие исключения. Так-же не всегда 3d игра - это где можно менять угол и точку обзора.

Я знаю, что вам может взорвать мозги. Древняя, но очень крутая игра - total annihilation

Создание 2d игр и почему не делать 3d? Двухмерные и трехмерные игры

Запихнули 3d объекты на 2d карту

Понятия не имею, делал-ли кто-то еще такое. Там вообще взрыв мозга когда играешь. Самолёт делает пируэты, набирает высоту, и он абсолютно трехмерный (хотя и модель простая, игра 1997 года!), делает он всё это в двухмерной плоскости. Короче, мозг - бум.

Хорошо, примеры игр в разных измерениях мы посмотрели. Следующий вопрос:


Какие игры лучше? Двухмерные или трехмерные?



Во-первых, что значит "лучше"? Лучше для кого? Во-вторых, у людей разные вкусы. Если оценивать с графической точки зрения, есть уродливые 3D игры, которые лучше-бы делали в 2D, и есть отличные и прекрасные 2D игры, которым 3D нафиг не надо.

Пример красивой 2D игры? Да их миллион. Вкусы у всех разные, но например:

Создание 2d игр и почему не делать 3d? Двухмерные и трехмерные игры

Machinarium 2

Это квест. Такое рисовать - гигантский труд. И в итоге - это произведение искусства. А можно брать готовые текстуры и 3D модели, и ляпать очередную "три дэ" игрулю, без какой-либо индивидуальности и вкуса.

Конечно, есть тонна примеров ужасных 2д игр, и так-как 2д делать проще, таких примеров превеликое множество. Даже например посмотрите на игры вот этого чувака. Фу.

Короче, нет такого, что трехмерные игры лучше двухмерных, или наоборот. Всё зависит от конкретной игры. Есть плохие и хорошие 2D игры, есть плохие и хорошие 3D игры.

Графика - это лишь часть игры. Очень существенная, но не единственная.

Если-бы графика была в играх главной, Майнкрафт не набрал-бы такую популярность.


Разработка 3D игр



Я делаю игры в качестве хобби и 3D игры я не делал. Просто не лез в это. Как и не лез в онлайн игры. Однако, вот какие особенности есть у разработки 3д игр, многие из них объясняют, почему разработчики, которые делают инди-игры, редко лезут в 3D.

  • Математика существенно сложнее. Векторы, физика, новое измерение. Всё это сильно усложняет процесс разработки. 
  • В следствии предыдущего пункта, гораздо сложнее достигать хорошего быстродействия игры, а оптимизация влияет куда сильнее на итоговый продукт.
  • Анимации в 3D это ад. Сам не знаю, у меня хобби - рисование (вот например мой рисунок) и я пробовал анимации в 2D. Чуть не умер от усердия. Даже представить себе не могу анимации в 3D. Да, я знаю, что это сейчас чуть легче, есть готовые модели, есть какие-то технологии, но всё ровно, анимации в 3D это жесть. А как вообще делать 3д игру без анимации? 
  • Требования к софту, железу, оперативке и процессору значительно выше. 3д игры делаются так-же на консоли или например на планшеты, а там нет огромной памяти и мощности. А сделайте плохо - все будут критиковать графику. Сделайте хорошо, но медленно - критики будет еще больше. 
  • Такие вещи как тени и освещение очень затратны. Я, если честно даже и не представляю как это всё делается. Но понятно что это очень затратно.
  • Все 3D ресурсы дольше обрабатываются. Текстуры, анимации и т.д. Чисто технически 3д игру дольше делать, программы такие.
  • Угол обзора и камера. С этим тоже нужно возиться. Плохой угол может всю игру испортить и от угла обзора сильно зависит общее восприятие игры. 
  • Левел дизайн (дизайн уровней) куда сложнее. Тут не просто расставить объекты по карте нужно, тут еще и нужно быть архитектором. Да и объекты ставить нужно еще и в высоту. 
  • Инструменты для 3д графики и игр сложнее, чем для 2д игр. 

Всё это - самые базовые проблемы и сложности при создании 3d игр. Есть и еще.

Как видите, создание 2d игр занимает куда меньше ресурсов и как следствие, сделать 2д игру можно быстрее, и можно потратить больше ресурсов на маркетинг, звук, тестирование или на проработку игровых механик.

3d игры - это как-бы следующий уровень, для них отдельный рынок и у них свои конкуренты - другие 3d игры. Это другая лига, играть там дано не всем.

Я думаю после этого понятно, почему не стоит делать 3d игру своим первым проектом ну и надеюсь, что мне удалось объяснить чем отличаются двухмерные и трехмерные игры. Отличаются они не только графикой, отличий масса. Как для игрока так и для разработчика.

Поэтому в качестве старта рекомендуется создание 2d игр. Ну а потом, когда наберётесь опыта, можно делать 3d игры. Хотя, если говорить откровенно, существует очень мало инди-разработчиков, кто в одиночку осиливают полноценную и хорошую 3D игру, примеры реально единичны. Большая часть 3D игр разрабатываются большими компаниями и командами из сотен человек.

На этом всё. Понравилась статья? Не забывай поставить палец вверх чуть ниже, ну и еще можно почитать другие мои статьи про создание игр вот тут: