Пройшов курс Unity Game Developer. Чому я не буду його рекомендувати та чому не став захищати диплом

Привіт, спільното! Останнім часом питання геймдев-освіти все популярніше, а соцмережі активно бомбардують зацікавлених користувачів рекламою курсів. Вибір спеціальностей ширший, ніж коли-небудь — тестувальники, продюсери, аніматори, художники, розробники тощо. Мені стало цікаво, що на них вивчають і минулого року я пройшов курс Unity Game Developer. В цьому блозі я розповім, як проходило навчання, які проблеми виникли на шляху, що було корисного за пів року та чому не можу рекомендувати курс.

Дисклеймер. Як і будь-який огляд, цей текст — набір суб’єктивних думок та особистих спостережень. Це не порівняння курсу з іншими доступними варіантами, не аналіз його архітектури чи конкретних лекцій. Саме тому блог побудований на переліку власних емоцій. Ще зауважу, що тут я не буду називати від кого саме це був курс. Втім, якщо комусь стане дуже цікаво, про це можна дізнатися в одному з випусків нашого GameDev DOU Подкасту. Також додам — протягом курсу у нас було два лектори. Щоб не називати конкретних імен і нікого не ображати, я назву їх Лектор № 1 та Лектор № 2.

Здивованість. Початок навчання та таємниче зникнення людини

Курс почався 20 липня, завершився 26 грудня, проходив в ZOOM і за цей час нам встигли прочитати близько сорока лекцій, а деякі студенти — зробити дванадцять домашніх завдань та одну дипломну роботу. В липні нас було понад сорок слухачів, хоча до кінця досиділо помітно менше половини. Власне, про це попереджав Лектор № 1 на самому початку. Саме з цього моменту я почну розповідь, оскільки здивування я відчув через 15 хвилин після старту першої лекції.

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

Ось невеличкий приклад. Влітку 2022 року я спілкувався з нідерландським інді-розробником Евоудом ван дер Верфом, який зробив симпатичний платформер SCHiM. Коли він розповідав про підказки та внутрішньоігрові написи, то пояснив, що використовував TextMeshPro. Звісно, я швиденько нагуглив документацію по інструменту і як його використовують, але насправді гадки не мав, що воно таке і не розумів, які додаткові питання можна поставити. Тому хоча б базове розуміння рушія було б не зайвим.

Та повернімося до лекції. Перше, що мене здивувало, так це різниця в рівні тих, хто записався на курс. З одного боку тут були люди, які взагалі не мацали програмування, з іншого — ті, хто вже пройшов аналогічні курси, а з третього — люди, які мали комерційний досвід. Це трошки напружувало, оскільки динаміка вивчення С# та Unity для кожної з категорій була б різною і потенційно це могло створити складнощі для всієї групи.

Ще одна річ, яка здавалася дивною — надзвичайний оптимізм Лектора № 1. Що, хочете зробити свій невеличкий платформер? Буде! Мрієте про багатокористувацький шутер? Зробимо. Плануєте випустити власний Скайрім? І з цим допоможемо. Очевидно, що на першому зайнятті він не міг сказати, що геймдев то надзвичайно конкурентна сфера, а, наприклад, у грудні 2023-го було аж сім вакансій для новачків і жодна з них не була для розробників. Та створювати подібну ілюзію, хай і мимоволі, теж не дуже корисно. Нижче — розподіл за досвідом у розділі «Вакансії» на GameDev DOU за грудень 2023 року.


Далі почалося навчання. Не знаю, що на думку продюсерів та архітекторів курсу могло стати першою проблемою, але нею стала розподілена система керування версіями. Проблеми з бранчами, форками, мерджами та пул реквестами була у більшості студентів і лишалася протягом майже усього часу навчання. Навіть через кілька місяців після старту деякі з нас просили поради по гіту. Тут, на мій погляд, недопрацював саме Лектор № 1. Банальна річ — пояснюючи цю тему, він геть забув згадати про gitignore.

В цілому, перший етап навчання я б назвав найслабшим. Дивувало перестрибування з теми на тему та навіть вибір інструментів, про які розповідав Лектор № 1. Ось кричущий приклад. На одній з перших лекцій нам пояснювали, що таке SerializedField. Одразу це зрозуміли далеко не всі. Логічно було б приділити питанню більше часу, але ми несподівано почали розбирати Odin Inspector. Нагадаю, що це платний плагін, який дозволяє гнучко кастомізувати відображення об’єктів в інспекторі. Виглядає наче як логічне продовження теми. Та розповідати про особливості геному трояндових, коли половина твоїх студентів питає, як правильно пишеться «яблуко» — невдала ідея.

