Чому ігрові студії потребують графічних програмістів, якщо вони використовують ігрові двигуни?


55

У розділі кредитів ігор, в які я граю, є назви графічних програмістів . Якщо вони використовували ігровий движок, навіщо їм графічний програміст ? Хіба ігровий движок не виконує свою роботу?


15
Якщо ви хочете, щоб ваша гра була точно такою ж, як і всі, просто використовуйте двигун. Якщо ви хочете, щоб це було якось інакше, ви використовуєте двигун як вихідну точку, а потім змініть його. Я використовую ігровий движок (jmonkey engine), але я також написав шейдери, щоб змінити деякі його поведінки за замовчуванням для речей, про які я особливо піклувався)
Richard Tingle

29
Це як запитати, навіщо потрібен інженер-будівельник, якщо будівельні працівники збираються будувати міст. Міст - це не просто збивання бетону та металу. Існує багато детального аналізу фізики та матеріалів, про який будівельні робітники не знають. Для мосту будь-якої серйозної складності та / або навантаження спроба побудувати без цього знання, ймовірно, не піде добре. Таким же чином знання розробника програмного забезпечення про те, як обчислювальна техніка та робота двигуна будуть неоціненими при побудові гри. (У крайньому випадку, ви хочете отримати низькі рівні апаратних знань.)
jpmc26,

2
@RichardTingle Технічно написання шейдера насправді не модифікує двигун, воно забезпечує новий вміст для двигуна.
Фарап

11
Пов’язано: Навіщо компаніям потрібні математики та інженери, якщо вони мають калькулятори та комп'ютери?
xDaizu

1
Написати шейдер навряд чи є графічним інженером. @ShuvoSarker - "Або у кожного ігрового двигуна є свій спосіб зробити це" впевнено, "інженерія низького рівня" для ігор може охоплювати будь-яку кількість навичок. (назва "графічні програмісти" нічого не означає. Це може бути просто хтось, хто робить "пов'язані з графікою речі" в Unity ", або це може означати по суті, як ви думаєте," хитрі речі низького рівня "поза двигуном" ".
Fattie

Відповіді:


95

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

Наведемо конкретний приклад. Нам потрібен анімований обертовий круг:

введіть тут опис зображення

Деякі з наших варіантів:

1 Покладіть коло на рекламний щит, напишіть сценарій, щоб обертати рекламний щит.

2 Використовуйте як джерело анімований gif.

3 Робіть все в шейдері, що дозволяє 2 різних варіанти:

  • Обертайте білборд у вершинній шейдері
  • Намалюйте обертове коло в шейдері фрагмента.

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

EDIT для вирішення проблем з низовими потоками:

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


Коментарі не для розширеного обговорення; ця розмова перенесена в чат .
Джош

66

Ігрові двигуни схожі на кухні, а розробники (тобто програмісти) - як кухарі.

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

Таким чином, ігровим компаніям потрібні графічні програмісти для адаптації графічних можливостей двигуна до потреб гри.

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


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


Коментарі не для розширеного обговорення; ця розмова перенесена в чат .
Джош

20

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

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

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

Крім того, є багато випадків, коли студія захоче взяти інтеграцію додаткових програм, пов'язаних з графікою. Є пакети проміжного програмного забезпечення, такі як Granite, Enlighten та TrueSky, які пропонують різні функції, пов'язані з графікою (потокове передача текстур, глобальне освітлення, моделювання неба та візуалізація тощо). Усі ці пакети проміжного програмного забезпечення інтегруються з Unreal, але для їх інтеграції потрібна робота. Деякі з них можуть конфліктувати між собою або потребувати певних налаштувань, щоб добре працювати разом, оскільки всі вони розроблені різними компаніями. Графічні програмісти, ймовірно, будуть задіяні і в такій роботі.


7

Ігри без графічного програміста ви можете доставляти досить просто зараз, адже всі двигуни. Зазвичай вам потрібен графічний програміст

  1. оптимізація

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

  2. розуміння та повчання

    Художник хоче досягти певного ефекту. Графічний програміст, який розуміє, як працює двигун, може пояснити, як досягти цього ефекту.

  3. налаштування та ефекти

    Певні ефекти можуть вимагати програмування. Значна частина візуалізації Bound є звичайною.

Це нічим не відрізняється від фільмів. При 100-ти програмістах, великому бюджеті та поганому написанні ви можете отримати Star Wars: The Phantom Menace. Без програмістів і гарного написання ви можете отримати буквар. Програмісти (або інші технічні люди) можуть дозволити нові речі. Програмісти привезли Crek-грязь у Shrek, CG-волосся до Monsters Inc, Time of Bullet - The Matrix і т.д.

Це ж більш-менш вірно для ігор зараз. Графічні програмісти можуть дозволити рідини в Pixel Junk Shooter або всю динамічну геометрію Bound, але багато ігор можна зробити за допомогою стандартних технологій двигуна і без графічних програмістів.


Чи робить їх твори банальними?
Shuvo Sarker

2
Створюючи ігри вже понад 30 років, я можу побачити, що в розробці ігор є багато тривальної роботи. Але, я б не сказав, що робота графічних програмістів є тривалістю. Насправді, якщо він вам справді потрібен, то, швидше за все, це не буде тривалістю.
gman

1
@immibis Це схоже на те, що ваша приказка в грі балансування є тривіальною, з чим я не згоден, як це потрібно було б зробити, інакше це може зіпсувати гру. Тривіальне означає, що воно має мало значення.
Ґруппі каже, що поверніть Моніку

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

1
@GrumpyCrouton ключ мало цінний, як ви згадали, ми не говоримо про те, чого досягається завдання, ми говоримо про саму задачу, яка має мало-ніякого значення. ви буквально змінюєте значення константи і все закінчено.
Брайан Х.

4

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


3

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

У випадку, коли дизайнер ігор вказав, що певний ефект має відбутися, ви або будуєте його з того, що вже є, або кодуєте новий шейдер, або модифікуєте графічний движок, щоб це дозволило. В обох сценаріях потрібен графічний програміст.


-8

Визначте двигун, а потім визначте графічний движок. Якщо ви використовуєте існуючий движок для гри, то це не те саме, що писати гру з нуля в коді. Якщо за допомогою коду можна визначити, що таке графіка чи двигун, не має значення, як ви його називаєте, якщо ваш код сильний. Створення ігор у зазначеному двигуні, його межі та / або його сильні моменти базуються виключно на здатності програміста. Використовуючи щось на кшталт Unity, навіть Unreal або будь-який інший професійний механізм, не визначає ваші здібності, ігрові двигуни - це лише абстракції, що кодують, наприклад, чистий C ++ - це не так. Наприклад, ви можете найняти програмістів в пекло навіть художників, але вас обмежують бачення чи обмеження двигуна. Тож краще кодувати з нуля, а потім використовувати щось, що вже існує. Проблема в тому, що ти виграв ' не можу знайти відповіді в Інтернеті, як Stackexchange. Я сумніваюся, що багато хто навіть потрудився кодувати гру, не кажучи вже про закінчений 2d проект. Я просто трохи зволікаю, це означає, що не так багато відповідей, які подають себе. Найкращий спосіб - це навчання та практика!


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