Курс по программированию, XYZ School

Реализация основных шутерных механик в Unreal Engine и навыки, необходимые для работы геймплей-программистом.

Обучение начинается: 1 октября.

Сайт курса: School-xyz.com/gamecode

Александр Балакшин, — программист, работавший над Rainbow Six Siege и другими AAA-проектами, — научит тебя создавать игры при помощи Unreal и C++.

Коротко о курсе

  • Преподаватель — Александр Балакшин, бывший ведущий геймплей-программист Rainbow Six Siege.
  • Курс для тех, кто знает хотя бы один любой язык программирования.
  • Научим реализовывать все необходимые шутерные механики при помощи Unreal Engine 4 и C++.
  • А также работать над кодом по пайплайну, принятому в AAA-студиях.
  • Пройдя курс, ты сможешь претендовать на позицию junior-разработчика в любой игровой студии, а если у тебя есть опыт в разработке в другой сфере — то и на позицию middle.
  • Обучение длится 4 месяца.
  • Смотреть сайт курса: School-xyz.com/gamecode
Курс по программированию, XYZ School

Чем занимается геймплей-программист

Геймплей-программист реализует именно то, что составляет пользовательский опыт. Результат нашей работы игрок будет видеть и ощущать напрямую. И это — самое интересное и вдохновляющее в нашей работе.

Удовольствие от того, что вот этот удар, который наносит герой, запрограммировал именно ты; что этот дробовик с крюком сделал именно ты; что плавать на лодке и нырять в воду персонаж может именно благодаря тебе — не сравнить ни с чем. Если не веришь на слово — записывайся на курс и попробуй сам.

Работа программиста, который занимается геймплеем — это постоянное решение нестандартных и креативных задач.

Например, продюсер игры может прийти к нему и сказать:

«Нужно, чтобы наш герой карабкался по стенам. Сделай нам систему паркура, как в Assassin’s Creed».

И программисту предстоит решать, как реализовать эту идею в рамках текущего проекта. А в процессе его могут попросить добавить в игру ещё и крюк, как в Uncharted 4, или, например, управляемый автотранспорт. И ему придётся реализовывать всё это так, чтобы разные системы не конфликтовали друг с другом. А потом — придумывать, как добавить во всё это мультиплеер.

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

Если тебе интересно решать подобные задачи, то этот курс — для тебя. Здесь ты научишься реализовывать любые механики на практике и делать это системно — так, как это принято в AAA-студиях.

Курс по программированию, XYZ School

Давай знакомиться

Меня зовут Александр Балакшин, я — геймплей-программист. Работал над Rainbow Six Siege и ещё над несколькими AAA-проектами, о которых не могу говорить из-за NDA.

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

Мой путь в геймдеве начался не с AAA-проектов, а с более приземлённых вещей — например, работал над онлайн-казино для KamaGames. Это было не совсем то, чем мне хотелось заниматься — хотя задачи там были интересные.

А потом я увидел Вконтакте объявление о том, что в Sperasoft требуется старший разработчик С++. Я откликнулся, и вскоре уже переехал в Санкт-Петербург, чтобы приступить к работе над сезонами Rainbow Six Siege.

На курсе ты научишься:

— Реализовывать основные механики шутеров в Unreal Engine 4,

— Грамотно проходить код-ревью,

— Работать с системой контроля версий Perforce,

— Проходить тестирование.

Курс стартует 1 октября. На занятиях ты освоишь все аспекты профессии.

И всё это в нашем классическом формате:

— Живые стримы.

— Десятки новых друзей в отдельном Дискорде.

— Индивидуальная проверка домашки (пакеты «Стандарт», «Продвинутый»).

Курс по программированию, XYZ School

Почему работать над играми — это интересно

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

Конечно, люди бывают разные. Кому-то нравится программирование ради программирования, и им неважно, над чем они работают — над приложением для бинарных опционов или над AAA-игрой.

Курс по программированию, XYZ School

Но я считаю, что программирование не существует в вакууме. Это лишь средство решения задач — оно всегда привязано к определённой области. Мы всегда должны отталкиваться от того, кто наш конечный пользователь, и как всё это будет использоваться в итоге.

Заниматься нужно тем, что тебя интересует. Нравится оптимизировать бизнес — ищи соответствующую вакансию. Любишь космос — пиши код для ракетостроителей. А вот если любишь игры, как я, то тебе прямая дорога в игровую разработку.

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

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

Например, всегда нужно думать об оптимизации. Скажем, технический директор говорит: «У тебя две миллисекунды из 16 на все эти процессы, и столько-то памяти. Если вы начнёте вылезать за эти рамки, то нужно будет искать другое решение». Каким образом ты найдёшь выход из такой ситуации — зависит от тебя.

Плюс ко всему, в игровой индустрии ты всегда будешь на самом переднем краю технологий. Чтобы в этом убедиться, достаточно просто посмотреть презентацию Unreal Engine 5.

Курс по программированию, XYZ School

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

Для кого этот курс

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

Требования

Ты должен знать хотя бы один язык программирования. На курсе мы будем использовать только C++, но подойдёт и любой другой. Сверхсложные конструкции мы проходить не будем, но нужно разбираться в теме хотя бы до уровня объектно-ориентированного подхода.

Unreal Engine достаточно дружелюбен, поэтому в нём можно разобраться и без знания C++. Но я не буду объяснять такие базовые понятия как ветвление, цикл или массив — иначе курс получился бы просто гигантским.

Курс по программированию, XYZ School

Перспективы после курса

Если ты сможешь пройти этот курс и полностью освоить всё, что мы будем проходить, то можешь спокойно отправлять резюме в любую игровую компанию, — в том числе и работающую над AAA-проектами, — и претендовать на позицию junior-разработчика.

Курс по программированию, XYZ School

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

Чему ты научишься

Пройдя мой курс, ты научишься реализовывать все основные механики шутеров при помощи Unreal Engine и C++.

Ты узнаешь, как работает стрельба, перемещение, сетевая репликация Unreal, искусственный интеллект NPC и их реакцию на нанесение урона — и научишься создавать всё это сам.

Во время обучения мы будем разбирать фундаментальные понятия используемые в индустрии. Что такое функция Tick (или Update в других игровых движках), и какие стадии у неё есть? Что такое дерево поведений и система чувств у NPC? Как работают скелетные анимации? Что такое лайн трэйс (или рэй каст), как он реализован, сколько он «стоит», и какие есть другие варианты пространственных проверок.

Курс по программированию, XYZ School

Мы освежим знания по математике — разберём скалярное и векторное произведения, а также то, как их применять в разработке игр. Узнаем про основные геометрические примитивы, в чём отличие между AABB и OOBB, и почему мы так часто используем капсулы для представления персонажей. Что такое однородные координаты, и зачем нам четыре измерения в трёхмерном пространстве. И, конечно же, что такое кватернионы, и почему их используют для представления вращений.

Программист, прошедший этот курс, не растеряется, услышав от продюсера фразу «Сделай, чтобы это работало, как дробовик», — а просто откроет Unreal и быстро сделает всё, что требуется.

Почему именно шутеры

— Это один из самых востребованных жанров в индустрии. Большинство AAA-компаний ищет именно специалистов, готовых работать с шутерами.

— Unreal Engine изначально задумывался как движок для создания шутеров — было бы странно обучать работе с ним на примере другого жанра.

— Большую часть своей карьеры в AAA-индустрии я работал именно над шутерами: буду рассказывать о том, в чём разбираюсь лучше всего.

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

Хочешь сделать 2D-платформер? Просто убери одну ось перемещения, а реализовывать передвижение ты уже умеешь.

RTS? Создавать искусственный интеллект врагов ты уже умеешь — осталось разобраться с камерой и управлением.

Авиасимулятор? Всё то же самое, что и в шутере — просто персонаж не бегает по плоскости, а летает. А как стрелять и запускать ракеты мы уже знаем.

