Intro to Gamedev
1.09K subscribers
25 photos
72 links
Анонси, лінки, оголошення
Download Telegram
Начался осенний семестр, а значит нас ожидает уже третий набор курса Основ игровой разработки в Белке

О чем курс?
Большинство онлайн и оффлайн курсов по игровой разработке концентрируются на изучении какого-то отдельного движка. Задача нашего курса - получить максимальное представление о сфере, набор базовых знаний и понимание того в какую сторону дальше развиваться. Поэтому мы рассматриваем:
- Программирование (курс все-таки на фивте): как писать игровые приложение, о чем помнить;
- Графика (шейдеры, рендер, современные технологии);
- AI (от простого поиска путей до различных сложных техник группового поведения)
- Геймдизайн (как вообще придумывать игру?)
- Организация разработки

Для кого?
Поток ИП-5х ФИВТа получит за этот предмет оценку в зачетку, для всех остальных желающих - курс открыт и бесплатен

Время проведения?
Каждую пятницу, в Белке (Библиотека КПИ, 3 этаж), на второй паре (10:25)

Когда начинаем?
Первое, вводное занятие пройдет 21 сентября, тема - "Хочу в геймдев. Куда копать?" - Мы рассмотрим в общем наш курс и сферу игровой разработки (мировую и украинскую), внесем ясность в то как будут проходить занятия и какие темы когда будут рассмтариваться, какие будут задания и т.д.

P.S. Все вопросы - в чат (@kpigamedev_chat). Кто заинтересовался - чиркните в анкетку (https://goo.gl/forms/atslScm62K1nImiE3), чтобы я понимал, какая будет аудитория
Изменение расписания!

Вместо пятницы пары будут проходить по субботам в 12:20. Место не меняется - Белка. Благодаря такому фромату:
а) Больше желающих смогут посещать занятия в нерабочее\неучебное время,
б) На второй паре там же будут проходить занятия по @softwareanddatasecurity, приходите - там тоже интересно
​​Итак, начинаем!

Завтра нас ожидает первое занятие курса "Введение в игровую разработку". Тема: "Хочу в геймдев. Куда копать?". На занятии мы:

а) разберемся с целями и задачи курса, обозначим темы которые будут рассматриваться в семестре;
б) сделаем общий обзор сферы игровой разработки (мировой и украинской), ролей в команде, возможностей для развития;
в) рассмотрим предлагаемые студентам задания;

Если вы сомневались, на какие лекции стоит приходить (и стоит ли вообще) - завтрашнее занятие должно ответить на все вопросы.

Суббота, библиотека КПИ, "Белка"" (3 этаж), 12:00
​​Семестр понемногу набирает обороты, и завтра мы с вами поговорим об основах Геймдизайна. Программирование, движки, архитектура приложения, графика - все это детали реализации игрового проекта, который для начала нужно придумать, сделать интересным для игроков (опеределиться со своей аудиторией, как минимум), спланировать монетизацию и много чего другого. Все эти моменты вместе с большим количеством нюансов формируют эту особенную и совсем не простую область знаний - геймдизайн. Завтра мы поговорим о том:

а) Где искать материалы по теме и как вообще прокачиваться в сфере;
б) Как осознанно подходить к продумыванию и созданию нового проекта;
в) Как анализировать аудиторию;
г) Затронем много вопросов из матчасти геймдизайна.

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

Кроме того, завтра все получат понимание того, в чем будет заключаться первое задание курса.

Важно: поскольку завтра занятия по Защите информации не будет, мы начнем занятие в 10:20 (на второй паре). Белка (библиотека КПИ, 3 этаж)

P.S. Видео первой лекции подедет ближе к 23:00 - не расчитал сколько времени будет кодироваться готовый проект.
Intro to Gamedev pinned «​​Семестр понемногу набирает обороты, и завтра мы с вами поговорим об основах Геймдизайна. Программирование, движки, архитектура приложения, графика - все это детали реализации игрового проекта, который для начала нужно придумать, сделать интересным для игроков…»
Запись первой обзорной лекции - "Введение в Игровую разработку".
Сорри за затягивание - впредь постараюсь обрабатывать видео шустрее. Зато звук хороший https://www.youtube.com/watch?v=qRL9fFSYpe0
На второй лекции мы говорили о геймдизайне: о чем стоит помнить при придумывании проекта, как анализировать аудиторию и многое другое. Ссылка на слайды под видео https://www.youtube.com/watch?v=PHdy4JrOEmI
​​Прежде чем мы сможем перейти к AI, графике, проектированию и другим техническим темам, нам нужно определить "общий знаменатель" в необходимых знаниях, потому что таких довольно много: от школьной геометрии с физикой до вполне университетского теорвера, не говоря уже о программировании. Поэтому завтра мы об этом необходимом минимуме и поговорим - для кого-то это будет повторением, а для кого-то указанием что необходимо вспомнить или подтянуть. Естественно все с примерами.

Итак, Math Essentials, куда помимо собственно математики, геометрии и теорвера включим как минимум самую базовую физику и другие предметы которые нужно знать со времен университета, а то и школы.

Суббота, Белка, 12:00
Лекция, на которой мы говорили о векторах, кватернионах, законах Ньютона, теорвере и других замечательных вещах https://www.youtube.com/watch?v=Yt3rmUMN_Lw
​​Искусственный интеллект (AI) со всеми его нейронными сетями и deep learning-ами на сегодня, пожалуй, вторая по количеству шумихи вокруг тема – круче только блокчейн. Мало кто понимает как точно это работает, для чего и когда нужно, что важнее – когда ненужно.

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

Завтра мы рассмотрим AI в играх с самого низу, основательно – начиная с поиска путей (pathfinding) и steering behavior (не знаю как это корректно перевести, но это то, благодаря чему в стрелялке бот умеет от вас убегать, противники в гоночках - преследовать, а животные – правильно двигаться в стае).

Короче, если после курса дискретки вы так и не поняли что такое эвристика (но боялись спросить), или давно думали накодить бегалку с ботами, но не знали как -
приходите завтра в Белку, как всегда – 12:00
Запись лекции, посмотрев которую можно не только освежить свои знания в алгоритмах поиска путей (Дейкстра, A*, Jump-point) и не только разобраться с быстрой реализацией Steering Behaviors (погоня, убегание, групповые движения и т.д.), но и пронаблюдать как у меня за полтора часа медленно, но уверенно хрипнет голос https://www.youtube.com/watch?v=XPplL4HTi-I
​​Как реализованы оригинальные The Sims? Как заставить ботов в компьютерной игре реалистично действовать сообща? Как написать AI для шахмат?

На прошлой неделе мы разобрались с базовыми вещами – как ботам ходить, бегать, и при этом не сталкиваться, а теперь поговорим о том ЗАЧЕМ вообще куда-то идти: decision trees, behavior trees, вот это все.

Кроме того, сколько успеем обзорно рассмотрим остальные техники AI – например, клеточные автоматы.

Суббота, Белка, 12:00
Позади уже примерно треть курса, и самое время переходить к более технической части и говорить о программировании. В начале курса я акцентировал внимание на том, что буду больше говорить о подходах и принципах, справедливых для разных технологий, вместо того чтобы углубляться в детали какого-то одного движка или языка.

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

Как выход из такого противоречия я предлагаю провести в субботу, 3 ноября отдельное, большое занятие (возможно в формате воркшопа), посвященное исключительно связке Unity\C#. Если кому-то интересен такой формат, просьба отметиться лайком в данном опросе - если наберется 20-25 желающих, будем пробовать. Кроме того, можно писать мне (@artemkorotenko) или в чат (@kpigamedev_chat), что бы вы хотели на таком занятии услышать, или что попробовать.
​​Семестр продолжается, и дальше нас ожидает блок из 3-4 лекций, посвященных техническим темам - программированию, проектированию, архитектуре приложений и т.д. Начнем мы завтра с базовых вещей - что нужно знать и помнить программисту. О математике мы уже говорили, а завтра затронем инструменты, код стайл, рефакторинг, технический долг, какой код можно называть "хорошим", а какой "плохим", какие аббревиатуры стоит хорошо знать, когда стоит хвататься за голову и все переписывать. Все эти знания нам очень помогут далее, когда будем рассматривать паттерны в игровой разработке и подходы к проектированию.

Кому интересно послушать именно про Unity и C# - смотрите предыдущий пост и отмечайтесь.

Суббота, Белка, 12:00

P.S. С видео прошлой лекции я немного провтыкал, поэтому оно будет только завтра, сорри.
Анонс новой лекции будет вечером, а пока подтягиваем хвосты по видеолекциям:

Вторая часть лекции об AI, где мы говорили о принятии решений, стратегии написания ботов для настолок на примере шахмат, симсах и деревьях поведения. https://www.youtube.com/watch?v=aoKJQpovKNI
​​Завтра нас ожидает одно из немногих занятий, посвященных конкретным технологиям - Unity и C#. Ноутбуки брать с собой не надо - я решил, что в случае лайв-кодинга объем информации, которую мы сможем рассмотреть будет маленьким, а поговорить на самом деле есть о чем:

1) Что нужно знать Unity-разработчику о C# и .Net в целом? Постараемся затронуть фишки вплоть до C#7.3, асинхронность, гайдлайны и т.д.
2) Общий разбор подкапотной части Unity.
3) Как строить архитектуру приложения?
4) Чем разработка большого проекта на Unity отличается от туториалов на их сайте?

Так же, если у вас есть какие-то вопросы, никогда не поздно постучать в чат @kpigamedev_chat и попросить затронуть какую-то тему.

P.S.Запис лекции с прошлой недели будет через несколько часов
Для тех кто не спит - видео прошлой лекции, где мы говорили о хорошем и плохом коде, код-стайле, инструментах, а также рассматривали примеры того, как с самого начала писать свои приложения так, чтобы потом не было мучительно больно их читать https://www.youtube.com/watch?v=fALpKwzxvVY
​​В сфере программирования есть некоторое количество магических аббревиатур (buzzwords), которые все суют себе в резюме, и общее знание которых кажется чем-то абсолютно очевидным. На деле же, все часто ограничивается заучиваний опеределений и непониманием того, какую проблему мы собственно решаем и зачем нам это нужно.

Собственно, завтра о таком и поговорим - если вы не знаете, осознаете что не до конца понимаете или стесняетесь спросить о принципах SOLID, DI, MVC и его вариациях и альтернативах (MVVM) - приходите завтра в 12:00 в Белку на лекцию об архитектуре приложений. Примеры будут игровые, но даже если вы из другой сферы разработки ПО - вам тоже должно быть интересно
​​На горизонте уже видятся темы графического раздела нашего курса, но завтра мы еще будем говорить о вещах технических - о шаблонах игрового (и не только) проектирования. Прошлый раз мы рассмотрели глобальные вещи типа SOLID, а завтра глянем на более мелкие "кирпичики" начиная от несчастного синглтона и стейт машины и до менее попсовых штук типа EventQueue. Как всегда, примеры будут игровые, но лекция может быть полезна всем, кто интересуется проектированием приложений.

Внимание! Лекция в Белке завтра начнется в 10:15, a в 12:00 все желающие смогут проверить свои силы в защите информации, написав контрольную.

P.S. Завтрашняя и две прошлые лекции появятся на ютубе на выходных.