Skip to content

PodoltsevaOlga/NekkiTestProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

NekkiTestProject

Тестовое объемное, на текущий этап потрачено около 20 часов суммарно.

В общем система строится на том, что вместо монобехов-компонентов, я делаю более легковесную связку scriptableObject (для хранения настроек) + просто обычный класс. По идее для большинства компонент монобех просто переизбыточен, так как будет прорабатывать постоянно весь жизненный цикл. Поэтому бОльшая часть логики просто отделена от юнитевых функций. Это, однако, порождает проблему, где надо все-таки с юнити взаимодействовать (передвижение в апдейте, ловля коллизий и так далее) и приходится этой частью управлять околомануально. + по-хорошему, наверено компоненты не должны иметь возможность напрямую влиять на вью часть объектов (однако, на прошлой работе такое допускали для экономии времени и чтобы не переусложнять код еще больше).

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

За такое маленькое время сделать прям идеально не получилось, но результат в целом неплох, база построена. Но чтобы это был полноценный прототип, который не стыдно показывать всем на собеседованиях, я бы все-таки примерно рабочую неделю еще потратила. Из дальнейших шагов, которые бы делала. Контроллеры (они имеют привычку быстро разрастаться в количестве) сделать более аккуратными, собрать в единую фабрику какую-нибудь, уметь отключать ненужные (во умер игрок, отключили его управление временно, пока игру не перезапустили, а не так, что контроллер каждый кадр проверяет, жив ли игрок). В тестовом упоминались препятствия. Знаю, что нужен навмеш и все остальное. На прошлой работе в проекте использовали A*, который модифицировали под свои нужды. Мне понравилась в целом идея делать запрос на построение пути асинхронным, добавила бы сюда. Далее сейчас совсем нет возможности связаться с юаем, анимациями, звуками и так далее. Даже для показа здоровья просто прикрепила сбоку прокси, но так не делается, конечно. Мне нравится использовать ивентбас, в паре последних мини-проектов прикручивала MessagePipe, не так круто, как самописный, но зато из коробки удобный, что нужно сразу есть (только инъектировать нужно).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published