Сообщество - Лига Разработчиков Видеоигр
Добавить пост

Лига Разработчиков Видеоигр

6 694 поста 22 146 подписчиков

Популярные теги в сообществе:

6 лет до демо-версии Halver

Демо-версия игры доступна для загрузки в Steam:
https://store.steampowered.com/app/1358440/Halver/

У меня уже есть статья как мы создали макет меню за месяц. А про реализацию читайте дальше

Почему так долго?

В общем-то у меня нет какого-то особенного ответа. Я делаю игру не full-time, напарник мне помогает тоже не часто

В последний год я сначала переехал из Питера в Ереван, а дальше в Берлин, где и проживаю сейчас. Это всё занимает свободное время

Главное меню

Главное меню встречает игрока после старта игры, позволяет выбрать игровой режим или перейти в настройки

Именно оно задаёт общую стилистику дизайна плавность анимаций, контрастный золотой цвет для наведения и клика

Меню выбора уровней

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

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

Меню настроек

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

По сути я сделал некую основу небольшого UI фреймворка и несколько основных контролов к нему (Radio, Checkbox, Select, Button, Slider и т. п.)

Модальное окно

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

Что дальше?

Недавно я выпустил обновлении демо-версии 0.8.1, основное нововведение — локализация на немецкий язык

Дальше буду допиливать фичи до релиза. Если он, конечно, случится : )

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

Ссылки

Группа по игре Вконтакте
Страница Halver в Steam

Показать полностью 4

Как домохозяйка решила попасть в Gamedev (часть 3)

Привет, уважаемые Пикабушники и Пикабушницы!

Особенно пламенный привет тем, кто поверил в мой потенциал и подписался!

Продолжаю свою историю о пути от домохозяйки к 2D-аниматору. Я учла ваши пожелания, и покажу кое-что из того, что я делала перед трудоустройством.

Итак, у меня было две работы, и от обеих меня пёрло. На основной работе были очень разнообразные не связанные между собой задания. Вторая давала представление о целостной работе над мобильной игрой. На первой работе давалась полная свобода фантазии: вот тебе объект для анимации - придумывай сама, как оно должно двигаться. На второй работе было всегда очень чёткое ТЗ. Иногда по секундам. Оба эти режима имели свои плюсы. В первом случае я могла творить, а во втором можно было расслабиться и сделать именно то, что хочет заказчик, не сильно напрягая мозги. Идеально!

Несколько месяцев в таком режиме, неожиданное участие в конкурсе по разработке игры за три дня (было бы красиво, если бы выиграли, но нет), новые и новые задачи... Я кайфовала. Но моя цель - это не только самосовершенствование, но и карьерный рост. И я понимала и понимаю, что на своей маленькой студии (она чудесная и замечательная - правда-правда) я до реально крутого профи с соответствующей зарплатой не дорасту. Плюс к этому я осознавала, что в Беларуси и России с вакансиями в gamedev всё очень печально (если ты не сеньёр, а я - не сеньёр). Поэтому я начала откликаться на вакансии в иностранных компаниях. Пара отказов на этапе рассмотрения портфолио, и я понимаю, что портфолио уже давно не отражает моих реальных навыков, полученных на реальных проектах. Брать в портфолио рабочие проекты нельзя по договору NDA. Сидеть и делать что-то специально для портфолио в нерабочее время - то ещё удовольствие.

И я нахожу себе третью "работу". Это инди-разработка. Работа совершенно бесплатная. Но зато всё, что я заанимирую для этой игры, я могу добавлять в портфолио. Чем это отличается от "делать дополнительно работы отдельно для портфолио"? Тем, что мне давался готовый к анимации арт, который не нужно было нарезать на слои и дорисовывать. Ну. С большего, не нужно было. То есть, чтобы сделать приличную анимацию, с артом можно было ничего не делать. А вот чтобы сделать конфетку, нужно было его немного дорабатывать. Конечно, я дорабатывала.

