DepraTeam

DepraTeam

Depra — маленькая, но упёртая инди-команда. Мы делаем игры, в которые сами хотели бы играть: с вызовом, свободой и настоящей физикой. Сейчас в разработке — Bleeding: динамичный шутер про силу, реакцию и контроль.
На Пикабу
100 рейтинг 0 подписчиков 3 подписки 3 поста 0 в горячем
3

Дневник разработки #3: как 3D отдел арену строил

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Я Саня. Я есть художка — Lead 3D.

Когда-нибудь, когда мне придётся объяснять громадному чат-боту ГПТ полицейскому, кто я, — уже есть ответ строкой выше.

В ушах мясной видос под названием Gydra LIVE @ Reactor Radio (15.03.2019). На столе кружка для пива, но в ней вода. Такие дела.

Готов повествовать о том, как мы не только арену рожали, но и стиль в целом. ИТААААК:


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

Кто-то даже стоял на нашем серве дискорда в позе коровы на берегу моря с замершим на лице вопросом: “почему?”

Но не я. Я понимал, что недостаток народа и комментов на новом канале - дело временное. И пользуясь своим чатом, который некогда собрался на костях вейп обзорщика, думал: “сейчас всю правду матку получу”. И получил:

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Но объективно — не было времени. Хотелось что-то показать.

Мы поспешили и показали сырую штуку. На тот момент мы были буквально: один проггер и два художника. Как поняли “коридорный арена шутер”, так и начали делать. И оно логично, что вышло комом. Вспомнил, что кстати геймдизайн тоже был. Но суть не в этом.

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

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

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

“Я определенно кто-то из этих двух”, — подумал я, и пошёл какать творить.


Имя Артас вам о чем-нибудь говорит? Говорят, что в день, когда он родился, сами леса Лордерона прошептали его имя.

Боже мой, сколько бессонных ночей мне подарил World of Warcraft Wrath of the Lich King. От самой первой локи, до тернистой долины. Через люли оппозитной фракции, когда от орков, когда от альянса (как будто никто дренеек не гонял, и на них тоже) до миров запределья и нордскола — все пахнет эпохальной любовью и знанием к делу.

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Я не из тех кому нравилось тусить в рейде, где за 25-ю иконками игроков и строчками урона на весь экран ничего не видно. Я ходил, блуждал, выполнял квесты, смотрел каждого моба, каждую травинку. Читал диалоги. И даже сопереживал. Потом, когда пошёл в армию, читал книжки с сослуживцем по лору, из которых (спустя 15 лет) ничего уже не вспомню.

Близзы тогда были ТРУ. Они смекнули, что ПБР текстурки не вытянет хиленький кампуктер Пети или Жона О”нилла, и пошли в Хэндпэинт. Возможно потому, что на тот момент нарисовать руками можно было лучше, чем в реалтайм ПБР. Другие времена были. Разрабы реально делом были заняты. Целые заводы по производству графики дымили с утра до ночи, а не как сейчас: нанимаем 10 маркетологов + одного хромого калеку с подпиской на ГПТ и умением кинуть лям поликов в анрил.

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

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

Но давайте вернемся из теплого пледа воспоминаний в реальность.

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

Что у нас есть современнее? Что-то такое, чтоб прям вау?

Батла? хе хе, да это шутер, но явно не олдскульный. Колда? Да я её не трогал со второго модерна. Что еще…квек чемпионс? Да! Я определенно фанат этой игры. И некоторые люди в нашей команде тоже.

Но вот незадача! Это всего лишь отцы жанра, id Software. Которые делали Вольфенштейн, Думчанского — как оригинального так и 2016-го, — и божественного Этернала. (Я до сих пор не понимаю, кто делал калл, который назвали Дарк Эйджс, но это рили дарк эйджс в хронологии дума. земля пухом, две строчки обзора считаю достаточным)

Сможем ли мы в полторы хромых калеки (по меркам id Software, без обид команда!) сделать так же круто? Уверен, что нет. Ну просто вот нет и всё.

Тут я понял, что очень долго какал. Встал и пошёл смотреть, что там есть у нас в реале.

И нечаянно, совершенно случайно, звезды сошлись так, что я уткнулся в круглые, мягкие сис*** (читай: великолепную грудь) Николь Демара из Zenless Zone Zero.

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Руки на стол, поясняю.

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

И вот захожу я как-то раз на артстейшн к знакомому товарищу “А”, который работает в рокстаре на покраске авто. Вижу, что у него есть тачка с ливреей этой игры. Ну если он решил это запечатлеть, то это явно что-то обязательное к ознакомлению. Скачал. Поиграл.

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

