Що слід враховувати при виборі 2D vs 3D для гри? [зачинено]


68

Наскільки "складніше" 3D, ніж 2D з точки зору:

  • Кількість / складність коду
  • Рівень необхідних математичних навичок
  • Час, який займається створенням мистецьких цінностей

Оригінальна назва: Наскільки важко розвивати 3D-ігри проти 2D?


27
Один вимір складніше :)
flafur Waage

5
Зачекайте суб'єктивне ...
Циклоп

Хм ... сказавши це, мені справді дуже подобається відповідь @ муніз. Зараз я не впевнений, як я хочу класифікувати це питання. :) Це не зовсім підходить для мета , чи ... Данг цих крайових справ . :)
Циклоп

2
Складність коду, рівень математики та час здаються мені порівняно об'єктивними заходами складності.
Брайан Ортіз

@ Брайан, так, я бажаю , щоб ми могли скасувати близькі голоси. :) Переоцінивши це, я думаю, що частиною проблеми є назва - «Наскільки важко Х проти Y», звучить суб’єктивно. Кращий заголовок може бути: "Які відмінності в розробці 3D порівняно з 2D?" (може, змінити?). Що насправді Питання, на яке @mulous відповів , хоча з однокласником , який адресував назву. :)
Циклопи

Відповіді:


127

3D - на порядок складніше, ніж 2D:

Програмування:

  • Математика значно складніша для рендерінгу, фізики, зіткнення тощо. Сподіваюся, вам подобаються матриці та вектори!
  • Через попередній пункт досягти хороших показників набагато складніше . Завдяки сьогоднішньому апаратному забезпеченню ви можете зробити приємну 2D гру, не замислюючись про продуктивність, крім того, щоб бути не дурним. За допомогою 3D вам доведеться провести деяку оптимізацію.
  • Структури даних набагато складніші. З-за попереднього пункту, вам потрібно буде подумати про відсікання, розділення простору тощо. Все це складніше, ніж просте "ось список всього рівня".
  • Анімація набагато складніша. Анімація у 2D - це лише стрічка кадрів з можливо різними положеннями для кожного кадру. За допомогою 3D ви повинні мати справу з окремими анімаційними засобами, кістками, шкірою тощо.
  • Обсяг даних значно більший. Вам доведеться зайнятись інтелектуальним управлінням ресурсами. Ігри постачаються з конвертами вмісту, але консолі впевнені, що у пекла немає концертів пам'яті.
  • Трубопроводи складніші для розробки та обслуговування. Вам потрібен код для отримання активів у бажаному форматі вашого двигуна. Цей код не пише сам.

Мистецтво:

  • Активи, звичайно, набагато складніші. Вам знадобляться текстури, моделі, оснащення / скелети, анімація тощо. Інструменти набагато складніші і дорогіші, а навички їх використання важче знайти.
  • Набір необхідних навичок ширший. Хороші аніматори не часто є хорошими художниками текстур. Хороші прикурювачі можуть бути не гарними мотоблоками.
  • Залежності між активами складніші. За допомогою 2D ви можете чітко розподілити свої активи на різних артистів: цей хлопець робить рівень першого, цей хлопець робить ворогів і т. Д. За допомогою 3D-анімація впливає на вишку, яка впливає на скелет, який впливає на модель, яка впливає на текстури, які впливають на освітлення ... Ваш художній колектив повинен буде координувати ретельно та постійно.
  • Технічні обмеження є складнішими для вирішення. З 2D це в основному "ось ваша палітра і ваш максимальний розмір спрайту". Завдяки 3D, вашим виконавцям доведеться врівноважувати розмір текстури (для декількох текстур: окулярів, кольорів, звичайних тощо), кількість полігонів, кількість ключових кадрів, кількість кісток тощо. "Двигун X вибухає, якщо у вас більше 23 кісток!").
  • Обробка активів займає більше часу. Трубопроводи для перетворення об’єктів 3D у формат, готовий до гри, є складними, повільними та часто неполадними. Це змушує художників значно довше бачити зміни в грі, що сповільнює їх.

Дизайн:

  • Вхід користувача - сука. Ви повинні мати справу з відстеженням камери, інтуїтивно перетворюючи введення користувачів у простір персонажа, проектуючи двовимірні виділення у світовий простір тощо
  • Рівні важкі для авторства. Дизайнерам вашого рівня в основному потрібні навички ігрового дизайнера та архітектора. Вони повинні враховувати втрату гравців, видимість тощо при побудові рівнів.
  • Фізика рівня невтомна для автора. Вам доведеться перевірити і повторно перевірити і повторно перевірити ще раз, щоб переконатися, що у фізиці рівня немає прогалин і помилок, де гравці можуть застрягнути або провалитися по всьому світу.
  • Інструменти набагато складніше. Більшість ігор потребують власних інструментів для створення таких речей, як рівні. Оскільки зміст настільки складніший, інструменти - це більше роботи. Зазвичай це призводить до більш гнучких, неповних та складних у використанні інструментів.