Файтинг? Наносить удары в ближнем бою и создавать на них реакцию мы научились.

RPG? На курсе ты научишься накладывать на персонажей «баффы» и «дебаффы» — останется лишь настроить более сложную систему характеристик и уровней.

Почему именно C++

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

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

Моя задача — подготовить специалистов, которые смогут реализовывать геймплей в любом движке.

Курс по программированию, XYZ School

Весь этот курс можно было бы выстроить вокруг Blueprint — системы визуального программирования, для использования которой не нужно изучать C++.

Но проблема в том, что Unreal — единственный движок, в котором эту систему можно применять. Освоив Blueprint, можно, например, устроиться техническим дизайнером в компанию, которая делает игры на Unreal Engine, — но возможность работать с другими технологиями для тебя будет закрыта.

Курс по программированию, XYZ School

Почему именно Unreal, а не Unity

Есть как минимум пять причин, по которым стоит учиться работать именно в Unreal — популярнейшем движке от Epic Games, которым с недавних пор можно пользоваться абсолютно бесплатно, пока ты не заработал миллион долларов.

1. С++, на котором работает Unreal — это язык, который используется во всей индустрии. О C#, на котором работает Unity, такого сказать нельзя.

2. Открытость исходного кода. Здесь всегда можно докопаться и посмотреть, как работает та или иная система геймплейного фреймворка или самого движка. Нам это будет крайне полезно, потому что я хочу познакомить вас не только с Unreal Engine 4, а с общими подходами и практиками, применяемыми в ААА геймдеве.

3. Развитый геймплейный фреймворк с отличной поддержкой сети. Его корни лежат в Unreal Tournament, а последний успешный кейс — Fortnite. Этот фреймворк наиболее похож на то, что используется в ААА индустрии в проприетарных движках.

4. Наличие выпущенных ААА и AA-тайтлов на данной технологии и активное использование данного движка AAA-студиями. Посуди сам: Days Gone, Jedi Fallen Order, Ace Combat, Gears 5, Sea Of Thieves, Hellblade, The Outer Worlds и многие другие.

5. Политика «заработай миллион, а потом плати». На мой взгляд, ценовая политика UE4 и до этого была гораздо более щадящей, чем в Unity. Как минимум, она позволяла использовать полную версию движка для образовательных целей и небольших проектов. Ну их новый подход к монетизации — это вообще потрясающе.

Стоимость курса

Курс по программированию, XYZ School

График повышения цен

Цены будут повышаться к началу курса — сейчас его можно купить с большой скидкой, но со временем скидка будет уменьшаться.

Курс по программированию, XYZ School

Заморозка цены

Если ты внесёшь 20% предоплаты сейчас, то цена заморозится — ты получишь скидку, а оплатить курс целиком сможешь потом.

Курс по программированию, XYZ School

Записывайся на курс: School-xyz.com/gamecode

Наше сообщество в ВКонтакте, где можно задать вопросы.

#xyz #gamedev #unrealengine4 #программирование #shooter

3434
68 комментариев

За 90к! Да вы совсем охренели, конечно =)
Если учесть, что миллион курсов валяется в сети бесплатный, а есть и вовсе офигенный с Udemy (а вот и ссылочка: https://www.udemy.com/course/unrealcourse/) за 10 баксов, то вы просто максимальные деньгожоры.
ЗЫ. На сайте эпиков отличная документация, которая описывает то, как работает движок. А если этого мало - отличная новая библиотека курсов по анрилу, которая позволяет изучать основы и даже больше.

Я в афиге, конечно. Образование должно быть бесплатным, господа. Все остальное - это развод.

49
Ответить

Образование должно быть бесплатным, господа.

Информация - да, образование - нет.

10
Ответить
Автор
6
Ответить

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

2
Ответить

Похоже ждём удаления коммента

Ответить

Ну программистов, научившихся благодаря курсам на udemy что то вокруг не видно

Ответить

"Образование должно быть бесплатным"
Ну так обучай бесплатно

Ответить