Пройшов курс Unity Game Developer. Чому я не буду його рекомендувати та чому не став захищати диплом
Привіт, спільното! Останнім часом питання геймдев-освіти все популярніше, а соцмережі активно бомбардують зацікавлених користувачів рекламою курсів. Вибір спеціальностей ширший, ніж коли-небудь — тестувальники, продюсери, аніматори, художники, розробники тощо. Мені стало цікаво, що на них вивчають і минулого року я пройшов курс Unity Game Developer. В цьому блозі я розповім, як проходило навчання, які проблеми виникли на шляху, що було корисного за пів року та чому не можу рекомендувати курс.
Дисклеймер. Як і будь-який огляд, цей текст — набір суб’єктивних думок та особистих спостережень. Це не порівняння курсу з іншими доступними варіантами, не аналіз його архітектури чи конкретних лекцій. Саме тому блог побудований на переліку власних емоцій. Ще зауважу, що тут я не буду називати від кого саме це був курс. Втім, якщо комусь стане дуже цікаво, про це можна дізнатися в одному з випусків нашого GameDev DOU Подкасту. Також додам — протягом курсу у нас було два лектори. Щоб не називати конкретних імен і нікого не ображати, я назву їх Лектор № 1 та Лектор № 2.
Здивованість. Початок навчання та таємниче зникнення людини
Курс почався 20 липня, завершився 26 грудня, проходив в ZOOM і за цей час нам встигли прочитати близько сорока лекцій, а деякі студенти — зробити дванадцять домашніх завдань та одну дипломну роботу. В липні нас було понад сорок слухачів, хоча до кінця досиділо помітно менше половини. Власне, про це попереджав Лектор № 1 на самому початку. Саме з цього моменту я почну розповідь, оскільки здивування я відчув через 15 хвилин після старту першої лекції.
Звісно, почалося все зі знайомства. Лектор № 1 розповідав про свій досвід, а кожен з нас додавав по кілька речень про себе. Я зауважив, що зареєструвався з кількох причин. По-перше, мені було цікаво, як виглядає процес навчання на таких курсах. По-друге, отримані знання мені допоможуть в подальшому. Річ у тім, що кожен з нашої команди багато спілкується з розробниками і було б непогано розуміти окремі деталі їх роботи та розмовляти їхньою мовою.
Ось невеличкий приклад. Влітку 2022 року я спілкувався з нідерландським інді-розробником Евоудом ван дер Верфом, який зробив симпатичний платформер SCHiM. Коли він розповідав про підказки та внутрішньоігрові написи, то пояснив, що використовував TextMeshPro. Звісно, я швиденько нагуглив документацію по інструменту і як його використовують, але насправді гадки не мав, що воно таке і не розумів, які додаткові питання можна поставити. Тому хоча б базове розуміння рушія було б не зайвим.
Та повернімося до лекції. Перше, що мене здивувало, так це різниця в рівні тих, хто записався на курс. З одного боку тут були люди, які взагалі не мацали програмування, з іншого — ті, хто вже пройшов аналогічні курси, а з третього — люди, які мали комерційний досвід. Це трошки напружувало, оскільки динаміка вивчення С# та Unity для кожної з категорій була б різною і потенційно це могло створити складнощі для всієї групи.
Ще одна річ, яка здавалася дивною — надзвичайний оптимізм Лектора № 1. Що, хочете зробити свій невеличкий платформер? Буде! Мрієте про багатокористувацький шутер? Зробимо. Плануєте випустити власний Скайрім? І з цим допоможемо. Очевидно, що на першому зайнятті він не міг сказати, що геймдев то надзвичайно конкурентна сфера, а, наприклад, у грудні
Далі почалося навчання. Не знаю, що на думку продюсерів та архітекторів курсу могло стати першою проблемою, але нею стала розподілена система керування версіями. Проблеми з бранчами, форками, мерджами та пул реквестами була у більшості студентів і лишалася протягом майже усього часу навчання. Навіть через кілька місяців після старту деякі з нас просили поради по гіту. Тут, на мій погляд, недопрацював саме Лектор № 1. Банальна річ — пояснюючи цю тему, він геть забув згадати про gitignore.
В цілому, перший етап навчання я б назвав найслабшим. Дивувало перестрибування з теми на тему та навіть вибір інструментів, про які розповідав Лектор № 1. Ось кричущий приклад. На одній з перших лекцій нам пояснювали, що таке SerializedField. Одразу це зрозуміли далеко не всі. Логічно було б приділити питанню більше часу, але ми несподівано почали розбирати Odin Inspector. Нагадаю, що це платний плагін, який дозволяє гнучко кастомізувати відображення об’єктів в інспекторі. Виглядає наче як логічне продовження теми. Та розповідати про особливості геному трояндових, коли половина твоїх студентів питає, як правильно пишеться «яблуко» — невдала ідея.
На дев’яте заняття Лектор № 1 просто не з’явився. Це був апофеоз мого здивування. Ми мали вивчати камеру та системи вводу, зібралися всією групою в зум-кімнаті і чекали приблизно сорок хвилин. Нікого. Жодного повідомлення, сповіщення чи ще чогось — наші пошти, власні кабінети на сайті курсу та слак, який ми використовували для комунікації, мовчали. Ніхто не розумів що робити, ніхто не пояснював, що ж сталося.
Кураторка курсу з’явилася лише наступного дня. Вона пояснила, що Лектор № 1 сильно захворів і вже не зможе приєднатися до курсу. Тому вони шукають нову людину, а ми йдемо на двотижневу перерву. Як компенсацію запропонували дев’ять лекцій з іншого курсу по С#. Не всі лишилися задоволені таким твістом, але діватися було нікуди і ми сіли чекати на Лектора № 2.
Обурення, зацікавленість та сором. Початок міграції на YouTube
Очевидно, що Лектор № 2 почав з початку. Ми знову пробіглися по гіту, інтерфейсу Unity та базовим концепціям програмування. Це дещо напружувало, але була одна серйозна відмінність: якщо Лектор № 1 на виході хотів бачити від кожного з нас 2D-гру і пайплайн такого формату планував з самого початку, то Лектор № 2 був націлений вже на 3D. Особисто мене це тішило.
Хоча старт для Лектора № 2 був складний. Він інколи губився що саме потрібно йому зараз розповідати, а проблеми зі стабільністю роботи Unity тільки погіршували ситуацію. Здавалося, що на початку він не дуже якісно готувався до занять, витрачав багато часу неефективно і довжина лекцій перевалювала далеко за дві години. Як на мене, це було безпідставно виснажливо і не дуже корисно в плані засвоювання інформації. Виникали складнощі і через студентів.
Тут я б хотів звернутися окремо до тих, хто пройшов курс зі мною і до тих, хто планує навчатися за аналогічною системою. Люди, будь ласка, опановуйте софт-скіли. Не уявляю, як лектор може зосереджуватися на матеріалі та тримати темп лекції, коли несподівано вривається оклик «та це як у Біошоку», або хтось ставить питання не піднявши руку чи навіть не дочекавшись хоча б закінчення речення. В таких випадках хотілося просто відкласти навушники та заспокоїтися, бо обуренню не було меж. Наскільки я потім зрозумів зі спілкування з кураторкою курсу, я був не єдиним, хто мав претензії до цього аспекту організації процесу.
Однак, десь через
Але, здається, вже на 17 лекцію я не прийшов. Це був складний день і навіть тиждень, навалилося багато роботи, під вечір я не міг нормально сфокусуватися і вирішив відпочити. Точніше, вирішив відпочити від курсу. Тому відкрив на ютубі перший туторіал по Unity, який мені впав в очі і повільно повторював його крок за кроком. Мені сподобалося. Сподобалося настільки, що я закінчив цей туторіал за пару днів, знайшов інший і почав його. Коли зрозумів, що хочеться якихось глибших пояснень — пішов читати книжки. Загалом за курс я прочитав:
- Hands-On Unity 2022 Game Development;
- Unity 3D Game Development;
- Вчимо C# через розробку на Unity (російська книжка, каюсь);
- 3D Game Development with Unity.
З часом також відчув, що повторювати туторіали на ютубі чи розбиратися в проблемах з книжкою мені куди цікавіше, ніж йти на курс. Не тому, що на ньому матеріал викладають погано. Скоріше тому, що в мене лишалося багато питань, відповідь на які потрібно шукати особисто. Тому в якийсь момент мені стало цікавіше витратити час на відео з ютубу, ніж на виконання домашнього завдання чи навіть прослуховування лекції.
Це може когось здивувати, але саме через це мені згодом було трошки соромно. Бо десь на другій половині курсу мені почали телефонувати куратори та питати, чи все мені подобається, чи не стикнувся я з проблемами, бо не виконав домашні завдання. Зауважу, що таких дзвінків було кілька. Я казав, що все гарно і просто зараз немає часу, але згодом я обов’язково нажену. Не міг же я прямо сказати, що мені цікавіше робити нескінчений раннер чи бітемап, ніж дві години слухати про патерн сінглтона?
Висновки: без дипломної роботи та рекомендації
По туторіалам я зробив п’ять чи шість невеличких ігор. З їх допомогою я трошки краще зрозумів, як працюють колайдери, rigidbody, інпут система, делегати та події, аудіо тощо. Власне, кожному, хто хоче вивчати Unity я раджу використовувати цей шлях і доповнювати його офіційною документацією та книжками, яких безліч. Unity гарний як раз тим, що інформації від спільноти по цьому рушію море. Просто треба сісти і вчитися.
Серед цих відео мав бути також і мій дипломний проєкт «Aliens brains under the ocean». За сюжетом, в земні океани падає кілька іншопланетних кораблів. Серед прибульців на кожному з них є істоти, які готові допомогти людям подолати ворожу навалу. Ігровий процес мав складатися з двох частин. Спершу гравець обирає на яку саме локацію він має відправитися. Потім, агентом-людиною він мав перебити прибульців в одній чи кількох кімнатах та випустити свого помічника (він мав виглядати, як гігантський мозок). Вже цим мозком потрібно було зібрати певні механізми, які б наприкінці рівня допомогли б підірвати корабель. Далі гравець обирав наступну локацію.
Та захищати проєкт я не став. По-перше, знову ж таки через роботу — грудень був надзвичайно насиченим і я банально не встиг зробити все, що задумав. По-друге, я зробив найбанальнішу та найочевиднішу помилку — замість того, щоб спочатку все зробити на примітивах, я пішов розбиратися в анімаціях, текстурах та навіть зробив у Блендері мозок. Звісно, так робити не треба.
Якщо ж казати загалом про сам курс, то тут моя оцінка неоднозначна. Чи вирішить він завдання людини, яка планує опанувати програмування і таким чином увірватися в геймдев? Ні. Чи може цей курс створити критичну масу зацікавленості, яка потім поведе далі цю людину? Напевно, так. На мою думку, такий тип навчання здебільшого потрібен для фокусування вашої уваги, додаткової мотивації та доступу до лектора, який може на деякий час стати ментором. Йти на такий курс з надією стати після нього розробником і знайти роботу — наївно. Саме тому особисто я не можу порекомендувати цей курс. З мого боку це було б не дуже етично і навіть певною мірою неправильно.
21 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарів