25 ноября 2024

🎮‍🎓 Высшее образование в геймдеве: ожидания и реальность. Мой опыт. Часть 1

Делаю игры и пишу про игры
Существует мнение, что высшего образования в сфере разработки игр в России нет, но это не так. В этой большой статье я подробно и честно расскажу о своем опыте обучения на разработчика игр в одном из московских университетов.
🎮‍🎓 Высшее образование в геймдеве: ожидания и реальность. Мой опыт. Часть 1

Привет, меня зовут Денис. Я Unity-разработчик и выпускник Московского Политеха 2024 года по направлению «Информационные системы и технологии». Полное название моей специализации – «Программное обеспечение игровой компьютерной индустрии» – или попросту геймдев. Окончил, кстати, с красным дипломом, которым могу похвастаться разве что здесь. В этой статье я хочу честно рассказать о своем опыте обучения на данной специальности, поделиться своими мыслями по поводу качества полученного образования и его необходимости с точки зрения развития навыков разработки ПО и устройства на работу.

После написания статьи я понял, что она получилось неприлично большая, поэтому было решено поделить ее на две части. В первой части (которую вы сейчас читаете) я расскажу о процессе поступления, формате обучения в университете и первых двух курсах. Во второй же части я затрону последние два курса и защиту диплома, а также сделаю некоторые выводы по итогам своего обучения в Политехе. Приятного чтения!

Небольшой дисклеймер, куда уж без него. Эта статья – мой субъективный взгляд на учебную программу в университете, преподавателей, качество учебных материалов и их подачи. Далее я буду описывать реальные ситуации, которые происходили со мной во время обучения, как приятные, так и не очень. Я буду часто высказывать свои оценочные суждения по тем или иным вопросам. Я не буду раскрывать имена или какие-либо персональные данные сотрудников университета или студентов.

Поступление

Поступал я в 2020 году, и весь этот процесс был удобным: документы и заявления можно было загружать в личный кабинет абитуриента, рейтинговые списки по каждому направлению в виде таблиц размещались на сайте и обновлялись раз в 15 минут, если мне не изменяет память. Для сравнения, некоторые другие вузы обновляли списки раза три в день и выгружали их в виде pdf-файла на пару сотен страниц. Такой подход к приему в университет и стильный, информативный сайт сильно выделяли Московский Политех на фоне других вузов. Впрочем, история про учебу в Политехе – это история про красивую обложку и очень неоднозначное содержание, к которому мы и переходим.

Формат обучения

Теперь я хочу рассказать про формат обучения, который сформировался у нас на первом курсе и практически не менялся до самого выпуска. Для начала стоит выделить ключевые платформы, на которых происходило обучение и взаимодействие с преподавателями:

  1. Личный кабинет студента – место, где можно было писать преподавателям (и иногда не получить ответа), смотреть расписание, оценки за сессию, заказывать какие-то документы, отправлять заявления и т. д.
  2. СДО Московского Политеха или LMS (Learning Management System) – система дистанционного образования, через которую проходило практически все обучение. В LMS выкладывались учебные материалы, туда же студенты отправляли выполненные задания, лабораторные работы, курсовые и даже дипломы. Здесь же проводились экзамены (чаще всего в виде тестирования). Это удобный подход, но в нем был один существенный недостаток – система могла наглухо упасть в самый неподходящий момент и разломать весь учебный процесс.
  3. Discord (заблокирован на территории РФ) – мессенджер активно использовался на кафедре информационных технологий для коммуникации с преподавателями и сдачи лабораторных работ. После блокировки, насколько мне известно, был заменен корпоративным мессенджером «Пачка».

Отдельно стоит выделить беседу с двумя преподавателями с нашей кафедры в VK. Эта беседа была потоковая и использовалась как для обычного общения с другими студентами и преподавателями, так и для каких-то важных объявлений.

🎮 Библиотека разработчика игр
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека разработчика игр | Gamedev, Unity, Unreal Engine»
#️⃣ Библиотека шарписта
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека шарписта»
📖 Книги для шарпистов | C#, .NET, F#
Больше полезных книг вы найдете на нашем телеграм-канале «Книги для шарпистов | C#, .NET, F#»