На дев’яте заняття Лектор № 1 просто не з’явився. Це був апофеоз мого здивування. Ми мали вивчати камеру та системи вводу, зібралися всією групою в зум-кімнаті і чекали приблизно сорок хвилин. Нікого. Жодного повідомлення, сповіщення чи ще чогось — наші пошти, власні кабінети на сайті курсу та слак, який ми використовували для комунікації, мовчали. Ніхто не розумів що робити, ніхто не пояснював, що ж сталося.

Кураторка курсу з’явилася лише наступного дня. Вона пояснила, що Лектор № 1 сильно захворів і вже не зможе приєднатися до курсу. Тому вони шукають нову людину, а ми йдемо на двотижневу перерву. Як компенсацію запропонували дев’ять лекцій з іншого курсу по С#. Не всі лишилися задоволені таким твістом, але діватися було нікуди і ми сіли чекати на Лектора № 2.

Обурення, зацікавленість та сором. Початок міграції на YouTube

Очевидно, що Лектор № 2 почав з початку. Ми знову пробіглися по гіту, інтерфейсу Unity та базовим концепціям програмування. Це дещо напружувало, але була одна серйозна відмінність: якщо Лектор № 1 на виході хотів бачити від кожного з нас 2D-гру і пайплайн такого формату планував з самого початку, то Лектор № 2 був націлений вже на 3D. Особисто мене це тішило.

Хоча старт для Лектора № 2 був складний. Він інколи губився що саме потрібно йому зараз розповідати, а проблеми зі стабільністю роботи Unity тільки погіршували ситуацію. Здавалося, що на початку він не дуже якісно готувався до занять, витрачав багато часу неефективно і довжина лекцій перевалювала далеко за дві години. Як на мене, це було безпідставно виснажливо і не дуже корисно в плані засвоювання інформації. Виникали складнощі і через студентів.

Тут я б хотів звернутися окремо до тих, хто пройшов курс зі мною і до тих, хто планує навчатися за аналогічною системою. Люди, будь ласка, опановуйте софт-скіли. Не уявляю, як лектор може зосереджуватися на матеріалі та тримати темп лекції, коли несподівано вривається оклик «та це як у Біошоку», або хтось ставить питання не піднявши руку чи навіть не дочекавшись хоча б закінчення речення. В таких випадках хотілося просто відкласти навушники та заспокоїтися, бо обуренню не було меж. Наскільки я потім зрозумів зі спілкування з кураторкою курсу, я був не єдиним, хто мав претензії до цього аспекту організації процесу.

Однак, десь через 3-4 лекції ситуація змінилася. Лектор № 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». За сюжетом, в земні океани падає кілька іншопланетних кораблів. Серед прибульців на кожному з них є істоти, які готові допомогти людям подолати ворожу навалу. Ігровий процес мав складатися з двох частин. Спершу гравець обирає на яку саме локацію він має відправитися. Потім, агентом-людиною він мав перебити прибульців в одній чи кількох кімнатах та випустити свого помічника (він мав виглядати, як гігантський мозок). Вже цим мозком потрібно було зібрати певні механізми, які б наприкінці рівня допомогли б підірвати корабель. Далі гравець обирав наступну локацію.

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

Якщо ж казати загалом про сам курс, то тут моя оцінка неоднозначна. Чи вирішить він завдання людини, яка планує опанувати програмування і таким чином увірватися в геймдев? Ні. Чи може цей курс створити критичну масу зацікавленості, яка потім поведе далі цю людину? Напевно, так. На мою думку, такий тип навчання здебільшого потрібен для фокусування вашої уваги, додаткової мотивації та доступу до лектора, який може на деякий час стати ментором. Йти на такий курс з надією стати після нього розробником і знайти роботу — наївно. Саме тому особисто я не можу порекомендувати цей курс. З мого боку це було б не дуже етично і навіть певною мірою неправильно.



Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини

👍ПодобаєтьсяСподобалось15
До обраногоВ обраному1
LinkedIn


Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Цікаво, а чому б просто Юдемі не юзати?
Брав там курси, потрапив у маленьку спільноту у діскорді, де автор курсу завжди відповідає на питання, і там познайомився з людьми , які робили новий Alan Wake.
Мені здається, що якщо брати через Юдемі, це чудовий баланс між лектором/ментором та ютубом.
Бо насамперед курс беремо у людини, яка дійсно працює у сфері, а не просто блогер, а також ця людина стає ментором.+корисні знайомства можно завести

З висоти деякого досвіду можу сказати наступне.

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

Курси в цілому це і добре і погано. Добре тому, що для людей початківців, які не знають з якого боку почати вивчення це систематизована точка входу в предмет, можливість задавати живі питання і деяка мотивація не кинути одразу коли виникає перша фрустрація (вона виникає рано чи пізно у більшості, якщо предмет вивчення непростий), особливо якщо ви заплатили за курс і там є інші люди відносно котрих виникає деяка конкуренція і відповідальність щодо власних результатів.
Погана річ в курсах — вони розбещують оскільки інформація вся кладеться одразу в рот і організація здебільшого не спонукає до самостійності.

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

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

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

Добре тому, що для людей початківців, які не знають з якого боку почати вивчення це систематизована точка входу в предмет

1000%

Єдина порада (про яку ніхто не просив, але все таки) — інвестуйте свій час у навчання, вчіться шукати інформацію самостійно і просто робіть щось нове.

Це дійсно гарна порада, дякую вам!

Обидва лектори були доволі досвідченими людьми.
Перший взагалі безпосередньо в Юніті працював на той момент)

Здогадуюся про які курси йде мова, завдяки згадкам про структуру курсу, підхід до лекцій, та їхню роботу з клієнтами (дзвінки, запитання, чи все подобається і тд, і тп). RobotDreams, чи не так? Вони як раз почали пушити рекламу своїх геймедев курсів в усі шпарини.

Які курси порадите?

CS50 точно можу порадити!)
а так, треба використовувати будь-яку можливість для навчання

Мій курс для підлітків займає 6 семестрів. Хто сказав що сильно швидше якщо не їбашити самостійно весь вільний час? Яка робота за 4 місяці?)

Яка робота за 4 місяці?

Ну якщо людина талановита — чому б і ні?)

Так, я кричав шо зроблю скайрім, я його зроблю😄

Як зробиш — приходь розказуй нам, як ти його робив!)

Дякую за статтю та досвід!

Я дуже скептичний до курсів (не про Unity, а загалом gamedev та програмування). Але не тому, що усі курси погані. А те, що можуть дати курси це я знайду сам. Проте часом бувають такі курси, де є справді ментор, який має чималий багаж знань і до нього можна звертатись за дуже специфічними питаннями, де вже Google може бути безсилий (або не безсилий, але потратиш дуже багато часу на пошук). Тому якщо бачу якийсь курс, то приглядаюсь хто веде, з якими проєктами та компаніями працював.

Ідеальний варіянт для мене — це коли ти сам шукаєш інформацію в документаціях та робиш проєкти, а ментор рев’ювить твій код і дає коментарі, а також дає вектор. Вважаю це ефективним для мене.

Вау! Знаю курси один в один з підходом який ви описали)

Сінглтони це теж дуже важливий аспект розробки на юніті. Хоча нудний)
Піти на курси гейм девелопера заради того, щоб проводити якісні інтерв’ю — це заслуговує поваги) хоча я не впевнений, що в темі текст меш можна розвернути цікаву бесіду😂
На захист курсу скажу, що ті, хто досидів до кінця, таки зробили свої демки, а Сашко, якому не вистачило трішки терпіння, не зробив свій проект.
Дуже мало людей залишаються вдячними курсам. Це, насправді, образливо, адже тобі дали якісь знання, а умовний ти скаржишся, що не дали тих знань, які ти хотів. При тому, що жодні курси не убезпечують від подальшого вивчення. Завжди доводиться гуглити, шукати рішення задач.
Цікавий блог получився))

Сінглтони це теж дуже важливий аспект розробки на юніті.

Та в цілому згоден, але в той момент мені було цікавіше розібратися, як зробити розумну камеру. Хоча от я потім вже читав про сінглтон і багато критики про цей патерн теж є)

хоча я не впевнений, що в темі текст меш можна розвернути цікаву бесіду

Та там буквально була ситуація, коли я такий — а, ну напевно щось дуже цікаве і важливе, вставлю, бо звучить шляхетно))

На захист курсу скажу, що ті, хто досидів до кінця, таки зробили свої демки

Так, при цьому одна команда навіть до процедурної генерації вдалася для створення рівнів. От вони молодц!

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

До курcів маю завжди скептичне відношення( по диплому і по роботі вчу інформатиці). Сам вивчав юніті такими ресурсами-
1. По unityLearn. Проходив шляхи офіційні(маю диплом гигиги) і проходив їх мініуроки. Вони зазвичай халтура , але примушували розбиратись. В цілому ресурс 50\50. Новачку ок, комусь хто хоче специфічну інфу по коду раджу не лізти. Але я дуже люблю качати демки, а на unitylearn їх дофіга, тому для мене це була кілерфіча сайту)
2. Ютуб + деякі сайти. На мою думку, саме ютуб головний рушій зацікавленості вивчення. Приклади, історії розробки, геймджеми — це все дуже стимулювало мене вивчати рушій. Додатково ще багато чого качав та розбирав з Гітхабу. Знову ж таки, демки onelove :) Є гарні сайти, наприклад catlikecoding, тут можна найти таку інфу, що фіг де ви ще зможете відкопати :)

catlikecoding

От це взагалі топ. Нам Лектор № 2 цей ресурс підігнав. Тепер там трошки пасусь)

Підписатись на коментарі