Почему с лестницами в играх творится такой треш? Это банальная халатность при тестировании взаимодействий с ними или есть какие-то сложности с технической стороны? Серьёзно. Иногда складывается ощущение, что механику создания лестниц освоил один единственный бухарик в Мухосранске и которому свои игры несут все разработчики будь-то пиксельный рогалик или ААА проект. И тот, состоя на 80% из спирта, расставляет в этих играх блядские и настахеревшие до глубины души лестницы.
100% это какая то скриптовая сценка спуска, которая считает количество пройденных проемов. Схему перебили на средине, призрак запустил ее по новой.
Банальный баг левел дизайнеров вот и все.
Разве это не ошибка тех, кто собственно реализовывал механизм лестниц? Просто я думал что левел дизайнеры делают именно дизайн уровня, а не программную часть.
Это не программная часть, а скрипт.
Есть разные дизайнеры. Некоторые делают геймплейную часть. Придумывают как левел должен выглядеть в общем и скриптуют игровые механики. Расставляют ботов и раскидывают лут по уровню. А есть дизайнеры которые потом по верх этого рисуют красивую геометрию и выставляют свет.
ну там есть такая штука, которая называется рейкаст, когда из точки запускается в нужном направении луч и пересекается с коллаидером пола)) так что где пол узнать несложно
для одного персонажа, спускающегося по лестнице мне кажется вполне приемлимо.
игра заточена под современные компьютеры же)
Такие вещи не делаются для одного сценария. Какой смысл затыкать одну дырку?
Если разработчики решают что для них важно отсутствие подобных багов, значит им нужно менять подход, менять архитектуру.
А делать костыль затыкающий один узкий не критичный баг -- зачем?
Не провалилась бы она под пол сейчас, провалилась бы в ящик через пять минут в другом месте. Всё костылями не заткнешь.
я согласен, но разговор шел именно про решение бага с лестницей. Но раз перешли на архитектуру проекта, я никогда не принимал учатия в разработке ААА проектов, но более чем уверен, что там тоже бывают подобные костыли)
ну onGround этож флаг просто, а чтобы узнать, что за объект пересекается с лучом надо вытянуть имя, тэг или слой для объекта)) в unity по крайней мере)
это если лестница ровно с одного этажа на другой )
а если сквозная через несколько этажей? или если лестница до пола не доходит Или ящик подставлен
Короче как основное условие проверка пересечения не подходит А про дополнительные как правило не вспоминают пока такие вот баги не полезут
что-то пошло не так и луч стал видимый. Будет выглядеть как свет из жопы. Мне кажется им было лень узнавать где пол, это же бот, он должен был спуститься. Похоже на ошибку тестирования.
там помимо рейкаста еще куча всяких невидимых штуковин, о которых знают только разработчики, куча костылей и т. д., но оно все равно не становится видимым, хоть как ни старайся))
Всегда известно где пол.
Просто тут явно ошибка в коде.
Зомби начинает спуск -> Зомби спускается -> Зомби достигает коллизии пола -> Зомби на земле -> Атаковать игрока.
Зомби начинает спуск -> Зомби спускается -> Спуск прерван ( нанесением урона ) -> Проверить где зомби -> Зомби на земле -> Атаковать игрока.
А по гифке примерное так
Зомби начинает спуск -> Зомби должен спуститься на -50 от текущий координаты -> Спуск прерван -> Повторить скрипт.
Т.е. проверки как таковой нет. Просто перезапуск скрипта.
Потому что если бы анимации делались скриптами, на них уходило бы раз в десять (ха-ха, или в сто) больше ресурсов. Большая часть анимаций "собирается" в редакторе из функциональных блоков, и вкрячивание туда чего-либо нестандартного может требовать больших усилий.
да, в худшем виде это может выглядеть чем-то вроде этого))
но есть root motion, для избежание обвешивания дополнительным кодом анимаций
Почему с лестницами в играх творится такой треш? Это банальная халатность при тестировании взаимодействий с ними или есть какие-то сложности с технической стороны?Потому что лестинцы тяжело делать, а генераторы пути на них тупят. Физика обычного моба прямоугльник, если у него прямоугольник он не может лезть по лестинце, на время спуска отключают прямоугольник допустим и включают другую форму типа сферы на спине только, затем когда моб спустился надо включить назад прямоугольник, тут и возникают проблемы, быстрел сбил моба на площадку, код разово отработал смену с круга на прямоугольник, затем она залезла назад и тут уже код сделанный без расчёта на двойное действие забыл ей физику для лестницы добавить и она как призрак пролезла вниз. Еще же анимации надо менять обычная и лестичная, короче лестницы это ипатня еще та.
Если делать физику всего тела, то таких 5 зомбов убъют нафик видеокарту и фпс в 0. Поэтому делают примитивами чаще, квадраты кружки и тд от чего возникают проблемы.
Я какой-то бред прочитал.
В чем проблема учесть координаты лестницы и моба, чтобы он не спускался ниже определенной точки по Х?
Моб->Двигается за целью->Цель ниже по X->Скрипт поиска лестницы->Спуск до X-n
И никто не делает код "без расчёта на двойное действие". Так вообще не пишут. Уж точно нет лимита срабатываний на подняться/спуститься с лестницы.
Просто достаточно посылать смену состояния "на лестнице\на земле" при помощи самой лестницы вверху и внизу по триггеру, который заставит переключаться моба и всё, никаких проблем, плюс доп триггер вдоль всей лестницы, который будет показывать направление движения\положение на лестнице.
Ну тут уже зависит от того, на сколько сильно разработчик хочет проработать этот момент. Можно просто выключать движение по лестнице (система триггеров лестницы как раз таки способствует большой масштабируемости проекта) и переключать на падение например, когда граната взорвалась (или если это не тупой зомби, то попытаться влезть наверх, до её взрыва)
То бишь, граната взорвалась рядом, получил урон
-умер, упал
-не умер, ранен, лезет дальше
Заметил бросок гранаты
- полез обратно вверх
- не дополз, умер, упал
- получил урон, ранен, начинает спускаться обратно
можно ещё много всего предусмотреть, это делается достаточно быстро и легко (даже я, не программист могу реализовать такую систему и она будет работать) зависит лишь от нужного результата.
Ммм хотя бы то, что высота считается по У а не Х :)Я какой-то бред прочитал.
В чем проблема учесть координаты лестницы и моба, чтобы он не спускался ниже определенной точки по Х?
Моб->Двигается за целью->Цель ниже по X->Скрипт поиска лестницы->Спуск до X-n
И никто не делает код "без расчёта на двойное действие". Так вообще не пишут. Уж точно нет лимита срабатываний на подняться/спуститься с лестницы.
Считать высоту вообще опасно это увеличение нагрузки, ведь каждую секунду должен идти просчёт высоты по отошению к другим объектам. Оптимальнее ставить точки или считать время, время ведь это одна кордината а растояние 3 только для одного объекта. Да и лестницы бывают разные для диагональной метод просчёта не очень подходит, может так получится что ваш моб на корячках полезет по диаганальной лестнице, если он только за высотой будет следить :)
Ну и кодеры они как художники для любой задачи есть 10 решений, какой кодер как видит так и делает.
Да и не факт что кодер делал, художники могут методом катсцен делать, анимашку сделали такую на момент слезания залезания, анимашка включается выключается.
высота считается по У а не Х
Зависит от движка и его системы координат.
В Source например - высота = Z
Чтобы такое доработать, надо такой баг обнаружить. Сложно исправить то чего не знаешь или то что почти никогда не воспроизводится
Покажите мне роглайк с ужасными лестницами. Мне прям интересно стало. Z-уровни в них самые качественные
Вот честно не знаю. По моему это косяк пираток.
И лично сталкивался с эпичными багами только один раз - когда играл в Сталкера. Все остальное было нормально.
Или я может недостаточно упорен в поисках.
Убиваю.
Пираты ломают код игры, когда взламывают защиту. И с игрой может произойти все, что угодно.
Кроме того там может сработать защита от пиратства, встроенная разработчиком. И игра может начать выделывать уж совсем лютые фотреля.
Вы правда этого не понимаете?
Быть может он ностальгирует по тем мохнатым годам, когда пираты пихали на один диск 400 игр и ради экономии веса стирали из игры не только музон/видео ролики но и прочий игровой контент, что порой вело к непредсказуемым казусам
Да это "ахиллесова пята" многих игр начиная от того же "Wolfenstein the new order" где (при определенных условиях) не лестнице можно было стать неуязвимым, Dying light в которой, из-за неправильного расчета высоты, с лестницы можно было спрыгивать хоть с небоскреба, и заканчивая Salt and sanctuary, где из-за уязвимостей анимации персонажа и механики лестниц можно проходить сквозь текстуры, летать и нелегально пропустить чуть ли не 90% игры.
Dying light в которой, из-за неправильного расчета высоты, с лестницы можно было спрыгивать хоть с небоскреба
не понял, можно подробнее?
Если спрыгнуть с самой лестницы вниз (не будет анимации залезания наверх и не будет анимации слезания вниз), то неважно какая высота под игроком - он не получит урона. По крайней мере так было в ранних версиях. А вот самая писечка в том, что на некоторых лестницах таким образом можно было лечиться. На лицо косяк с формулой расчета урона от падения.
Лига Геймеров
44.1K поста88.8K подписчиков
Правила сообщества
Ничто не истинно, все дозволено, кроме политоты, за нее пермач, идите на ютуб
Помни!
- Новостные/информационные публикации постим в pikabu GAMES
- Развлекательный контент в Лигу Геймеров
Нельзя:
Попрошайничать;
Рекламировать;
Оскорблять участников сообщества;
Нельзя оценивать Toki Tori ниже чем на 10 баллов из 10;
Выкладывать ваши кулвидосы с только что зареганных акков - пермач