Лекции

Очных лекций на нашем направлении вообще не было. Ни одной за все годы обучения. Решение об отказе от очных лекций в пользу онлайн-формата было продиктовано пандемией COVID-19 и локдауном, но даже после снятия каких-либо ограничений возвращать лекции в университетские аудитории никто не стал. И это было одним из лучших аспектов обучения в Политехе. Сами лекции проводились попеременно на платформах Zoom, Webex и Webinar (ныне MTS Линк). Практически все лекции в текстовом виде размещались в LMS и были доступны там постоянно, а преподаватели крайне редко пытались рассказать что-то выходящее за рамки заготовленных материалов. В целом, ценность лекций в процессе обучения была околонулевая – студенты не видели смысла ходить на откровенно скучные лекции, материалы по которым и так были выложены на платформу. Красноречивыми будут следующие цифры – на потоке училось около 180 студентов, а количество слушателей на лекции зачастую не превышало и 20 человек. Исключением являлись те лекции, на которых следили за посещаемостью, но они были редкостью. Я же за все время обучения посетил не более 10 лекций, на которых действительно что-то слушал.

Семинары и лабораторные работы

Семинары и лабораторные работы проводились как очно, так и онлайн. Зачастую преподаватели позволяли приходить всего на 2-3 семинара за семестр и сдавать на них работы, которые мы делали дома. Чуть реже позволялось вообще не приходить на очные занятия, а иногда даже не нужно было защищать лабораторные работы – можно было просто загружать отчеты в LMS и получать за это оценки. Иногда, правда, преподаватели и вовсе не приезжали на очные занятия, не предупредив об этом заранее. При большом везении они могли ответить на сообщения студентов, которые в растерянности ждали начала пары у закрытой аудитории.

Пример большого везения – преподаватель ответил на вопрос о том, будет ли занятие, начало которого в 14:30 (внимание на время ответа)
Пример большого везения – преподаватель ответил на вопрос о том, будет ли занятие, начало которого в 14:30 (внимание на время ответа)

Сам процесс проверки лабораторных работ сильно зависел от конкретного преподавателя. Кто-то принимал работу только после защиты (очной или онлайн), а кто-то не требовал защиты работы и просто оценивал ее в LMS. С такими работами было гораздо легче, так как они, чаще всего, толком не проверялись. Регулярно на почту могла приходить такая вот пачка писем из LMS буквально за несколько минут. Лабораторные работы оценивались скопом и иногда, судя по всему, даже не открывались, нередко пять баллов можно было получить за работу, сделанную на половину.

Впрочем, здесь я даже могу понять преподавателей. Студентов на направлении слишком много. На потоке, в котором учился я, было примерно 180 человек, из которых человек 140 более-менее активно выполняли лабораторные работы. На моем же направлении на курс младше училось почти в два раза больше человек. И таких вот больших потоков несколько. Каждому потоку за семестр надо сделать 10-12 лабораторных работ.

Из-за этого страдает качество образования, но сильно упрощается процесс обучения. Вполне себе реально за пару недель до конца семестра полностью закрыть 3-4 дисциплины со всеми лабораторными работами и тестами в LMS на отлично, автор проверял.

Отдельно хочу отметить ритуал, присущий выполнению буквально каждой лабораторной работы – ее оформление. Очень часто работы не принимались без должного оформления в соответствии с ГОСТом и внутренними требованиями университета. Этот процесс был достаточно утомительным и малоприятным, но, надо признать, полезным. Все-таки навыки скрупулезного оформления отчетов и документов в жизни еще пригодятся.

Зачеты и экзамены

