Чи варто навчитися розробці гри 2d до 3d? [зачинено]


14

Я розробник додатків для iPhone. Я хочу потрапити в ігри для iOS. Питання - чи варто починати з навчання 2D типу Cocos 2D або Corona SDK, перш ніж вивчати 3D-ігри, як Unity? Мене більше цікавлять 3D-ігри, але ви вважаєте, що знання 2D-ігор є необхідною умовою для вивчення 3D-розробки?



Вибачте, я думаю, що дане запитання, мабуть, не є дурнем того, з чим я пов’язаний. Хоча відповіді охоплюють багато того самого ґрунту.
bummzack

Відповіді:


11

Це залежить від того, наскільки ви сильні з математикою та концепціями програмування 3D-ігор .

2D ви можете отримати, використовуючи лише поняття x, y позицій та швидкостей (додаючи та віднімаючи їх - в основному вектори) та зіткнення 2D-коробки.

У 3D ви повинні турбуватися про набагато більше математики: проекційні матриці, матриці перегляду, frusta ..

Крім того, вам доведеться взаємодіяти з набагато більш багатим набором функцій з API малювання, який ви використовуєте, (лише в силу того, що ви робите 3D, тому вам доведеться навчитися набагато більше функцій, які стосуються 3D ).

Microsoft XNA має чудову підтримку для запуску в 2D і робить візуалізацію простою за допомогою SpriteBatch . Як тільки ви заходите в 3D, вам автоматично доведеться вивчити VertexBuffer або Model , а потім з'являються ModelBones і все інше, що йде з ним.

Вам найкраще починати 2D лише тому, що понять, які вам потрібно зрозуміти, менше (2D спрайти? Торт!). Якщо у вас є досвід під пояс, то вам слід добре робити 3D.


9

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

Якщо говорити, якщо ви не використовуєте двигун, який робить багато 3D важкого підйому для вас, це набагато складніше. Дивіться відповідь на це запитання: Що слід враховувати, вирішуючи 2D vs 3D для гри?

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


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

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

Останнє речення прибиває це.
Тім Холт

5

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

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

http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/

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


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

Хоча я згоден з більшістю ваших тверджень, було кілька чудових 2D-ігор, які ніколи не можна вважати випадковими, тоді як ваш середній 3d-шутер набагато менше задіяний для порівняння.
Едвін Бак

3

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

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

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