Ещё несколько месяцев я работала уже на трёх работах. Сложно? Очень! Интересно? Ещё бы! Думала ли я, что могу выгореть? Конечно. Но решила всё равно поднажать. Нужно ли говорить, что выходных у меня не было вообще. Были несколько свободных часов в неделю.

Продолжение следует...

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

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

Показать полностью 3

Пятнадцать кусочков геймплея — какой самый лучший?

Борьба за хорошего паблишера сейчас беспощадная. И в авангарде этой борьбы - гифка на 5-10 секунд. Если она не зацепит, то до свидания. Ребята, выберите, пожалуйста, лучшие 5-и секундные кусочки моей игры! На видео: 15 ультра-коротких фрагментов геймплея.

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

Показать полностью

UE5 short tutorial: Анимированный заполняющийся баблик на Ниагаре

Простой баблик для роликов, мислидов, может и в геймдеве кому-то так будет удобнее. Как минимум для тестов.

Как навести порядок в сцене

Дмитрий Копейкин, автор и преподаватель нашего курса «Draft Punk: 3D-моделирование объектов», рассказал о том, как навести порядок в 3D-сцене. Делимся с вами.

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

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

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

Даже при создании персональной модели художник может запутаться в своём творении, а если вы трудитесь над игрой, то это уже работа в команде. Специалисты не существуют в вакууме: они постоянно взаимодействуют, передавая друг другу необходимые файлы. И чтобы не создавать никому дополнительных проблем, 3D-художник должен придерживаться определенных правил чистоты в работе.

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

Размер модели

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост
Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

Следить за соответствием модели правильным логичным размерам надо с самого начала.

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

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

Отсутствие структуры

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост
Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

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

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

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост
Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

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

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

Иногда в качестве объединяющей группы можно использовать какой-либо объект. То есть можно «припарентить» второстепенные объекты к основному.

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

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

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

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

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

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост
Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

Нейминг

Нейминг (Naming) в контексте деятельности 3D-художника — наименование всех файлов, моделей, текстур и других элементов игрового проекта. В каждой студии существует свой свод правил нейминга (Naming Convention). Как правило, он регламентирует файлы, импортируемые в игровой движок. В конце работы моделер обязан назвать файлы модели и все составляющие внутри неё определённым образом.

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

  • Избегайте имён, которые программа даёт объектам по умолчанию. Например, polySurface2034 или box115

  • Давайте понятные имена, описывающие суть объекта. Если это колесо, то ему больше подойдет имя Wheel, а не pCylinder184

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост
Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

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

  • Не используйте кириллицу: не все программы поддерживают её. При импорте модели в другую программу вместо осмысленного имени может отобразиться бессвязный набор символов или вовсе выйти ошибка

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

  • Вместо пробелов в словах ставьте нижнее подчеркивание: не все программы видят пробелы

Опорные точки (Pivots)

Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост
Как навести порядок в сцене Разработка, Gamedev, Гайд, 3D, Компьютерные игры, 3D графика, Майя, Пропсы, Длиннопост

Опорная точка (pivots) — это точка, относительно которой происходит перемещение, вращение и масштабирование объекта. У каждого объекта она своя.

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

Если какая-либо часть модели подразумевает анимирование, то опорную точку следует расположить в центре движения.

Мусор: ненужные объекты, слои, материалы

В процессе моделирования в сцене часто накапливается мусор:

  • Ненужные объекты, которые остались от предыдущих версий модели или использовались для каких-то вспомогательных целей

  • Пустые группы, которые образуются в огромном количестве (например, при склеивании или разбивке объектов). Даже очистка истории не всегда помогает

  • Материалы, которые ни на чём не лежат, и слои, в которых ничего нет

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

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

Материал подготовлен командой XYZ Media.

Наши каналы в Telegram и на YouTube.

Показать полностью 14

Дело в игре выпуск под номером 4

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

Привет ! Сегодня расскажу про наш 4й выпуск, тут у нас были не менее интересные игры, чем в предыдущих выпусках.

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