2
Відмінна відповідь. Я думав, що це буде більш суб'єктивно, але ви виклали це дуже чітко. Незважаючи на те, що фактичне число не може бути (3,5 рази складніше), ви зробили непоганий випадок на порядок складніше.
Циклоп

5
+1 Прибив це. Це питання навряд чи суб'єктивне. Ми говоримо про два абсолютно різних світи. Існує властиве збільшення труднощів. Не починайте своє мислення на рівні генія ...
Девід МакГрау

Чудова відповідь!
zebrabox

1
Я бачу, що моя відповідь побита кількома величинами (щоб використати слова авторів). Це настільки чудово, що я нахилявся багато речей сам, що раніше ніколи не думав. Хороша робота!
Тобі

Чудова відповідь. Ще одна думка, що я маю - на користь 3D - це те, що, коли я починав працювати, було набагато, набагато простіше знайти ресурси, що стосуються розвитку 3D, ніж 2D. Але це вже понад 5 років тому, і пейзаж з тих пір змінився досить сильно.
Ендрю Рассел

11

Багато складніше. Якщо вам не зручно робити 2D гру, вам дійсно не сподобається те, що потрібно зробити 3D-гру.

Хороша новина: 99% часу вам це дуже не потрібно. Придумайте будь-яку 3D-гру, яку ви можете. Візьміть камеру, зафіксуйте її на стелі, дивлячись вниз, щоб ви тепер дивилися на 2D площину. Дум стає Гонтлетом. Civ IV стає Civ I. Metal Gear Solid стає оригінальним Metal Gear. Жодна з цих ігор не є «поганою» лише тому, що вони 2D; вони ідеально відтворюються і, як правило, мають однаковий ігровий процес.


5

В основному, 3D буде створювати більше труднощів, ніж спрощення. Але мені просто хочеться додати кілька речей, які насправді можуть бути простішими в 3D-грі:

  • Налаштування програвача. Уявіть, якби Team Fortress 2 був 2D платформером з 20 анімаціями для кожного класу. Тепер уявіть, що ваш директор з маркетингу запропонував вам додати шапки в гру. Це означало б 20 нових спрайтів для кожного класу; і вона розшириться лише в тому випадку, якщо ви вирішите додати інші різні елементи. Одна компанія, над якою я працював, зіткнулася з цим розладом.
  • Рухи характеру. Налаштування та анімація, безумовно, не з простих завдань, але якщо ваші персонажі складні, то, врешті-решт, це буде простішою роботою, ніж у 2D, де ви повністю перемальовуєте персонажа для кожної пози. Практично першою оцінкою досконалості в будь-якій 2D грі є те, скільки разів творці були готові перемалювати своїх персонажів для додаткової анімації.
  • Пошук двигуна. Я можу зробити простий платформер менш ніж за одну годину в 3D, без кодування взагалі, але це може зайняти трохи більше часу в 2D. Ви обов’язково знайдете безліч хороших 2D двигунів там, десь дивлячись, але, чесно кажучи, нічого одразу не спадає на думку; мало хто здобув свою велику популярність, як це мають Ogre3D або інші 3D-двигуни. Для 3D-програм доступні UDK, Unity та багато інших рамок. Частина цього може полягати в тому, що зменшена складність 2D означає, що любителям не так складно просто написати свої, спираючись на XNA. (Крім того, деякі згадані 3D-двигуни можуть бути життєздатними для створення 2D-гри)

3

Це високо суб'єктивне питання, оскільки відповідь залежить від особистих уподобань / досвіду / знань / інтелекту.

Я спробую відповісти нейтрально, але оскільки я лише програміст, а не художник, я можу лише гіпотезувати за останню точку.

Складність коду не повинна бути такою різною, за винятком математики та, можливо, рендерінгу / фізики. Логіка гри не так сильно відрізняється, якщо ви приймаєте здоровий рівень абстракції (не надто багато - ви намагаєтеся зробити гру не двигуном, принаймні, я думаю, з вашого питання.) Очевидно, це набагато простіше обчислити рух у 2D, оскільки у вас обмежена перспектива. Фізику ШЛЯХО складніше, якщо мати справу в трьох осях. Крім того, завантажувати спрайт із растрової карти набагато простіше, ніж завантажувати 3D-модель (і, можливо, текстурувати).

