Небо Воров / Sky of Bricks / Hyperion
Разработка LEGO симулятора сражений на воздушных кораблях на Unreal Engine 5, или до чего может довести удаление любимого режима
Привет. Не так уж и давно, одна из лучших по моему мнению кооперативных игр, а именно Sea of Thieves убрала отличный режим - арену. У данного режима была куча проблем, и собственно, официальное письмо Rare излагает причину довольно чётко. Тем не менее режим был отличным для двух категорий игроков:
- Товарищи, у которых не очень много времени и они хотят получить свою дозу экшона в максимально сжатые сроки
- Граждане, которые уже наприключались настолько, что прошли все квесты и просто хотят добротного PVP
Увы и ах, режим не вернуть. Но благодаря этому меня и осенила прекрасная идея:
- Делаем тоже самое
- Но лучше
- В Лего стиле
- По сети
- Чтобы кирпичики разлетались вуууууууу
- На Unreal Engine 5
Кстати пятая версия выбрана не случайно, всё дело в технологии Nanite, которая просто необходима при сотнях кирпичиков с тяжёлой сеткой.
Возникает вопрос: куча кирпичиков, у каждого своя физика, сколько фпс будет? 30?
Всё верно, гордые 30 фпс на системе с RTX 3070 (правда laptop) и Ryzen 5800H.
Тут суть в том, что в качестве боттлнека выступает ядро процессора, на котором всё вертится. Да, анрил очень умный, но всё же не достаточно, всё надо кропотливо прорабатывать... А ещё плюсы будь они не ладны, отличная вещь, но худший враг когда надо что-то быстро запрототипировать.
А по скольку свободного времени у меня осталась с натяжкой неделя, я придумал отличную отмазу: это блюз... Ой, то есть это стоп моушен... Нет, даже the stop - motion. Помните кукольные мультфильмы? Там всё так дёргается немного. Так вот это оно. Не баг а фича. Лего фильм в реал-тайме.
Предлагаю два видео
Это пока чего я достиг за месяц изучая Unreal с (почти) нуля:
На одном компе сложно показывать игру за двоих, увы.
Голосуйте сыграли ли бы вы, и если есть идеи, пишите названия для игры! Я пока ничего не придумал. И я планирую возможно написать подробнее, про технологии, которые используются, вроде тоё же сетевой интерполяции, если алгоритмы DTF будут милостивы.
Пчел, я давно жду чё-нить с летающими кораблями, ещё блять с Небес Аркадии некоторые фанаты пилили что-то подобное...
В общем, удачи, жду, куда донатить ток скажи
Есть Gun Of Icarus. Но не знаю, живой ли он.
Спасибо! Меня кстати вот тревожит вопрос, почему так мало игр в этом сеттинге, сколько же всего можно накрутить. И летучие острова, среди которых можно маневрировать, и облака, в которых можно скрываться. А ещё отличный отрыв для художников по освещению и дизайнеров вообще. Но свято место пусто не бывает ахахха, хотя мне прямо категорически не хватает навыков и учиться приходится на лету, но работаем. А игра планируется как open-source, что бы человека например 4 могли у себя на пк запустить сервер и друг с другом повоевать минут 5. На бОльшее я пока не расчитываю из-за нехватки времени
Да было уже всё. Если не помните или не знаете, ищите Аллоды. Они отдельно игру делали про полёты на кораблях.
Очевидно что денег с этого они получали мало и закрыли проект
Конечно *всё* было. Тут вопрос в процентном соотношении. Почему при мысли о летающих кораблях всплывает максимум игры 4, а при обычных - уже десятки? Причем коммерчески успешных. Я не верю, что сам сеттинг не прибыльный, просто его толком никто исследовать не хочет, лучше ремастеры ремастеров выпускать
Именно. Все идут по наименьшему сопротивлению. В любом случае,если будешь браться за подобное, желаю удачи
Спасибо 😊
Был такой Project nomads 2002 года
Он скорее Товер Дефенс )
Аллоды. Хехе ._.
Крутой прогресс за месяц! А что насчёт авторских прав? Лего любят судится за свои кирпичики)
Патент на кирпичики уже истек в США, Канаде и ряде других стран. Но конкретные стоит перепроверять.
Как написал товарищ Денис, патент действительно истёк, и никаких проблем с производством лего совместимых конструкторов, на сколько мне известно, нет. Но в любом случае проект некоммерческий, поэтому не страшно
Бои в воздухе - штука достаточно нишевая. Скорее всего остальной геймплей будет больше определять аудиторию, а воздушное пространство просто как часть сеттинга. Сам играл в Guns of Icarus Online - рекомендую глянуть его для референсов.
У инди две извечные проблемы: либо делают мега-проект, который не по силу даже многим крупным студиям, либо игру с основным режимом по сети. Обе статистически обречены на поражение.
Проблема сетевых игр в недостаточной аудитории. Все видят, как в ААА рубятся миллионы игроков с дневными онлайнами по 50-100к, но не видят сотен миллионов баксов, затраченных на их привлечение. Релиз игры, заходишь в лобби - и не можешь набрать 5 человек для запуска матча. Так они и умирают. "Но ведь Sea of Thieves!..." - лез из каждого утюга перед запуском. Там в разработку также вложили меньшую часть бюджета.
Далее - поддержка серверов, наполнение контентом. Крупные студии могут выпускать регулярно, инди - нет.
Я бы порекомендовал все-таки сделать ориентацию на PvE с полноценной историей, а уже в качестве бонуса - PvP. Потянешь ли - это уже другой вопрос. Если игрокам будет чем заняться в офлайне, какое-то количество для онлайна наскребется.
https://store.steampowered.com/app/209080/Guns_of_Icarus_Online/
Ещё была Worlds Adrift.
Спасибо за комментарий и референс! Я абсолютно согласен с вами насчёт двух проблем. Тут дело в том, что проект я делаю для души, он не коммерческий и таким не планировался) Поэтому я спокойно его пилю, и пока вижу две концепции развития:
1) Просто сделать сессионные битвы, человека на четыре, тоесть корабль на корабль. Зашёл в игру минут на 10, пострелял и вышел
2) Дейтсвительно запариться и сделать кооперативный сюжетный режим условно на часа 3, у меня уже есть наработки по сценарию, но это потребует ооооочень много времени, а у меня оно уже к концу подходит, дай бог смогу в первую сессию часа три в неделю уделять
В любом случае не страшно, выходить на рынок и не планировалось, это просто пет проджект для души и, мб, портфолио
Ну смотри. Обычно все равно разочарование наступает из-за того, что игра не популярна после релиза :)
Возможно попробовать хотя бы ботов добавить. Помогут в играх де факто 1 на 1 (когда в каждой команде 2й игрок - бот), и для stand in, когда игрок выходит посреди игровой сессии.
есть в данном жанре вроде как Guns of Iccarus Alliance, ток повреждения не по кирпичикам.
Выглядит в перспективе интересно, но мне кажется из-за лего сеттинга игра будет не особо популярна и интересна. Да и пилить ее до +-играбельного состояния еще очень долго...
Напомнило карту Pirates для Counter, где два корабля на воде стояли и также из пушек палили друг в друга и у кораблей части исчезали и игроки по обломкам должны были прыгать. Весело было.
на видео смотрю время записи 4 утра ) неплохо освоился за месяц!
Да, так и живём ахахахах
Напомнило старую игру на роблоксе
https://www.roblox.com/games/5310452/Galleons-v7-4
Идея классная! Но у нее очень высокая сложность реализации. В первую очередь из-за того, что Nanite должен использоваться для других задач. Например, для отображения в сцене большого количества статичных объектов с высокой полигонозацией. Это технология нужна только для уменьшения проблем с настройкой LOD'ов объектов.
Если модель корабля - это просто куча моделей кубиков, то физической симуляции полный пздц. Еще возникает лишняя нагрузка на сеть, потому что нужно синхронизировать положения всех кубиков между клиентами.
Один из вариантов оптимизации - генерация единого меша корабля. Тогда обработка разрушения будет заключаться в изменении его меша и спавна объектов-кубиков, которые были повреждены, чтобы отобразить их отделение.
Ну и 30 фпс на 5800h звучит как не очень играбельный вариант.
Ну это просто мои мысли) Сам сейчас делаю что-то типа Minecraft на UE5, хочу опробовать Lumen.
Успехов в разработке!!!
Спасибо, тоже желаю успехов в разработке! По нанинту: он мне нужен совсем не для отрисовки корабля, хотя он и рабоатет с подвижными компонентами static mesh, но его применение и вправду здесь мало применимо (ух сказанул то как). Нанит мне нужен для отрисовки массивных объектов типа летучих островов. На такой объект, который полностью состоит из лего кубиков может потребоваться пара десятков миллионов треугольников, а ещё я планирую делать облака тоже из кирпичиков. Для этого нужен нанит, но это пока на перспективу.
Насчёт физики - чистая правда, но я сейчас ввёл несколько оптимизаций, которые повысили фпс до 60 (упор по прежнему в cpu) - это переход на инстансы. Теперь каждый кирпичик у корабля не отдельный static mesh, а всего лишь instance, и по сути не является самостоятельным объектом. Когда ядро прилетает в корабль, оно получает все инстансы, получает их трансформы, потом их удаляет, создает полноценные static меши на их месте и включает им физику. Работает должен признаться уже не так эффектно, но прирост 100% коллосальный имхо. В итоге физика симулирует ровно то, что нужно, а именно 15 - 20 кирпичиков за выстрел.
В общем оптимизации вводятся, оптимизации пилятся, но 60 фпс конечно тоже не сахар. Работаем дальше
UPD: Соврал, если отрубить Lumen то будет ~80 кадров, когда добью сотню можно будет успокоиться
Интересно, но вот только не понятно почему Анрил и видюха? Такой графон плюс физику тянет телефон купленный за 10 тыс рублей, три года на зад.
Прикольно на самом деле, я так понимаю райзен с бОльшим количеством ядер тут будет актуальнее? или все же свои плюсы/минусы есть?