Чи професіонали галузі, що будують ігри за допомогою UE4, взагалі використовують креслення або вони використовують виключно C ++?


15

Як викладач модуля розробки ігор я зазвичай наполягав на тому, що користувачі використовують C ++, оскільки це більш затребуваний досвід у галузі, але підтримка в Інтернеті та інформація про C ++ у Unreal Engine 4 здається порівняно слабкою. Зараз професіонали також використовують креслення , чи ні?


11
Документація не буде хорошим показником того, наскільки щось використовується.
MichaelHouse

Документації на Unreal Engine 4 C ++ бракує, оскільки ви самі переходите та читаєте код. Вам не потрібна сувора документація, якщо ви можете отримати доступ до вихідного коду. Хоча було б це мати, хоча.
Окси

1
@Oxy Вихідний код не замінює документацію. Період. Джерело читати набагато складніше, ніж документацію, за визначенням, оскільки суть документації полягає у перегонці того, що функція робить у читабельному форматі. Це вдвічі стосується високоефективного, надзвичайно здібного коду, як Unreal.
Фонд позову Моніки

1
Я пояснюю, що відбувається, не виправдовуючи. "Хоча було б це все-таки". А вам краще прочитати код функцій, які ви використовуєте, навіть документовані, тому що деякі важливі мають золоті саморізи як "foo (x) {/ * foo Не реалізовано, роблячи замість цього bar (x), тому що зазвичай діє як foo (x ) було зроблено * / bar (x);}. Мені ще доводиться бачити систему документації в дії, яка йде в ногу з еволюцією коду. читання заголовка
Окси

Відповіді:


25

Так, професійні ігри використовують креслення.

Деякі використовують суміш C ++ та Креслення. Ми використовуємо обидва в режимі Dead by Daylight.

Однією з чудових речей про креслення є те, що непрограмісти можуть отримати доступ до можливості сценарію поведінки. Не кожен проект використовує їх таким чином, але це одна з причин, по якій вони були розроблені. Вони замінили UnrealScript як засіб зміни поведінки, не потрапляючи на C ++, а також замінили Kismet, який був візуальною сценарією Unreal 3.


Чи можете ви розширити? Чи тільки програмісти використовують креслення, або лише "нетехнічний" персонал, або трохи обох? Він використовується для конкретних цілей або майже для чого-небудь?
KABoissonneault

7
@KABoissonneault Це дуже мікс. Здебільшого немає простого способу чіткого розмежування того, що працюють програмісти, а не над тим, що працюють непрограмісти. Це особливо вірно, якщо у вас є дизайнер, який, швидше за все, захоче налаштувати весь код. Креслення також дуже часто використовуються для швидкого складання прототипів, і вони не обов'язково перетворюються на C ++, якщо продуктивність цього не вимагає. Він також сильно відрізнятиметься залежно від студії та проекту, тому відповіді немає.
Позов по

9

Невеликий анекдот за межами ігрової індустрії: ми використовуємо UE4 для візуалізації архітектури в VR.

Хоча я вважаю за краще створити більшість речей на C ++, ми також широко використовуємо креслення для всіх видів "додаткової логіки", таких як вимикачі світла, двері тощо

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

  • Дивно, що непрограмісти можуть зробити із кресленнями!
  • Мені може бути жахливо те, що починаючі програмісти роблять із кресленнями;)
  • Навіть якщо я перетворять його на C ++ врешті-решт, креслення підходять для швидкої фази RnD

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

Вони насправді засвоїли кілька важких уроків з архітектури програмного забезпечення та підводних каменів (а точніше кошмарів) величезних креслень спагетті. Але тільки після того, як відчули тонну маленьких успіхів по дорозі! Тож їх зовсім не відсторонили, а навпаки, мотивували робити краще та з'ясовувати, як це зробити самі.

З тих пір вони проходили курси C ++, Python та C #, загальна якість наших креслення стала набагато кращою, але найбільше: я зараз маю допомогу при розробці наших основних мов :)

TLDR;

Так, ми використовуємо креслення, і вони навіть зробили моїх спочатку нетехнологічних однолітків кращими кодерами.


1
Однією з приємних речей щодо візуальних мов, таких як Плани, є те, що вам не потрібно турбуватися про синтаксис, і вони, як правило, настільки абстраговані, що ви можете зробити багато з дуже маленькою коробкою. Вони дозволяють легко навчитися кодувати, не потрапляючи в синтаксис. Вони також, як правило, занадто високого рівня, щоб робити будь-які чаклунки , але, знаєте, це є компроміс, який я готовий зробити, щоб не кодери мали безпосередній вплив на поведінку гри.
Фонд позову Моніки

@NicHartley спробуйте робити myVector.x += otherVector.xу кресленнях. : o
Алмо

1
@Almo Я приблизно на 90% впевнений, що це можливо, якщо ви не дуже хочете, щоб це було однією "лінією". Просто (get myVector x) (get otherVector x) -> (+) -> (assign myVector x)(ух, важко виписати креслення в тексті ...). Я не маю копії Unreal, з якою тестувати. Або, якщо вектори незмінні, то просто зробіть новий,(myVector.x + otherVector.x, myVector.y, myVector.z)
Позовний фонд Моніки

1
Це, безумовно, можливо, але це безладно. Векторна лінія у вікні "Перерва", яка має виходи x, y, z. Зробіть це двічі: один, щоб отримати myVector.x, а інший - get otherVector.x, додайте їх і направляйте його у поле призначення.
Альмо

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