Content Oriented Web
Make great presentations, longreads, and landing pages, as well as photo stories, blogs, lookbooks, and all other kinds of content oriented projects.
анонс Курса по программированию

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

Учим программировать для Action игр в Unreal Engine и C++
Close
Научись реализовывать все основные механики шутеров в 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
Чем занимается геймплей-программист

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

— Живые стримы.
— Десятки новых друзей в отдельном Дискорде.
— Индивидуальная проверка домашки (пакеты «Стандарт», «Продвинутый»).
Почему работать над играми — это интересно

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

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

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

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

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

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

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

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

Требования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Но проблема в том, что Unreal — единственный движок, в котором эту систему можно применять. Освоив Blueprint, можно, например, устроиться техническим дизайнером в компанию, которая делает игры на Unreal Engine, — но возможность работать с другими технологиями для тебя будет закрыта.
Почему именно 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. Как минимум, она позволяла использовать полную версию движка для образовательных целей и небольших проектов. Ну их новый подход к монетизации — это вообще потрясающе.
Стоимость курса
График повышения цен
Цены будут повышаться к началу курса — сейчас его можно купить с большой скидкой, но со временем скидка будет уменьшаться.
Заморозка цены

Если ты внесёшь 20% предоплаты сейчас, то цена заморозится — ты получишь скидку, а оплатить курс целиком сможешь потом.
Записывайся на курс: School-xyz.com/gamecode

По всем вопросам пиши в личные сообщения группы.
***
Отзывы студентов XYZ School

Больше отзывов читай здесь: https://vk.com/topic-124560669_34868074
Владимир
***
Присоединяйся к нам!

Обязательно вступай в наше сообщество XYZ School в ВКотакте.
У нас много полезного контента в открытом доступе.

Учись создавать игры вместе с нами!

XYZ School
Понравилась статья?
Хочешь получать лучшие статьи
от XyZ раз в неделю?
Подпишись на рассылку XyZ
Нажимая на кнопку, вы соглашаетесь с условиями обработки данных