Як розробники запустили курс з Unreal Engine у виші
Привіт! Я Володимир — Unreal Engine Developer у компанії N-iX. Я та ще кілька моїх колег розробили з нуля Unreal Engine курс для Національного університету «Львівська політехніка». Як і навіщо? Поясню у статті. Сподіваюся, моя розповідь стане корисною тим, хто теж хоче ділитися своїми знаннями зі студентами.
Як ви думаєте, скільки потрібно часу, щоб запустити ознайомчий курс з UE4? Ми витратили на це п’ять місяців, з яких три готувалися і два — викладали.
А якщо замахнутися та запустити курс з UE4 у виші як окремий предмет? У нас це займе два з половиною роки. Так, на осінь
Робочий процес в N-iX Game & VR Studio
Як усе почалося
До N-iX звернувся професор Львівської політехніки Дмитро Федасюк і запропонував співпрацю щодо викладання напряму віртуальної реальності. Під час обговорення з’явилася амбітна ідея допомогти запустити повноцінний курс, який би ознайомив студентів кафедри програмного забезпечення з інструментами для створення ігор та віртуальної реальності та дав змогу здобути практичні вміння й навички розробки проєктів засобами UE4. Для нас це було цікаво тому, що по закінченню курсу ці студенти будуть готовими до інтерв’ю на позицію стажиста або молодшого спеціаліста в N-iX (або будь-якій іншій компанії).
Хто ми
Ми — це N-iX Game & VR Studio. 150+ фахівців, які займаються розробкою ігор та B2B-застосунків віртуальної реальності. Для розробки ми використовуємо UE4 та Unity, маємо багато втілених проєктів і відомих партнерів. Безпосередньо над курсом з нашого боку працювало шість фахівців — три програмісти та три гейм-дизайнери.
Я відповідав за організацію курсу від N-iX, маю педагогічну освіту і до ІТ відпрацював 6 років у профтехосвіті (маю звання вчителя
Як в університетах можуть з’являтися нові курси
Будь-який навчальний заклад готує студентів суто за спеціальностями. Кожна спеціальність базується на програмі — переліку предметів, тем і годин, які будуть викладати. Програму затверджує Міністерство освіти та науки України, вона підкріплюється сертифікатом. Відхід від програми загрожує санкціями та зниженням держзамовлення (фінансування) для закладу. Якщо ж виш хоче ввести нову спеціальність, потрібно підготувати програму на
Сумно? Насправді не зовсім, адже кожен навчальний заклад має змогу змінити програму під себе на
Як ми працювали над курсом і його структурою
Ми почали з організації навчання викладачки університету: засетапили їй робоче місце в офісі N-iX і забезпечили технікою, паралельно почали напрацьовувати програму майбутнього курсу. Доступ до офісу був 24/7 без жодних обмежень, щоб викладачка не тільки здобула необхідні технічні навички, а й побачила сам процес розробки зсередини.
Паралельно я та ще двоє моїх колег — Олексій Ковалевський та Ігор Пундєв, Senior-розробники з досвідом роботи над ААА FPS — працювали над матеріалом для курсу.
Спершу в нас було кілька зустрічей-брейнштормів, на яких ми вирішували, як проходитиме курс. Ми визначили теми та матеріали, які маємо надати, щоб студенти здобули якісні знання та наприкінці навчання змогли створити прототип гри. Кожен етап мав давати відчуття прогресу в розробці та одночасно бути складником більшого прототипу.
Тож ми розділили курс на 5 блоків: ознайомлення з Unreal Engine, робота з системою Foliage, UI, штучний інтелект та анімації. І кожен з нас зайнявся свою частиною. Щоп’ятниці проводили зустрічі з Данилом Полуденним, Head of N-iX Game & VR Studio, де фіксували наш прогрес і визначали, що маємо закінчити до наступного тижня (залежно від завантаженості на роботі). Оскільки ми фултайм зайняті на проєктах, то готували курс у позаробочий час з підтримкою компанії — N-iX оплачувала нам ці додаткові години.
Мотивовані підготувати курс до весни, ми за два місяці пройшли першу ітерацію і зібрали методичні матеріали.
Для побудови курсу користувались матеріалами від Unreal Engine, взявши проєкт First Person Shooter як базу. Вся ігрова логіка мала бути в С++, з якою ми працюємо багато часу, тоді як в Blueprint мали бути макети UI-панелей, анімації та налаштування ігрових модулів.
Наш план був такий:
- Ознайомити студентів з Unreal Engine та навчити створювати перші базові класи.
- Розповісти про системи Foliage і показати, як можна робити власний унікальний ігровий рівень, створювати та застосовувати матеріали, виставляти світло та налаштовувати звуки.
- Запланували додати UI, щоб ознайомити студентів з UMG і Slate, та готувати HUD-елементи для відображення кількості набоїв, життів тощо. Логіку ми робили в Blueprint, а студенти мали б переписати це на C++ (оскільки вони взаємозалежні).
- Навчити налаштовувати ігрового персонажа та прописувати його поведінку.
Окремий блок був про анімації та АІ, де запланували розповісти, як налаштувати просту AI-модель для бота та у разі знаходження опонента стріляти по супротивнику.
Кінцевий етап — дати студентам зібрати build, який би підсумував вивчене під час курсу.
Крім того, підготували й лекційну частину: додали інформацію про розробку ігор від Данила, Head of N-iX Game & VR Studio, та наших гейм-дизайнерів, які склали чотири лекції про вступ в ігрову індустрію, як вона працює та що таке дизайн ігор.
Пілотний проєкт
Через локдаун студентів перевели на дистанційне навчання, і вони втратили доступ до лабораторій політеху, а відповідно й до шоломів віртуальної реальності. Ми вирішили не сидіти без діла та використати це, щоб потестити наші напрацювання з курсу на малій групі слухачів. Тож підготували факультатив для студентів
Перед викладанням курсу студентам ми провели внутрішню апробацію на фахівцях N-iX. Це були або C++ деви, які ніколи не працювали з UE4, або QA-спеціалісти, які мали досвід з UE4, але не вміли програмувати. Завдяки цьому отримали зворотний зв’язок та виявили деякі труднощі, внесли корективи. Наприклад, додали більше візуальних матеріалів для розуміння, що саме студент має отримати в проміжному результаті, що було особливо важливо під час самостійного опрацювання матеріалу. Також зробили окремий розділ з відповідями на стандартні питання та описали налаштування середовища й дали список корисних порад у відповідь на «що робити, якщо мій білд не запускається?».
Приклад, який ми додали в матеріал курсу
Усі необхідні для роботи матеріали залили в Git-репозиторій, а кожен студент мав власну релізну бренчу в проєкті. Це дало можливість студентам стежити за успіхами або помилками колег, а нам — легко перевіряти код або швидко змінити бренчу, щоб допомогти студенту вийти з патової ситуації.
Підсумок усіх занять — розробка власного проєкту. Це завжди був FPS, але кожен студент мав свій набір вимог, які показували рівень засвоєння матеріалу і вміння застосовувати його на практиці.
Висновки
Ми не ставили собі за мету вкластися з курсом у визначений час, а радше навпаки, хотіли заміряти, скільки часу нам потрібно на викладання вступного курсу. Зрештою він зайняв 40 годин (10 тижнів по 2 заняття), а можливим це стало завдяки тому, що ми працювали зі студентами, які були супервмотивовані та мали базу з С++.
За результатами «курсових робіт» ми вже запропонували роботу в N-iX трьом студентам.
Сподіваюся, що розроблений нами курс справді допоможе Львівській політехніці запустити потужний Unreal Engine напрям та готувати кваліфікованих фахівців, які в майбутньому стануть і нашими колегами в N-iX. Адже потреба у крутих Unreal Engine розробниках є завжди.
Дякую, що дочитали :) Якщо є питання — лишайте у коментарях, спробую відповісти. Також приєднуйтесь до нашої команди N-iX Game & VR Studio, у нас завжди є відкриті позиції.