Я знаю, что в детстве вы играли в Battle City на денди, сеге, пк, или на чем-то ещё не важно. А хотелось бы, чтобы игра обрела новые краски, графику, режимы ? Чтобы она стала сложнее и захватывающе ? Так вот сейчас игра проходит полировку и мы ждём её в релиз, а на нашей трансляции посмотрели на демо версию, и сейчас она находится в открытом доступе и любой может в неё поиграть.

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

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

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

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

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

И в конце нас ждёт интересный босс. Игра отлично помогает убить время, вспомнить былое, да и в неё просто приятно играть. В демо сейчас можно поиграть во VK PLAY

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

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

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

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

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

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

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

А дальше у нас был: ”Мясной выживач с адскими пытками в лесу 2: Возвращение дедового самогона из сливовой браги“ Да, да это название, а цифра 2, говорит нам о том, что оказывается это уже вторая часть.

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

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

А вот боевой баран (Battle Ram) была нашей четвёртой игрой.

Боевой баран - эксперимент ученых разработанный в тайной секретной лаборатории, могущественное существо против роботов, кто победит?

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

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

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

Враги разнообразные, и лазеры и прыгалки и ракеты, да тут куча всего, но я и сам не многое посмотрел, затерялась она у меня в библиотеке Стима, а вот этот пост пишу и запущу сейчас по новой, посмотрю что там. В стиме на самом деле сейчас больше 1000 отзывов и 89% положительные.

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

И последний на сегодня проект, но совсем не самый последний по качеству и исполнению, очень крутой и красочный платформер Weiter.

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

Не просто платформер, а мега крутая, красочная игра про кубик, персонажа с кучей способностей в забавном королевстве геометрических фигур Шейпринг, графика огонь! Управление огонь! Анимациии ммм, не знаю, чего еще ждешь, вперед играть!

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

Огромный мир с разнообразными биомами, карта мне напомнила Tiny Toon, выглядит красиво. Само управление в игре достаточно отзывчивое и простое, конечно я бы рекомендовал контроллер, ведь это платформер.

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

Само наполнение мира тоже сделано великолепно, ловушки, враги, секреты вот тут прям чувствуется настоящий хардкорный платформер, также он мне напомнил всем известный Meat boy.

Дело в игре выпуск под номером 4 Инди игра, Gamedev, Игровые обзоры, Игры, Компьютерные игры, Разработчики игр, Стрим, Стримеры, Длиннопост

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

А с вами как всегда был Бу, играйте в хорошие видеоигры и увидимся на трансляциях или в следующем посте.

Показать полностью 16

Beast Hour. №22. Май 2023. Кастомизация героев

Рейдеры и Звери!

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

Нас часто спрашивают, планируем ли мы добавить кастомизацию персонажей в игру, и мы всегда отвечаем – да!

Beast Hour. №22. Май 2023. Кастомизация героев Разработка, Unity, Онлайн-игры, Компьютерные игры, Игры, Инди игра, Инди, Gamedev, Steam, PVP, Скины, Длиннопост

Реколор базового облика

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

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

Рейдеры

С Рейдерами дела обстоят просто: они, по сути, люди в костюмах, поэтому каждый герой делится на 3 отдельно настраиваемых части – голову, руки и туловище, из которых можно создавать любые комбинации.

Beast Hour. №22. Май 2023. Кастомизация героев Разработка, Unity, Онлайн-игры, Компьютерные игры, Игры, Инди игра, Инди, Gamedev, Steam, PVP, Скины, Длиннопост

Комбинирование разных наборов

Звери

Со Зверями возникли сложности – это монстры без одежды, поэтому делить их на части как костюмы Рейдеров не получалось: сразу появлялись очевидные “швы”. Поскольку так же нужно было сделать 3 объекта для кастомизации, решили менять:

1. тип тела – т.е. все “голое” тело с полной раскраской, что решает проблему стыков между частями;

2. костюм – различные варианты одежды и элементов декора ниже головы/шеи;

