Друзья, всем огромный привет! Наконец-то выкроил время и вернулся к работе над своим основным проектом.
🚪 Система дверей
Эта фича вымотала меня больше всего. (Как говорится "дверь мне сделай")
Первый вариант был изначально плохим. Двери открывались через эвенты, которые присылались при приближении игрока. Работало через раз.
Второй вариант казался лучше: луч из тела героя проверяет объект перед ним. Но появилась проблема, что если перед игроком враг, дверь уже не открыть. То же происходило если он повернут в другую сторону.
В итоге выбрал простой и надёжный вариант: флаги.
Когда игрок входит в зону двери — она получает флаг “можно открыть”. Уходит — флаг снимается.
Всё управляется через систему и ECS фильтры, чисто и элегантно.
Плюс добавил таймер, чтобы двери автоматически закрывались через некоторое время.
🍺 Платформы, сквозь которые можно пройти
Те самые классические платформы: снизу запрыгнул, вниз нажал и провалился.
Сделал отдельную систему: она буквально на 0.2 фрейма отключает взаимодействие игрока с платформой. Хорошо, что Platform Effector имеет отличный фильтр работы со слоями идеально подошло для этой задачи.
🌄 Генерация заднего фона
Здесь мне так же пришлось помучаться. Немного поломав голову над тем, чтобы сделать все хорошо, я с нейросеткой вывел идеальный алгоритм: фон плавно спавнится и удаляется по мере продвижения игрока. Всё работает, выглядит красиво.
Правда, пока приходится вручную задавать размеры под разные варианты фонов. В будущем хочу полностью автоматизировать этот момент.
В прикреплённом видео можете посмотреть как работают все эти системы. Надеюсь вам было интересно 😑