Математика є складнішою для 3D (насправді без моніторів - кватерніони, вектори, матриці. 'Nuff сказати)

Щодо мистецтва, я думаю, що для 3D теж має бути складніше, оскільки вам потрібно створити мистецтво, яке добре виглядає з усіх можливих кутів огляду (або, принаймні, з широкого діапазону), і зазвичай ви хочете також текстурувати речі. Анімація сітки - це не пікнік, щоб зробити її реалістичною, і набути текстури не можна.


Завантажити спрайт простіше, ніж завантажувати модель? Моделі включають скелети, шкури, шейдери, УФ-координати, текстури, звичайні карти тощо. Спрайт - це зображення. Слідуючи цьому марно, 3D-мистецтво набагато складніше через перераховані вище речі.
Шон Джеймс

Вибачте, це була помилка. досить великий, дякую, що вказав на це. Це, мабуть, було настільки приємно, що він не реєструвався, коли я читав.
Тобі

3

Інша річ, яку слід врахувати ... при 3D-грі ви, мабуть, хочете розглянути можливість використання наявного двигуна і сконцентруватися на тому, щоб гра не була двигуном. Це може призвести до скорочення часу і труднощів у 3D-грі (як чудово визначить чудовий).

Набагато простіше побудувати 2D ігрову гру. Але очевидно, що ви можете (і слід врахувати), використовуючи бібліотеки спрайт, звук, портативність. Немає сенсу винаходити колесо, крім освітніх цілей.

Здається, очевидно - але я вважав, що це варто сказати.


2

Дозвольте запропонувати один цікавий розгляд для мобільних пристроїв, де продуктивність 2D насправді може відставати від низькополімерних 3D-моделей:

1) Коефіцієнт заповнення може спричинити досить багато проблем із роботою при роботі з багатьма спрайтами на екрані в даний момент часу.

2) Вимоги до текстурної пам'яті для повноцінно розробленої 2D гри насправді набагато вищі, якщо ви використовуєте кадрову анімацію. Кожен кадр кожного символу лінійно викреслює ваш загальний бюджет текстури. Це означає, що якщо ви використовуєте просту анімацію для фліпбука, у вас фактично є більш обмежений бюджет анімації, ніж у 3D-анімації на основі скелета.

Інструментарій на зразок хребта допомагає трохи вирівняти це ігрове поле, створивши 2d деформації текстури.


Отже, враховуючи це та простоту доступу Unity та UDK, які обидва витягують велику складність розвитку ігор, що існували роки тому для 3D, відповідь не настільки прямо.


Я б запропонував не стикатися з такими старими повідомленнями з новими деталями. Поточна відповідь на сьогодні ще дуже застосовна, і це питання насправді не потребувало стикання на першій сторінці.
Піп

2
Мене сьогодні зв'язав колега, і оскільки моє доповнення до цієї відповіді було справді роками, я думаю, це добре. Немає нічого поганого в тому, щоб до старого питання додати нову відповідну інформацію! Більшість людей використовують Google як інтерфейс для переповнення стека, тому навіть дуже старі елементи можуть з’являтися у відповідних пошуках до цього дня.
M2tM

1

Це залежить від розробника ігор. Час, що займає багато часу, складає ігрові активи. Якщо ви вважаєте, що вам легше зробити ці активи за допомогою illustrator та Photoshop, тоді 2D вам простіше, але якщо ви знаєте 3D-моделювання, напевно, ви погоджуєтесь зі мною, що 3D набагато простіше, ніж 2D.

Що стосується анімації, то, безумовно, 3D легше, швидше і простіше в управлінні.

Наприклад, якщо в 3D ви можете зробити всю анімацію для персонажа за кілька годин на одній сцені, в 2d ви повинні намалювати персонажа з нуля для будь-якої діяльності, яку він, як передбачається, повинен робити і зберегти багато файлів, потрібно 2 дні в 2D проти годин у 3D.

Крім того, якщо ви щось зміните, вам доведеться переробити все в 2D, але вам не доведеться змінювати все, наприклад, якщо ви вирішили, що ваш персонаж не повинен мати капелюха. Вам не доведеться переробляти всю анімацію, яку ви просто видалили капелюх у 3D.

Якщо у вас є гуманоїдні персонажі, є тисячі безкоштовних мультиплікаційних анімацій. Більшу частину часу вам не потрібно робити анімацію для вашої гри.

Щодо складності та програмування різниці немає.

Але вам слід добре знати 3D, інакше ви можете опинитися в ігровому двигуні, що ваша анімація відрізняється від програми 3D або ваша голова персонажа обертається в зворотному напрямку, і ви не знаєте, як вирішити проблему та деякі інші збої.

Крім того, ви повинні ознайомитись з моделюванням ігор із низьким рівнем полірування та способом текстурування для гри, чим вона відрізняється від моделювання та текстурування для анімації.

До речі, всупереч поширеній думці, 3D менш вимогливі до апаратних засобів для мобільних пристроїв.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.