3. головной убор – дополнительные “шапки”, “ошейники” и т.п. вещи, надеваемые на голову/шею.

Beast Hour. №22. Май 2023. Кастомизация героев Разработка, Unity, Онлайн-игры, Компьютерные игры, Игры, Инди игра, Инди, Gamedev, Steam, PVP, Скины, Длиннопост

Вариации скинов для Зверей

Первые прототипы

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

Beast Hour. №22. Май 2023. Кастомизация героев Разработка, Unity, Онлайн-игры, Компьютерные игры, Игры, Инди игра, Инди, Gamedev, Steam, PVP, Скины, Длиннопост

Прототип скинов

Потому сейчас большинство “скинов” в игре имеют очень яркие и пестрые цвета. Мы не случайно выбрали такую ядовитую палитру – это упрощает поиск багов и дает больше понимания работы системы.

Заключение

Спасибо, что дочитали статью до конца. Какой из концептов вам понравился больше всего? Делитесь впечатлениями в комментариях!

Заглядывайте на ежемесячные стримы Beast Hour в VK и Youtube, ведь там мы можем пообщаться с вами в прямом эфире!

Добавляйте Beast Hour в список желаемого в Steam и подписывайтесь на социальные сети – это очень помогает нашей небольшой инди-команде вывести проект на новый уровень!

Beast Hour нужна ваша помощь с подготовкой перевода на итальянский, корейский и японский! А если вы говорите на арабском, испанском, китайском, немецком, португальском или французском, то уже почти завершенные тексты ожидают вашей проверки! Связаться с нами можно по почте: info@beasthour.com

А если хотите погрузиться в разработку Beast Hour или обсудить иную форму сотрудничества, тогда вам сюда: bizdev@beasthour.com

Да придёт Зверь!

Показать полностью 3

TOTAL RELOAD : процедурная генерация проводов (часть 1)

TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост

Готовы рассказать о процедурной генерации проводов и о том как она устроена в TOTAL RELOAD. Всего проводам будет посвящено 2 статьи (2 части). Выше приведен скриншот из игры на котором представлены финальные провода.

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

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

Часть 1. Процедурная генерация проводов

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

Версия провода № 1

В самом начале разработки игры было принято решение не пытаться вытянуть качество графики до уровня ААА – проекта. Причины такого решения просты:

  • команда состояла (и состоит) из 2-х человек, которым задач и так хватало

  • не было уверенности, что все окупится

Итак, в первое время мы разработали «2D» систему проводов, которые были плоскими. Я думал, плоская – это хорошо в плане того, что меньше полигонов и объем проводам можно картами нормалей придать (если потребуется). Ниже представлен первый вариант системы проводов:

TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост

Как работала система проводов:

  • имеется набор вложенных gameObjects – узлы проводов

  • родительский объект создает процедурный mesh с UV. Mesh и UV создаются в зависимости от позиции узлов проводов.

Система позволяла выполнять поставленные задачи:

  • отображала соединения объектов

  • относительно гибко настраивалась

  • генерируемый провод соответствовал первому минималистичному стилю

Меш провода генерировался процедурно по точкам. Здесь видно конечный результат (вариант провода №1):

Провод менял свою геометрию тогда, когда одна из точек меняла свою позицию. Провод мог гнуться на углы +/-90 градусов относительно родительского объекта. Еще одно видео:

Так планировалось прокладывать провод в уровне:

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

И вроде как все были довольны этой системой проводов, но…

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

TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост
TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост
TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост
TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост

У Совы, насколько мы знаем, брови изначально (наверно с рождения) повернуты под 90 градусов. А после всего того, что мы показали, они у нее просто вывернулись на все 360.

Провода нужно было переделывать.

Что не устроило Сову:

  • Обыденность и минималистичность: где-то она уже видела этот провод;

  • Скрытность: он плоский, сбоку его вообще не видно;

  • Повороты кратны 90 градусам: уровень будет иметь углы только кратные 90 градусам, это снижает возможности разработчика уровней до… лучше не думать, даже некоторые первые в мире игры имели стены, которые располагались под произвольными углами.

По проводу все осталось в общем по-старому, только в ТЗ добавилось 4 требования:

  • провод должен гнуться не только на 90 градусов;

  • провод должен быть объемным, так как плоский визуально сливается с полом;

  • текстура должна тайлиться, а не растягиваться;

  • уникальность проводу нужно придать моделью + материалом.

Пара слов о генерации меша

Хотелось бы чтобы статья содержала больше полезной информации чем просто результаты нашей работы.

Немного глубже затронем тему процедурной генерации мешей.

Что такое меш (mesh)?

Меш – это, условно, модель, которая крепится к компоненту «MeshFilter», который, в свою очередь, принадлежит «GameObject». MeshFilter берет меш из ассетов и передает его в MeshRenderer, последний участвует в рендере меша на экране.

Способы создания моделей для игр:

  • в редакторах моделей (например: Blender, Maya, 3ds Max и другие);

  • процедурно

  • можно редактировать существующий меш (в общем-то это процедурная генерация меша)

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

О том как создавать меши уже написано столько всего, что мне остается дать одну из ссылок на материалы и обьяснить, в общем виде, как все работает. Ссылка на то как сгенерировать меш в Unity3D: http://www.martin-ritter.com/2019/02/unity-simple-mesh-generation/

При создании меша, во-первых, относительно локального (0,0,0) создается геометрия. Геометрия – это набор вершин (точек), которые соединены между собой. Потом идет массив «triangles». Этот массив содержит порядок точек. Тут стоит совсем немного пояснить:

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

  • видеокарта может рисовать только несколько примитивов: точку, прямую и треугольник. Все остальное создается из примитивов.

Итак, этого в общем-то достаточно для рендера геометрии, но недостаточно для наложения текстур на геометрию. Для наложения текстур нужно создать массив UV – координат. Эти координаты показывают в какую область текстуры проецируется каждая вершина геометрии/модели. Обычно UV принимают значения из диапазона [0,1]. Где (0,0) – нижний левый угол текстуры, (1,1) – правый верхний. В некоторых случаях UV могут принимать значения больше 1 и меньше 0. Это зависит от задачи, которую поставили перед «shader-artist» и его конкретной реализации шейдера.

Кроме vertex и uv, меш может содержать и другие данные:
- uv2, uv3…, uv9 (не знаю чем определяется предел uv[i], наверно платформой)

  • tangents

  • normal

  • color

И да, чуть не забыл, нужно создать AABB. AABB – это axis-aligned bounding box. То есть это «коробка», которая позволяет движку быстро исключать игровые объекты из процесса отрисовки на основе попадания их AABB в область видимости камеры.

Зачем? Это сделано для того, чтобы быстро отбрасывать объекты, которые за спиной игрока, чтобы они даже не пытались подаваться на графический конвейер. Оптимизация! :)

Версия провода 2

В основу этой версии легли сплайновые кривые, а вернее, деформация модели вдоль сплайновой кривой. Что такое сплайн и как он работает? Это достаточно базовая математика, в сети есть даже готовые примеры проектов со сплайнами, детальный разбор того как все работает (не буду повторять то, что замечательно расписано здесь: catlikecoding.com), не будем на них останавливаться.

Вот как выглядит настройка провода:

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

TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост

Все провода имеют один общий материал, особенности всех проводов закодированы в вершинах мешей.

Здесь версия проводов ближе к финальной (на концах установлены вилки, заданы текстуры, доработаны модели):

TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост
TOTAL RELOAD : процедурная генерация проводов (часть 1) Gamedev, Unity, Инди игра, Разработка, Инди, Программирование, Видео, Без звука, Длиннопост

Ссылки на нас:
TORSHOCK.RU / VK / DTF / Twitter / FB

Показать полностью 8 5
Отличная работа, все прочитано!