Top
2D арт3D артUnityАнимация и VFXИнтервьюУроки

Душевный Unity. Интервью с Сергеем Малининым

Поделиться

Преподаватель курса «Разработка игр на Unity» Сергей Малинин. Unity developer в компании FGFactory.

Когда ты заинтересовался программированием?

Интересно было где-то с восьмого класса. У меня тогда появилась приставка к телевизору. Что за модель, честно говоря, сейчас не вспомню, но что-то очень старенькое. Что-то типа «Электрон», по-моему. Я тогда еще не знал, что такое программирование, мне просто было интересно поиграть.

Помню, открыл книжицу, смотрю, а там инструкция по Basic лежит. С того момента все и началось. Я стал изучать это все, смотреть, школьная программа как раз пошла.

В школе, кстати, была смешная история. Я дома приготовил код, который работает с памятью компьютера. Программа запускала вот тот бипер, который находился внутри. Я не знал сколько их там и на всякий случай закодил несколько вариантов. Оказалось, что их три. Компьютер орал как бешеный. Преподаватель очень удивился тогда.

Вот так все и началось. Я стал увлекаться программированием, тогда как раз «C» язык начал появляться, и пошло-поехало, до сегодняшних дней. А в последнее время я отдаю предпочтение разработке под Unity.

Почему именно Unity?

У меня до этого был опыт работы на Android. Я разрабатывал бизнес приложения: выезжающие списочки, появляющиеся окошки — вот это все. Но оно как-то приелось и мне захотелось чего-то большего.

Сначала я долго пытался использовать графическую библиотеку OpenGL. У нее внутри большие и развитые структуры данных и все это было довольно непросто. Но потом я попробовал Unity и у меня ушло буквально 2 минуты на то, чтобы создать решение, которое я делал при помощи OpenGL вот уже несколько месяцев. К тому же оно было не на Java, а на C#, но это не главное. Главное, что это было кроссплатформенное решение.

Многие сейчас уходят в Unreal Engine. Там все классно, круто, но я на тот момент был Android разработчик и поэтому мне интересны были девайсы. Я искал решение, которое могло бы взаимодействовать с мобильными устройствами. И я увидел, что Unity идеально для этого подходит.

В итоге я увидел, что графика — это круто и стал увлекаться ей более детально. Изучил, попал на работу уже как Unity разработчик. Этот опыт мне до сегодняшнего момента очень нравится. Собственно, я могу делать те же бизнес приложения, только используя графический редактор Unity.

Расскажи о программе курса

Сначала у нас будет творческая встреча. Я сейчас готовлю материал. 

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

Блок по программированию у нас будет чуть дальше. Мы будем кодировать в среде разработки Visual Studio. Студенты изучат C#.

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

Для людей какого уровня подойдут эти занятия?

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

И конечно, для самых амбициозных студентов будет доступна опция «Повысить сложность задачи».

С какими трудностями могут столкнуться студенты?

С трудностями они столкнуться не смогут. Разве что со своей ленью. Это главная трудность.

Сложностей с прохождением уроков у студентов тоже не будет. Все, что связано с графическим движком, будет на курсе. Будет дана теория, рассказано как это все работает, и уже на следующий день каждый сможет попробовать все на практике. Конечно, студенты должны будут и подумать. Организаторы курса и я, как преподаватель, рассчитываем на это, студенты ведь придут учиться.

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

Какие новинки в Unity?

Новинок по Unity сегодня очень много. Даже не знаешь за какие хвататься. В версии 2019.1 улучшен редактор. Появились некоторые решения, как в Photoshop, когда мы можем отключать объекты, не удаляя их со сцены. Иногда, когда ты работаешь с построением 3d мира, то тебе нужно отключать объекты, которые находятся перед тобой. И вот чтобы его не удалять ты можешь просто отключить его отображение. Он по-прежнему взаимодействует с другими объектами, но не мешает обзору и ты можешь использовать и редактировать пространство, как тебе нужно.

Был изменен интерфейс связанный с работой с terrane, добавились кисти. Unity вообще очень сильно расширяет свой кругозор. Адаптирует среду для мобильных устройств. Более тяжелые вещи теперь с легкостью могут запускаться на телефонах. И сами разработчики показывают как это должно работать.

Как сделать хорошую игру?

В играх главное заинтересовать в начале и удержать на протяжение всей игры.

Заинтересовать можно графикой, но это только на первое время. Даже самая крутая графика не привлечет геймера надолго.

Чем можно удержать? Это довольно философский вопрос. Каждому нравится свое. Попробуй стратегией удержать игромана, которому нравятся бегалки, стрелялки, шутеры. Поэтому нужно понимать сегмент, на который нацелена игра.

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

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

В принципе, весь процесс можно разбить на две части — описательная и техническая.

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

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

Помню, как я первый раз собрал команду по разработке игр. Она состояла из двух человек. Сели мы, значит, я и говорю: «Ну что, давай что-нибудь нарисуем?» Ручки взяли, посмотрели друг на друга — не идет. На этом все и закончилось. Такая вот разработка. Но был и положительный момент — тестировать было нечего.

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

Что самое интересное в разработке игр?

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

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

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

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

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

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

Где бы ты посоветовал работать, в компании или на фрилансе?

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

В компании такого, конечно, нет. По крайней мере там, где я работаю. Наши менеджеры довольно грамотные люди, они пытаются правильно спланировать наше время.

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

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

Приходите на творческую встречу и записывайтесь на курс. Будет интересно.

Интервью подготовил Мощенко Олег