Foxoed

Foxoed

Разраб на Unreal Engine 5. Пилю экшен адвенчуру от 3 лица Island of Ash. Есть в стиме.
Пикабушник
Дата рождения: 19 июня
344 рейтинг 5 подписчиков 0 подписок 6 постов 3 в горячем
Награды:
Пикабу 17 лет!
24

До/После - Как изменилась графика в моей игре за 2 года

В этой статье хочу рассказать как со временем разработки менялась графика в Island of Ash. Статья будет носить личный характер.

Так выглядела игра в 2024

Так выглядела игра в 2024

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

Зима 2024 - первые пробы

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

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

Лето 2025 - Стало получаться лучше

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

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

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

Зима 2026 - Это выглядело уже играбельно

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

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

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

Лето 2026 - как выглядит игра сейчас

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

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

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

Да, мне пришлось несколько раз всё переделать, ведь я хочу сделать хорошую и при этом оптимизированную картинку, но я не жалею. Игра стала выглядеть лучше, и я с уверенностью продолжаю делать её дальше, день за днем, по 50 часов еженедельно. Спасибо всем, кто дочитал! Поделюсь ссылками на свою игру.

Стим страница игры - https://store.steampowered.com/app/4270740/Island_Of_Ash/
Группа в телеге - https://t.me/islandofAsh
Группа в вк - https://vk.ru/island_of_ash

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

Сколько нужно потратить денег, чтобы сделать свою игру, 1 млн хватит?

Всем привет, сегодня решил разобрать интересную тему, сколько стоит соло-разработчику сделать игру. Я не говорю про всякие платформеры или игры типа 3 в ряд. Разберу на своем примере, а это экшен-рпг с видом от 3 лица часов на 15-20 геймплея.

На что не надо тратить деньги

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

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

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

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

Окружение и органика

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

Так как остров был занят одной цивилизацией до ее краха, то можно считать, что архитектура (стены, лестницы, башни и тд) и пропсы (бочки, столы, кружки и тп.) должны быть примерно одного типа, поэтому подойдут наборы окружения от одного художника/студии. Средняя цена на набор условно 100 американских тугриков ~ 8000 рублей. Чтобы покрыть архитектуру всей карты хватит примерно 15 наборов, это 120К. По неопытности я в начале пути (уже 2 года пилю) накупил разных наборов, и теперь они просто пылятся без использования.

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

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

Анимации, враги

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

Условно 5 паков по 5000 рублей, это еще 25К. Потом это все добро можно адаптировать и доработать, ведь например у скелета та же комбуха должна отличаться от каких-нибудь двуногих ящеров, ну и комбухи должны быть разные. Ну и типов ударов не 1-2, а 5-6 хотя бы для разнообразия. Тут уже работа с анимациями в движке, это я умею.

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

Также те же враги, где их брать? Ну есть какие-то бесплатно на том же фаб/скечфаб. Ну что-то пришлось купить. Условно 1 враг 3000 рублей. Купим 10 штук, это 30к. Плюс потом их разнообразим (аля ледяные волки, обычные волки и тп). Ну и плюс бесплатные, получится штук 30 врагов для игры, уже норм. Логику потом для каждого сделать это отдельный квест ))

Маркетинг и другое

Дальше это маркетинг, эта штука дорогая, поэтому я делаю своими силами. Ну получается в месяц добавлять по 1000 списков желаемого к игре примерно. Если бы закупал траф, то тратил бы на это тоже деньги. К релизу по любому придется тыщ на 50 рублей закупить, чтобы подогреть интерес, но в остальном для меня это ничего не стоит. За слот в стиме разве что заплатил 14К (через посредника), чтобы там можно было игру продавать. 100 баксов слот + комиссия. А то зарубежной карты у меня нет пока что.

Еще есть вода - глобальная система. Самому воду пилить это ухандокаться можно, поэтому пришлось купить - 20к. К тому же еще есть броня на игроке и некоторых мобах. Делать броню я не умею, да и сложно это + долго в соло, тоже купил. 30 к цена брони.

Итоги

Думаю можно подвести итоги и смету:

  • Модели и окружение - 120 тыс;

  • Анимации - 25 тыс;

  • Враги - 30 тыс.

  • Вода - 20 тыс;

  • Броня 30 тыс.

  • Слот в стим 14К.

В итоге получается 239 тыс. Если учитывать что я там еще по неопытности купил разного в начале, то где-то под 260-270к выходит. К релизу возможно еще что-то набежит, когда начну деньги в маркетинг вваливать, так что условный бюджет моей игры 350 тыс рублей. Получается, что 1 млн хватит с головой. Если бы мне платили за часы, условно 1000 руб в час, то можно было бы добавить еще ~3.5-4 млн )) Мечты.

Пользуясь случаем, поделюсь ссылками, чтобы вы наглядно могли увидеть, что можно сделать в соло за 2 года с таким бюджетом. А разрабатывать все это дело мне еще чуть больше года, как-то так. Если интересно - добавьте в желаемое, буду благодарен. Моя игра называется Island of Ash.

Стим страница игры - https://store.steampowered.com/app/4270740/Island_Of_Ash/
Группа в телеге - https://t.me/islandofAsh
Группа в вк - https://vk.ru/island_of_ash

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

Зачем я удалил наниты из своей экшен-рпг на Unreal Engine 5

Уже почти 2 года я делаю большую игру на анриле - Island of Ash. Влетел без опыта, знаний и тому подобного. Учился всему с нуля. Хочу рассказать свой опыт использования "прорывных" технологий от Unreal Engine 5, и как я на нём споткнулся.

Изначально я планировал построить свою игру на использовании всех этих технологий - Nanite, Lumen, VSM (виртуальные тени), RVT (виртуальные текстуры), megalight (оптимизация света). Я подумал, ну раз эпики предоставляют такую возможность, то почему бы и нет? Я заблуждался.

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

Nanite - оптимизация или лень разрабов?

Это технология, которая позволяет закидывать в движок геометрию с любым количеством полигонов. Можно 10К, и даже 100К, и даже 1000К (но не нужно, нужно равномерно). Анрил разделит всю эту движуху на кластеры по 128 шт и покажет только нужное, тем самым оптимизировав геометрию. Заменяют собой лоды и объекты могут иметь столько полигонов, сколько им нужно, чтобы сохранять детализацию без потери качества. Но у нанитов есть один минус, даже два.

Первый - это несет 2 дополнительные статьи расходов во время просчета кадра - Nanite Base Pass и Nanite Viz Buffer. Первый - это сложность просчета всех шейдеров, а второй - сложность перерисовки в кадре (типа когда много объектов нанитовых накладываются друг на друга и надо их посчитать для прохода, поэтому надо размещать равномерно). В итоге ты конечно можешь накидать 100500 бочек с 1 млн трианглов, но ты получишь +2-6 мс в кадре (общий бюджет 16.6 мс - это 60 фэпэс). Вот и считай, наниты сожрут 1/4 времени кадра примерно.

Да, это можно оптимизировать. Упростить шейдеры, уменьшить овердрав, врубить Frustum, ProgrammableRaster, уменьшить RootPages, врубить hzb и ид, не буду грузить вас этим, но все равно останется 1-3 мс. В итоге получаем что? Ну типа отдадим 10-15 фпс за то, что разрабу лень настроить лоды)) ок, думаю поняли.

Второй негативный след от нанитов - это потребление видеопамяти. У нанитов есть буфер и пул, которые требуют ресурсов. Это все конечно можно настроить, уменьшить буфер со стандартных 2 гигов до 512 мб например, но камон, а если лимит будет превышен, а у вас буфер занижен? Ну тогда привет статтеры. А если выпилить наниты, то и буфер никакой не нужен :)

А что с остальными технологиями?

В общем прикол с нанитами думаю понятен, а что Lumen? Он тоже жрет время кадра )) ну и видеопамять. Особенно если юзать его в хардварном режиме. Люмен я решил оставить, но выпилил наниты. Почему? Потому что я смог его засунуть в пайплайн так, чтобы он не жрал сильно много.

В итоге сегодня на моей видяхе 3060 ти игра в нагруженных сценах на высоких выдает стабильно выше 60-70, а то и 80-90 кадров и жрет не более 6 гигов видеопамяти. Люмен позволил мне не париться с запеканием света, что в соло для большого мира ад. Конечно, пришлось с ним повозиться, очень долго повозиться.

Как я его оптимизировал? Тут довольно много методов, например правильная установка DownsampleFactor и AllocationFraction позволили снизить общую нагрузку, а TracingOctahedronResolution упростил трассировку в софтварном режиме. Правильная установка MaxLumenMeshCards на мешах также снизила нагрузку на видеопамять и время в кадре. Ну и тд, методов много, просто надо не лениться. В итоге люмен жрет где-то 1/5 часть кадра, но я могу себе это позволить, так как вся геометрия в игре оптимизирована на данный момент.

При выключении нанитов мне также пришлось отказаться от виртуальных теней. Ну и в топку их, классические каскады отлично работают и приятны на глаз, к тому же понятно как их оптимизировать. Снизить разрешение, отключить все тени на не важных и дальних объектах - и получаем профит. VSM конечно тоже можно оптимизировать - поработать с клипмапом, снизить разрешение, Physical Page и тд и будет профит, но они лучше с нанитами работают. А нанитов нет. Так что в топку.

Виртуальные текстуры? Ну это полезно. В первую очередь для картинки - смешиваем объекты, чтобы не было резких стыков, ну и для ландшафта. Я полностью перевел его из BasePass в rvt и он не жрет теперь. А это колоссальная экономия, правда ценой около 512 мб видеопамяти, но допустимо.

Так что в итоге? А в итоге юзать технологии можно и нужно, но главное понимать как это делать и зачем тебе это надо.

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

Стим страница игры - https://store.steampowered.com/app/4270740/Island_Of_Ash/
Группа в телеге - https://t.me/islandofAsh
Группа в вк - https://vk.ru/island_of_ash

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

Реально ли в СОЛО сделать игру мечты?

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

А началось все ровно 2 года назад. У меня тогда был ютуб канал про игры и я пилил ролики типа ТОП 10/20 лучших/худших и т.п. И вот в один момент я наткнулся на Gedonia, которую сделал наш соотечественник Олег Казаков. Мне стало интересно, на что способен человек в соло. Потом подумал, а если он смог, почему я не смогу? Тем более давно хотел сделать что-то свое. С этого момента началось моё погружение в замечательный мир Unreal Engine 5 и создание своей экшен-рпг от 3 лица - Island of Ash.

Что надо чтобы сделать большую игру в соло?

Первое, что обязательно, это просто тонна свободного времени. К счастью, его у меня навалом в мои теперь уже 34. Не думайте, я не тунеядец! У меня и семья есть, и работа. Просто работу я оптимизировал и трачу не так много времени, к тому же она удаленная. Так что часов по 10 в день находить на игру могу спокойно.

Еще нужен технический склад ума. Мне повезло, в школе любил математику, но и творчеством никогда не пренебрегал. 10 лет занимался звукорежиссурой, писал музыку. Так что программированию обучался довольно быстро. В основном по гайдам на ютубе и официальной документации от Epic Games. А работу над визуалом черпал из гайдов 6/88 studio и других ютуберов, пока не научился всему сам.

А еще нужны деньги какие никакие. Моделить я особо не умею, поэтому приходится покупать ассеты, а они не дешевые. Я потратил уже более 250 тр на них. Если растянуть на 2 года, то получается приемлемо. Также спасибо некоторым подписчикам за то, что подарили мне свои модели и ассеты с FAB.

Начало пути и первые пробы

Как и у любого новичка, у меня стоял вопрос, что делать, как делать, куда тыкать и тп. До того как я начал делать свою игру у меня ушло где-то полгода чтобы разобраться. Ну и тут не обошлось без различных курьёз. Первый мой прототип был сделан по курсу с канала MakeYouGame. Там я прошел около 50 уроков и прохавал основы игростроя. Второй прототип с канала Gorka Games.

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

В итоге, мне было мало знаний, что дают эти курсы и я начал свой третий прототип по курсу Crystal Clear Game Studios, там 150 уроков. Я намеренно даю названия каналов, вдруг кто захочет повторить. В этом курсе получилось пройти около 120 уроков, и тогда я понял, что обладают начальным багажом знаний чтобы начать пилить что-то свое. Да кривое, да косое, но своё. Это был декабрь 2024. А еще тогда у меня полетел диск и все удалилось, что я делал, а бекапов не делал))

Начало своего проекта

Идея своей игры у меня вынашивалась довольно давно. Так уж сложилось, что я фанат Готики, Ведьмака, Дарк Соулс и Бога Войны. Я начал думать так, что не хочу тратить свое время на простые игры типа 3 в ряд, платформеров, хорроров и тп. Хочу сразу и большую игру.

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

  • Открытый мир. Сделать его еще куда не шло, но тут есть 2 момента, которые очень сложны в соло. 1 - это его наполнение. Бегать по пустому миру никому не интересно. 2 - оптимизация. С текущим багажом знаний 2 пункт я бы закрыл, но когда начинал, то не верил, что смогу сделать не лагающую игру в открытом мире. Поэтому выбрал структуру игры как во 2 ведьмаке - продвижение по полуоткрытым локациям.

  • Полноценные NPC. Когда я начинал метахуман еще так не был развит, и делать полноценных NPC для меня не представлялось возможным. А еще симулировать их расписание и тд и тп. Поэтому в моем лоре почти все NPC это духи (мир мертвый по сюжету). Дух просто спавниться и выдает задание или кусок лора, потом также растворяется. Это сильно облегчило задачу и сделало возможным создание цепочек квестов.

  • Полноценную диалоговую систему. Это когда NPC открывают рот, двигается камера и все такое, как в Ведьмаке или ремейке Готики например. Для меня это было сложно, поэтому я сделал диалоговую систему в стиле Divinity Original Sin, когда у тебя есть просто текст и варианты выбора.

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

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

  • Полноценная квестовая система. Какая РПГ без квестов? Вот тут также, я проработал уже 3 главы и добавил 17 квестов. Большинство из них нелинейные. Некоторые квесты можно начать разными путями, и закончить тоже по разному. Как раз этот момент будет основой для теста на плейтесте, что я проведу до конца лета.

  • Много разных врагов и боссов. На данный момент я уже запилил около 25 разных врагов. У них не 1-2 удара, а обычно 3-7, у боссов 7-15 атак. Скелеты умеют отрывать от себя кости и кидаться ими, людям можно отрубить голову, а маги это вообще серьезный вызов. Стараюсь делать интересно.

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

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

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

Так что в итоге

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

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

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

Стим страница игры - https://store.steampowered.com/app/4270740/Island_Of_Ash/
Группа в телеге - https://t.me/islandofAsh
Группа в вк - https://vk.ru/island_of_ash

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

История о том как я в соло тяну свою экшен-рпг, вдохновляясь Готикой

Где-то полгода назад я анонсировал свой проект Island of Ash. За это время время я уже успел провести плейтест игры, дать поиграть паре десятков стримеров, немного поседеть, допилить и перепилить все по 100 раз. В этой статье хочу рассказать про курьёзы, что возникали на этом пути, и обозначить, что будет дальше.

Занесло же меня на игропром этот...

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

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

Помню один из стримеров начал играть и пошел с самого начала "не туда", куда я задумывал. Я думал, что прикрыл все подобные возможности. Каково было мое удивление, когда он просто прошел по горам в другую часть карты, где даже уровень еще не прогрузился)) А другой чел просто сломал самого первого врага, приведя его туда, куда не надо было))