А вот за что университет похвалить можно, так это за подход к зачетам и экзаменам. На протяжении всех четырех лет обучения я стабильно сдавал по одному экзамену за семестр, а по билетам и вовсе отвечал только два раза. Причем оба раза дистанционно. Почти для каждой дисциплины в начале семестра озвучивались условия получения оценки автоматом, а заключались они в активной работе на протяжении семестра. Если студент вовремя сдавал лабораторные работы, проявлял активность на семинарах или делал какой-то проект, то мог рассчитывать на автомат. Конечно, из этого правила бывали исключения, некоторые преподаватели принципиально отказывались ставить автоматы, но абсолютное большинство все же это делало. А те экзамены, которые проводились, почти всегда представляли из себя решение теста в LMS и проходили в онлайн-формате. Мы включали веб-камеру и демонстрацию экрана (а иногда требовалось только одно) и решали тест. По итогам тестирования выставлялась оценка, которая и шла в ведомость в виде семестровой оценки. При этом, на некоторых дисциплинах можно было ничего не делать весь семестр, а потом прийти на экзамен и сдать его, такое тоже часто позволялось.

В целом, это все, что следовало рассказать о формате обучения. Если подытожить, то все четыре года формат обучения был гибридным: лекции были онлайн, некоторые семинары и практические занятия – тоже, а на некоторые все же надо было ездить. В среднем, в вуз надо было приезжать на несколько часов пару раз в неделю. Экзамены и зачеты зачастую закрывались автоматами, а если и не закрывались, то сдавались, скажем так, достаточно просто и непринужденно.

Проектная деятельность

Одна из главных «фишек» университета, которую руководство любит рекламировать везде, где только можно. Суть проектной деятельности заключается в выборе студентом того или иного проекта, в котором он будет трудиться в течение семестра. На одном проекте может находиться множество студентов с разных курсов, направлений и даже факультетов. Проектная деятельность сопровождает студентов до самого конца обучения примерно в том же виде, в котором начинается во втором семестре. Я не буду заострять внимание на ПД в дальнейшем, поэтому выскажу свои мысли об этой дисциплине сейчас. А мысли эти очень неоднозначны. С одной стороны, инициатива разбиения студентов на проекты, многие из которых имеют реальных заказчиков, выглядит очень правильно и современно. С другой стороны, проект проекту рознь. На один удачный и интересный приходится один отвратительный проект с большими, однотипными и не интересными задачами, неадекватным заказчиком или слабой организацией. Еще сомнительной выглядит система выбора проекта. Начиная со второго семестра студенты сами выбирают интересующие их проекты, а очередность выбора регулируется рейтингом каждого студента, рейтинг измеряется звездами в количестве от нуля до двух. Проблема этого рейтинга заключается в его полной субъективности и непрозрачности. В университете нет никаких критериев выставления рейтинга, поэтому студенты с одинаковым количеством баллов за семестр могут получить разное количество звезд. Те, у кого ноль звезд, обычно уходят на наименее интересные проекты.

По геймдеву проекты тоже есть, причем с достаточно большим количеством мест. В целом, работа на них не шибко отличается от работы над играми, о которой буду рассказывать далее. Так как геймдева в течение учебы достаточно много, автор решил не выбирать игровые проекты по этой дисциплине, а пойти по пути наименьшего сопротивления и устроиться на достаточно простой проект, который отнимал совсем немного времени. Так я и просидел три года на одном проекте и даже дорос до своего рода руководителя отдела, что по итогу оказалось достаточно интересным и полезным опытом.

На этом я заканчиваю с общей информацией, далее же расскажу про обучение на каждом курсе.

Первый курс. Начало обучения

Перед началом учебы нас, первокурсников, ждал местный, с позволения сказать, туториал – адаптивный курс. На нем развернуто, красиво и не очень откровенно рассказывали об обучении в университете, внеучебной деятельности и распределении на специальности с третьего семестра обучения. Адаптив шел несколько дней и сопровождался достаточно большим количеством различных конкурсов, которые, как мне показалось, не несли в себе особого смысла, но красноречиво показывали фокус руководства именно на внеучебной деятельности, а не на образовании как таковом.

Набор предметов на первом семестре был стандартным: были чисто программистские дисциплины в виде алгоритмов и введения в программирование, информатика, на которой приходилось изучать Word (без шуток), было введение в проектную деятельность, была физическая культура, не очень сложная и скучная математика, душный предмет со сложным названием, который идейно был близок к химии, и английский язык.

Выделить тут можно только одну дисциплину: введение в специальность.

Она задумывалась как гайд по всем специализациям, которые ждали нас после первого курса. В качестве семинаров мы смотрели в LMS презентации и выполняли не слишком интересные квесты по ним, а на лекциях один из главных преподавателей кафедры рассказывал о каждой специализации и звал старшекурсников, которые рассказывали о процессе обучения. Разумеется, о недостатках никто не говорил, но дисциплина вышла неплохой. Это был тот редкий случай, когда ходить на лекции имело какой-то смысл. Вместо изучения презентаций и выполнения обычных лабораторных работ нам дали возможность сделать проект для получения зачета по этой дисциплине. В том числе позволялось разработать игру, за что многие и ухватились. Впрочем, принцип работы над собственными проектами стал понятен достаточно быстро. Сформулировать я могу его так – «Практически абсолютная свобода и практически нулевая помощь». Нам дозволялось самостоятельно выбирать тему проекта, технологии разработки, жанр (в случае игры) и другие детали, но какой-либо помощи от преподавателей дождаться было сложно. В целом, похожим образом работа над какими-либо проектом шла и на других курсах.

Второй семестр так же состоял из достаточно общих предметов, но с чуть большим уклоном в дизайн, что было достаточно странно – на втором курсе нас ждало распределение на целых пять специализаций, среди которых помимо дизайна были, например, геймдев и дополненная/виртуальная реальность. Этим областям почему-то не уделили внимания. Особенно обидно было то, что нагрузка во втором семестре оказалось значительно выше, нежели в первом, а разработки игр там не было совершенно. Весь семестр запомнился каким-то сумасшедшим количеством лабораторных работ, над которыми сильно стараться смысла не было – половину все равно толком не проверяли и ставили оценки просто за факт наличия работы безотносительно ее содержания.

После второго семестра нас ждала учебная практика, где нам дали возможность разделиться на команды и заниматься разработкой какого-нибудь проекта. Мы выбрали продолжить разработку игры с первого семестра. Чуда не случилось, какой-либо помощи и советов от преподавателей мы не получали, так что все делали сами.

Первый курс по итогу оказался достаточно скучным, так как был вводным. Но и польза от него была – за первый год обучения мы поняли правила игры.

Второй курс. Специализации и геймдев

На втором курсе нас наконец-то разделили на группы по специальностям.

Третий семестр поначалу выглядел очень многообещающе (от этого впечатления уже на третью неделю не осталось и следа), ведь нам поставили аж три дисциплины, связанных с разработкой игр. На них я и заострю внимание, а на остальных более общих предметах останавливаться не буду.

Однако прежде расскажу, что встретил нас третий семестр тем, чего мы уж точно не ожидали – отсутствием преподавателей на части дисциплин! У части предметов в расписании в графе преподавателей красовалась надпись о вакантном месте. А случилось так по простой причине – университет набрал гигантское количество студентов, на которые попросту не хватило преподавателей. И вот где-то в течение месяца на 3-4 дисциплинах у нас был всего один преподаватель на семинарах вместо двух, отчего страдали и эти несчастные преподаватели, и студенты.

Но не будем о грустном (ведь грустного еще будет много), перейдем к интересному, к геймдеву.

Первая дисциплина по разработке игр – физическое моделирование компьютерных игр. Вся дисциплина состояла из нудных лекций, которые никак не затрагивали работу с физикой непосредственно в игровых движках, и ряда лабораторных работ. В каждой работе необходимо было симулировать какой-то физический процесс, например, равномерное и равноускоренное движение, столкновения и даже оптику. В качестве среды выполнения лабораторных работ мы использовали Unity. Помимо устных лекций к каждой работе прилагались учебные материалы, которые представляли из себя текстовые лекции по физике, явно взятые с какого-то другого курса. В них не было ни слова про работу с физикой в игровых движках. Обучение студентов игровому движку ограничивалось блоком в LMS, где часть ссылок вела на уроки на YouTube и бесплатные материалы из интернета, а часть на официальную документацию по движку. Такое вот образование, а вернее сказать, самообразование, без которого в Политехе никуда.

🎮‍🎓 Высшее образование в геймдеве: ожидания и реальность. Мой опыт. Часть 1

Вторая дисциплина – компьютерная графика. Это, наверное, было одно из самых больших разочарований за все время обучения. Изначально предмет звучал многообещающе – мы должны были учиться писать шейдеры. На деле же все было не совсем так. Курс состоял из примерно 10 лекций, выложенных в LMS. К каждой лекции было выложено задание, в котором надо было… просто повторить шейдер из лекции. Буквально переписать его без изменений и добавить на любой объект в Unity. Мне показалось это странным, ведь раньше нам хотя бы составляли какие-то лабораторные работы, а не заставляли переписывать материал из лекции, поэтому я решил воспользоваться магией гугла и через 15 минут нашел серию бесплатных статей на английском по созданию шейдеров. Я, разумеется, ни в чем не уверен и не собираюсь ничего утверждать, но почему-то эти статьи были практически идентичны лекциям с нашего курса в университете. Единственное различие – лекции в LMS были на русском. Вот такое вот интересное совпадение.

И третий, связанный с геймдевом предмет, назывался «Мультимедийное наполнение компьютерных игр» (МНКИ). Нам сразу объяснили правила сдачи дисциплины: экзамена нет, оценка в конце семестра выставляется по итогам защиты игры, которую надо создать в течение семестра, можно делиться на команды по 2-5 человек, движок, жанр и стилистику игры выбираем сами. Упор необходимо было сделать не на сложность игровых механик, а на наполнение игры и визуальную составляющую. В целом, звучало все неплохо, но был один минус – нас, как обычно, никто не учил. То ли у преподавателей не хватало компетенций, то ли времени, но добиться от них конструктивной помощи по тем или иным вопросам было практически невозможно. Впрочем, это уже не было чем-то новым для нас, поэтому никто особо не расстроился, все просто методично делали свои проекты мечты в течение всего семестра, а к защите подготовили трейлеры получившихся игр. Мы тогда особо постарались, сделали небольшой стилизованный «выживастик» с элементами хоррора, который потом пошел к нам в портфолио. Вот, кстати, скриншот оттуда.

Стилизованный «выживастик» с элементами хоррора
Стилизованный «выживастик» с элементами хоррора

В общем и целом, это была полезная дисциплина. Мы, почти как взрослые и серьезные разработчики, взяли на себя определенные роли и работали вместе над интересными проектами. Для многих это был первый и очень полезный опыт командной разработки. Преподавателей тут, правда, поблагодарить можно разве что за предоставленную нам свободу, но не более, никаких знаний и навыков от них мы не получили.

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

Например, информационная безопасность и операционные системы оказались наименее приятными и интересными предметами. Первый представлял из себя ряд занудных лекций и восемь лабораторных работ, в которых надо было писать отчеты (или копировать из интернета) на 4-5 страниц по теме соответствующей лекции. На операционных системах мы изучали Linux, а точнее его дистрибутив Ubuntu. Преподаватель был пожилым профессором, который заставлял печатать отчеты по лабораторным работам (их было в районе десяти штук, каждый отчет мог занимать от 10 до 30 страниц с текстом и скриншотами), а не только выкладывать в LMS, как мы это делали всегда. Он проводил контрольные работы, а оценки ставил случайным образом – две одинаковые работы могли получить три и пять. Из оценок за эти работы и формировалась оценка за семестр, оценки за лабораторные работы не учитывались. Также преподаватель отказывался ставить пятерки за семестр больше, чем половине студентов в группе. Лекции он ставил в записи, а не читал онлайн, на немногочисленные вопросы в чате либо не отвечал вообще, либо отвечал с большой задержкой, разумеется, текстом. Эта дисциплина съела очень много времени и нервов в течение семестра.

Теперь же перейду к более приятному примеру – базам данных. Это двухсеместровая дисциплина, первая ее часть была у нас в предыдущем семестре, а в этом – была вторая часть и курсовая работа, по результатам которой и ставилась оценка за дисциплину. Тут нам снова дали свободу выбора тематики, проекта и используемых технологий, дали возможность работать в командах по два человека. Мы с девушкой решили сделать интерактивную библиотеку по вселенной настольной ролевой игры Dungeons and Dragons. В качестве сервера выбрали phpMyAdmin, СУБД – MySQL. Клиент был на Unity и представлял из себя небольшую локацию в виде двухэтажной библиотеки. На ней были расставлены шкафы и комоды, взаимодействуя с которыми игрок мог получать данные из БД. На локации еще был письменный стол, который позволял создавать и редактировать листы персонажей для игр. Проект, конечно, был достаточно кривой и косой, но интересный и полезный в плане получения опыта.

Интерактивная библиотека по вселенной настольной ролевой игры Dungeons and Dragons
Интерактивная библиотека по вселенной настольной ролевой игры Dungeons and Dragons

Единственная дисциплина, которая была непосредственно связана с разработкой игр, называлась «Технологии программирования компьютерных игр» (ТПКИ). С точки зрения формата проведения и правил получения оценки она ничем не отличалась от МНКИ с предыдущего семестра, преподаватели были те же самые. Единственное отличие заключалось в том, что в этот раз от нас требовали уделить больше внимания сложным и интересным механикам, а не внешнему виду игры. В этот раз преподаватель этой дисциплины даже пытался учить нас языку C# и движку Unity (четвертый семестр, самое время), когда узнал, что у нас не было отдельного курса ни по языку, ни по движку. Надо отдать должное его стараниям – раз в неделю он звал заинтересованных ребят в Discord, где и рассказывал про программирование на C#. Тем не менее, мне это казалось достаточно бессмысленным, так как непосредственно к урокам по Unity он перешел уже ближе к концу семестра, когда все игры должны были находиться на стадии завершения и подготовки к защите. В целом, дисциплина практически ничем не отличалась от МНКИ с предыдущего семестра, так что выводы по ней можно сделать аналогичные.

В конце второго курса нас ждала производственная практика. Нам необходимо было либо найти компанию или игровую студию, готовую официально устроить нас на практику, либо же обратиться к преподавателям для устройства в некую ООО «Текнум», информации о которой толком и не было. Те, кто оказывались в этой компании, выполняли различные поручения для вуза, например, заполняли курсы в LMS тестами и лекциями. Разумеется, никаких индустриальных партнеров из сферы разработки игр у университета не было, так что ни с практикой, ни с трудоустройством разработчикам игр не помогали. Насколько мне известно, ситуация так и остается неизменной на момент написания статьи.

На втором курсе качество образования нисколько не выросло по сравнению с первым годом обучения, а местами стало даже хуже, но зато у нас появились дисциплины, непосредственно связанные с разработкой игр. На них нас не учили ничему, но позволяли самостоятельно создавать игры, которые потом шли к нам в портфолио. Сложно хвалить высшее учебное заведение за то, что оно практически целиком отдало процесс получения знаний в наши руки, но сам по себе подобный формат обучения был удобным и лично меня удовлетворял, хотя я знаю, что многим это не нравилось.

Заключение

На этом первая часть моего рассказа подходит к концу. В целом, уже по ней можно сделать ряд выводов о процессе обучения и качестве образования в Политехе, а кто-то точно поймет, будет ли ему комфортно учиться в таком месте. Тем не менее, я крайне рекомендую прочитать и вторую часть, которая выйдет через некоторое время, ведь она будет еще интереснее.

***

Говоря о высшем образовании в геймдеве, нельзя не отметить растущую важность математики и анализа данных в игровой индустрии. Для тех, кто хочет углубить свои знания в этой области, существует интересное предложение: Онлайн-курс по математике для Data Science от преподавателей ВМК МГУ

  • Программа включает математический анализ, линейную алгебру, теорию вероятностей и основы машинного обучения
  • Курс подходит как для начинающих, так и для опытных разработчиков
  • Формат обучения: 6 месяцев, 47 видеолекций и 150 практических заданий
  • Возможность получить персональные консультации от преподавателей

Такой курс может стать отличным дополнением к высшему образованию в сфере геймдева, особенно для тех, кто интересуется аналитикой и оптимизацией игровых процессов.

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