Я испытал ребяческий кайф от этой игры. Все такое новое, интересное, прикольное. Для человека, который в основном симуляторы гоняет на руле и кроме олдскульных шутанов ничего особо не смотрит — это был прям свежий глоток рисовой водки. (Кстати на вкус она — как тормозуха по замороженному лому спущенная, если кто не знал).

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

И тут мы снова возвращаемся за стол.

Смотрим.
“Арена-шутер”.
ААААААА, че делать то?

Погоди, брат, а что… если… мы просто возьмём обычную геометрию, покрасим её руками, то что получим? Халф-лайф? Да вроде нет, там хоть и руками красили, но всё же под ПБР пытались…

А мы именно каноничным (насколько сможем) хэндпэинтом пройдемся по полигонам невывернутым! Звучит?

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

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

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

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

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

Обсуждения были типо:

— “А я тут такой бегу, и отсюда сюда такой бам, прыг, тут даю по головам”
— “Не не не, вот отсюда сюда ток на распрыге, и то не факт”
— “Да я те базарю мост — концептуально! Нам нужен мост, разрушенный!”
— “Мост внутри помещения?”
— “Да! И поезд! И рельсы!”
— “Какой етить еще поезд?! Как он тут оказался?”
— “А он такой тип захвачен ГГ и несется пипец как, такой тудух тудух и не успевает тормозить и врезается в стену локации бааааааааааааах!”
— “Окей, допустим. А как так вышло, что в локацию можно заехать на поезде?”
— “А никак, там его быть не должно, просто он очень тяжелый и пробил стену, а должен был остановиться сильно раньше, в разгрузочном тоннеле”.

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

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

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост
Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

И в этот момент твой, то есть мой, микромозг говорит: “Ну все, готово! Достаточно. Мы круто поработали. Тут все идеально“.

Почему?  Потому что он в шоках сидит, и уже чует громадную тучу нависших задач.

Ведь все здесь, каждый чертов квад пропитан тем, что на нем что-то надо будет размещать, красить, и с нуля перерабатывать. А эта дура, щас гляну… 100 на 80 метров, если верить бледному.

Да, я работал не на одном большом проекте. Даже, может, на двух. Но обычно ты делаешь геометрию, развертку, текстуры ПБР — и погнал в Юнити ставить. Всё. А тут чего-то явно недостает в уравнении.

Ах да, тех самых стилизованных текстур, а-ля близзард (простите фаны). А это значит, что надо ручками рисовать и тайловые текстуры (повторяющиеся) типа пола, стен, бетона и что там еще нам может понадобиться. И куууучу мелочевки красить ручками — стаканы, коробки, ковры, стулья и т.д, и т.п.

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

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

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Ой! Один милашка выпал! Ты посмотри на него?! Какой вкусненький и приятненький ЭВМ “Василёк” для промышленных отделов.

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

Ходят слухи, что где-то по закрытым серверам дискорда Depra до сих пор ходит неприкаянный лид и объясняет всем новеньким и несогласным, как тру хэндпэинт делать. А если они спотыкаются, то он подбегает, отряхивает, ucupaint в карманы сует, да блендер обновить предлагает.

В общем и целом, как говорится, работа закипела.

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

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

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

В ход шло всё, что было под рукой. Помните Miro в какой-то момент лег наглухо?

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

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

То тут, то там вылетало редкое:

— “Саня, я стиль не чувствую!”
А ты такой:
— “Да потому, что тут его нет ***!!!”
И дорисовываешь.
— “У нас там две рельсы сверху, мы то ли лифт там хотели, то ли монорельс, надо что-то делать, пустовато!”

Тащите КРААААААААААААН!

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Кайф

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

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

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

Все просто:

  • смотришь на сцену

  • видишь что-то “плоское”

  • берешь, пережевываешь, рожаешь моделишь, красишь

  • любуешься.

Если это комната (а такие тоже есть) думаешь: “Хмм, а что могло бы быть в этой комнате. Условная проходная на эту самую арену?. А че бы и нет?!”

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Карандаши, плакаты, ручки, канцелярские ножи, коробки, бочки, ящики. Ничего нет АССетового!! Все своё, родное, на грядочках блендера родимого рощенное, и там же крашенное.

Громадный ядерный самовар в центре уровня, как арт-объект? Сюда! Подлецу все к лицу.

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

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

Дневник разработки #3: как 3D отдел арену строил Gamedev, Инди, 3D, Длиннопост

Собственно, так мы обрастали и опытом, и виженом, и командой. Где-то сценарист мимо пройдет, или же ГД отдел что-то подскажет.

Само собой все карты на стол вам тут никто не положит, бояре. Но я видел вопрос в комментах: ”покажите что-то”.

Вот показываем. 100% тру органик хэндпэинт.

И пусть тут нет ответов на вопросы по типу:

  • А каким файлообменником вы пользуетесь?

  • А насколько тайлов вы делили ювишки?

  • А как запекали?

  • А какой полигонаж у крана?

(Вы, кстати, всегда их можете задать в комментариях)

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

Если ты дочитал этот текст до конца — лови сердечко. Выходит, я не зря старался.

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

Как нас поддержать

Если вам заходит то, что мы делаем, вы сильно поможете проекту парой простых действий:

Спасибо, что вы с нами!

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

Дневник разработки #2: Секреты создания идеального уровня

Создание первого уровня

Привет! Меня зовут Денис, и я являюсь Lead Game Designer на проекте Bleeding. Последнее время я занимался левел-дизайном и подготавливал первый тестовый уровень для нашей игры. В этой серии дневников разработчика я бы хотел поделиться с вами процессом создания, советами и сложностями, с которыми столкнулся.

Метрики — То с чего начинается любой уровень

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

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

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

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

В нашем случае необходимо было утвердить базовые метрики, такие как:

  • Скорость передвижения

  • Прыжок

  • Размеры лестниц

  • Размеры дверей

  • Размеры коридоров

  • Размеры укрытий

  • Wall Run

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

На текущий момент наш уровень с метриками выглядит вот так:

Дневник разработки #2: Секреты создания идеального уровня Unity, Инди, Gamedev, Видео, YouTube, Короткие видео, Длиннопост, Левел дизайн

Будь изобретателен

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

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

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

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

Дневник разработки #2: Секреты создания идеального уровня Unity, Инди, Gamedev, Видео, YouTube, Короткие видео, Длиннопост, Левел дизайн

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

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

Дневник разработки #2: Секреты создания идеального уровня Unity, Инди, Gamedev, Видео, YouTube, Короткие видео, Длиннопост, Левел дизайн

Похожая история была с механикой WallRun. На входе у нас есть только “время бега по стене”. Оптимальную длину стенки для бега и расстояния, которое можно преодолеть нужно было вычислять вручную на специальной платформе.

Дневник разработки #2: Секреты создания идеального уровня Unity, Инди, Gamedev, Видео, YouTube, Короткие видео, Длиннопост, Левел дизайн

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

Выйди и зайди нормально

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

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

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

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

На фоне дверей есть коридоры, которые также значительно больше реальных прототипов, и зачастую они также увеличены в 2-3 раза.

Дневник разработки #2: Секреты создания идеального уровня Unity, Инди, Gamedev, Видео, YouTube, Короткие видео, Длиннопост, Левел дизайн

Также важно уметь “Выделить” дверь для игрока, особенно если мы хотим чтобы он в нее зашел.

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

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

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

Дневник разработки #2: Секреты создания идеального уровня Unity, Инди, Gamedev, Видео, YouTube, Короткие видео, Длиннопост, Левел дизайн

Да кто эти метрики ваши?

Подводя итог важно повторить.

  • Метрики крайне полезны и необходимы при разработке уровня и тестировании механик.

  • Уровень с метриками ваша “игровая” где вы проверяете свои идеи, а другие члены команды могут вживую пощупать как должен играться тот или иной элемент.

  • Без метрик можно собрать прототип уровня, но это займет гораздо больше времени.

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

  • Метрики это часть ГДД, но внутри движка, там наглядно отображено то, что вы описали на бумаге.

От идеи к полноценной схеме

Ну что, вот у нас уже есть какие-никакие метрики, достаточные для создания уровня.

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

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

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

Я начинал с базовых форм, которые в будущем превратятся в крупные комнаты/арены, а затем соединял их примитивными линиями, которые впоследствии переработаются в комнаты и коридоры.

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

Не стоит недооценивать этот этап, проще понять что вам не нравится уровень после пяти минут с карандашом, чем после целого дня блокинга.

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

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

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

И уже с такой относительно проработанной схемой мы можем пойти в редактор и начать собирать уровень.

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

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

Дневник разработки #2: Секреты создания идеального уровня Unity, Инди, Gamedev, Видео, YouTube, Короткие видео, Длиннопост, Левел дизайн

Превращаем схему в осязаемый уровень

И вот у нас на руках уже есть готовая схема, теперь можно смело запрыгивать в редактор.

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

Лично я пользуюсь плагином ProBuilder для Unity и набором текстур Gridbox Prototype Materials.

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

Подготовили инструменты и начинаем работу. Как это делаю я?

  • Закидываю нарисованную схему на уровень отдельным слоем

  • Подгоняю размерную сетку на схеме к оригинальным размерам в редакторе

  • Цепляю из уровня с метриками нужные мне элементы и откладываю в сторону для быстрого доступа

  • Постепенно начинаю воспроизводить элементы уровня в редакторе прямо на схеме – Для шаблонных элементов пользуюсь заготовками уровня с метриками

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

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

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

Проверяем и исправляем

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

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

Тестировать. Тестировать. И еще раз тестировать. Это залог того, что уровень будет понятен не только вам, но и игроку.

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

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

Но как же проводить тестирование?

Проводится оно в несколько этапов. Тестирование – Исправление – Тестирование (повторяйте до нужного результата)

“Тестирование” я провожу так:

  • Даю коллегам пройти уровень – Можно дать ему определенное задание, которое например было бы у реального игрока.

  • Молча наблюдаю за тем, как играет коллега и подмечаю как он себя ведет

    • Желательно записать на видео само прохождение.

    • На вопросы лучше не отвечать, у реального игрока за плечом разработчика не будет

  • После прохождения заваливаю коллегу вопросами

    • Почему ты пошел сюда, а не туда?

    • Понятно ли было куда идти?

    • Скучный или интересный был уровень?

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

Чем на большем количестве людей вы проверите уровень, тем лучше. Так вы сможете исключить вариант того, только один человек “Пошел не туда”, а это массовая проблема.

Но не перестарайтесь, нужно чтобы часть людей готовых тестировать остались на “новую итерацию”. Те кто уже играл знают уровень и уже не так объективно подойдут к тестированию.

По итогу тестирования вы поймете, как на уровне поведет себя игрок, который впервые на него попадет.

Я исправлюсь, честно

В моем случае вышло так, что 100% людей повернули во второстепенный коридор и просто пропустили основную арену и заблудились на уровне.

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

Исправив недочеты я снова отправился к остаткам команды с новой версией уровня.

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

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

И что по итогу?

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

Выходит так:

  • Мы закладываем фундамент нашего левел-дизайна еще на стадии метрик.

  • Укрепляем этот фундамент и создаем чертеж на стадии схемы

  • На стадии прототипирования мы закладываем основы дома и его внешний вид

  • А на стадии тестирования дорабатываем его напильником и исправляем кривую навигацию

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

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

Как нас поддержать

Если вам заходит то, что мы делаем, вы сильно поможете проекту парой простых действий:

Спасибо, что вы с нами!

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

Дневник разработки #1: Внедрение инверсивной кинематики

Приветствуем вас в первом дневнике разработки нашего FPS-шутера! Сегодня речь пойдет о том, как мы интегрировали инверсную кинематику (IK) для анимации рук и оружия. Этот этап оказался не только технически сложным, но и критически важным для создания глубокого погружения в игровой процесс.

Зачем нам IK?

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

Вызовы и решения

Подключение FPS Animation Framework к нашему ECS (Entity Component System) оказалось настоящим испытанием. Были моменты, когда казалось, что легче переписать весь код с нуля, чем пытаться интегрировать этот ассет. Самыми серьёзными вызовами были:

  • Настройка рига: Ассет требует специфического подхода к скелету персонажей. Нам пришлось перепроектировать существующий скелет, что потребовало значительных временных затрат. Дополнительно, мы столкнулись с проблемами при изменении иерархии внутри персонажа. Зачастую все приходилось настраивать поновой. Эту проблему нам ещё предстоит решить в будущем.

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

  • Интеграция с ECS: Связь между ассетом и нашим фреймворком потребовала разработки дополнительных систем для связи IK с миром ECS. Это оказалось непростой задачей из-за концептуальных различий между объектно-ориентированным подходом и нашей архитектурой, ориентированной на данные.

Результаты

Мы достигли значительного прогресса в улучшении реалистичности и отзывчивости анимаций. В частности, нам удалось:

  • Улучшили анимации прицеливания и выхода из прицела.

  • Сделали отдачу оружия более естественной и добавили тряску камеры.

  • Обеспечили более правдоподобное покачивание оружия при движении мышью.

  • Реализовали реалистичное раскачивание оружия во время движения.

  • Усовершенствовали анимации смены оружия.

Результат действительно впечатляет!🙂 Убедитесь сами:

Следующие шаги

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

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

Ваше мнение важно!

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

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

Как нас поддержать

Если вам заходит то, что мы делаем, вы сильно поможете проекту парой простых действий:

Спасибо, что вы с нами!

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