Когда решил позагорать на Эвересте

Когда решил позагорать на Эвересте

После таких курьез я понял, что надо мыслить более глобально, как игрок, который в первый раз играет в игру, но я так мыслить не умею. Че делать? Плейтест делать. Так и родилась идея о том, чтобы в мае провести первый плейтест игры человек так на 300. И провел...Кстати, на игропроме получил такие оценки, и это меня конечно замотивировало:

  • Лучший соло разработчик: 3 место 🥉

  • Выбор участников: 8 место

  • Лучший дебют: 9 место

  • Выбор игроков: 9 место

  • Самая ожидаемая игра: 13 место

  • Выбор стримеров: 13 место

  • Лучшая 3д графика: 16 место

  • Лучшая игра на ПК: 18 место

  • Лучший звук: 21 место

Как плейтест проводил

К моменту проведения плейтеста в мае в мою игру уже поиграло человек 30 на стримах и 10 с половиной корешей, и я в принципе знал, что править, какие косяки и тд. Правда баги и недоработки еще были, но я не мог больше откладывать, тем более народу пообещал в телеге и на ютубе, а на тот момент у меня было аж 2к подписчиков на ютубе и 300 в телеге.

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

Спустя несколько часов начали поступать первые отзывы в форму обратной связи. И они были...положительными, почти все. Выдохнул. Что критиковали? Ну в основном это касалось UI (ну я ваще не дизайнер), лагов при загрузке уровней (ну тут да косяк был), анимаций (терпеть их не могу, но хейта по ним мало было), графония (я в оптимизацию перетопил). Ну зато фпс у всех был высокий, даже на стим деке)))

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

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

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

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

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

Стим страница игры - https://store.steampowered.com/app/4270740/Island_Of_Ash/
Группа в телеге - https://t.me/islandofAsh
Группа в вк - https://vk.ru/island_of_ash

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

Почему игры лагают? Это глобальный сговор? Или лень разрабов?

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

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

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

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

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

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

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

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

Дальше идет постобработка, в народе называют Postprocess. Это размытие движения, цветокор, сглаживание, фулл скрин эффекты. Если вы рендерите в 4к, это ад и миллионы пикселей.

Почему лагает из-за видеокарты?

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

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

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

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

Что делает процессор

Процессор обрабатывает игрока (нажатия клавиш и тп), двигает весь мир - позиции объектов, анимации, скрипты, ии. Если в сцене у вас например 5 объектов, это легко. А если 500, то уже тяжело. Это база.

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

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

Также, что очень важно, процессор готовит кадр для видеокарты. Он решает какие объекты видны, сортирует их, создает драв колы и отправлет команды на видеокарту. И тут очень важная мысль. Если процессор не успевает - видеокарта просто ждёт в очереди.

Почему может лагать из-за процессора

Тут важно понять, что видяха считает пиксели, а проц - логику. Если проц не успел подготовить кадр, видеокарте считать нечего, а если видеокарта ничего не посчитала, кадр не выводится и начинаются лаги.

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

Разраб еще может нафигачить разрушаемости, но например вместо 50 частей бочки (которая рушится) сделать 500. Игрок сразу рушит 10 бочек, в итоге у него вместо 50 деталей - 5000. И все это просчитывается и получается пиковая нагрузка. А если еще и в одном кадре, то жопа.

Вывод

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

Чем больше объектов, света, прозрачности и деталей - тем тяжелее нагрузка. Если CPU или GPU перегружены, кадры считаются медленно, и игра тормозит. Оптимизация нужна одновременно для логики и графики, иначе даже мощная видеокарта не спасёт от лагов. И да. Виноваты разрабы.

Моя игра Island of Ash, стараюсь думать об оптимизации)))

Моя игра Island of Ash, стараюсь думать об оптимизации)))

Страница игры в Steam: Island of Ash

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

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества